#ifndef EINA_CXX_EINA_INTEGER_SEQUENCE_HH #define EINA_CXX_EINA_INTEGER_SEQUENCE_HH namespace efl { namespace eina { template struct integer_sequence { typedef T value_type; static constexpr std::size_t size() { return sizeof...(Ints); } typedef integer_sequence type; }; template struct concat; template struct concat, integer_sequence > : integer_sequence {}; template using Concat = typename concat::type; template struct gen_seq; template using make_integer_sequence = typename gen_seq::type; template struct gen_seq : Concat , make_integer_sequence>{}; template<> struct gen_seq : integer_sequence{}; template<> struct gen_seq : integer_sequence{}; template using index_sequence = integer_sequence; template using make_index_sequence = make_integer_sequence; } } #endif