#ifndef SPROUT_INDEX_TUPLE_UDL_HPP #define SPROUT_INDEX_TUPLE_UDL_HPP #include #include #if SPROUT_USE_USER_DEFINED_LITERALS #include #include namespace sprout { namespace detail { template struct digits_to_int; template struct digits_to_int : public std::integral_constant {}; template struct digits_to_int : public std::integral_constant::value> {}; } // namespace detail // // indexes_result // template struct indexes_result : public sprout::make_index_tuple::value> {}; // // uindexes_result // template struct uindexes_result : public sprout::make_uindex_tuple::value> {}; namespace udl { // // _indexes // template SPROUT_CONSTEXPR typename sprout::indexes_result::type operator "" _indexes() { return sprout::indexes_result::make(); } // // _uindexes // template SPROUT_CONSTEXPR typename sprout::uindexes_result::type operator "" _uindexes() { return sprout::uindexes_result::make(); } } // namespace udl using sprout::udl::operator "" _indexes; using sprout::udl::operator "" _uindexes; } // namespace sprout #endif // #if SPROUT_USE_USER_DEFINED_LITERALS #endif // #ifndef SPROUT_INDEX_TUPLE_UDL_HPP