#ifndef ENTT_IDENT_HPP #define ENTT_IDENT_HPP #include #include #include namespace entt { namespace details { template struct Wrapper { using type = Type; constexpr Wrapper(std::size_t index): index{index} {} const std::size_t index; }; template struct Identifier final: Wrapper... { template constexpr Identifier(std::index_sequence): Wrapper{Indexes}... {} template constexpr std::size_t get() const { return Wrapper>::index; } }; } template constexpr auto ident = details::Identifier...>{std::make_index_sequence{}}; } #endif // ENTT_IDENT_HPP