/*============================================================================= Copyright (c) 2011-2014 Bolero MURAKAMI https://github.com/bolero-MURAKAMI/Sprout Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) =============================================================================*/ #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