#ifndef SPROUT_INDEX_TUPLE_INDEX_TUPLE_HPP #define SPROUT_INDEX_TUPLE_INDEX_TUPLE_HPP #include #include #include namespace sprout { // // index_tuple // uindex_tuple // #if SPROUT_USE_TEMPLATE_ALIASES template using index_tuple = sprout::integer_sequence; template using uindex_tuple = sprout::integer_sequence; #else // #if SPROUT_USE_TEMPLATE_ALIASES template struct index_tuple : public sprout::integer_sequence { public: typedef index_tuple type; template struct rebind : public index_tuple {}; public: static SPROUT_CONSTEXPR type make() SPROUT_NOEXCEPT { return type(); } }; template struct uindex_tuple : public sprout::integer_sequence { public: typedef uindex_tuple type; template struct rebind : public uindex_tuple {}; public: static SPROUT_CONSTEXPR type make() SPROUT_NOEXCEPT { return type(); } }; #endif // #if SPROUT_USE_TEMPLATE_ALIASES } // namespace sprout #endif // #ifndef SPROUT_INDEX_TUPLE_INDEX_TUPLE_HPP