1#ifndef ENTT_CORE_IDENT_HPP
2#define ENTT_CORE_IDENT_HPP
4#include "../stl/cstddef.hpp"
5#include "../stl/type_traits.hpp"
6#include "../stl/utility.hpp"
8#include "type_traits.hpp"
16template<
typename... Type>
18 template<
typename Curr, stl::size_t... Index>
19 [[nodiscard]]
static ENTT_CONSTEVAL
id_type get(stl::index_sequence<Index...>)
noexcept {
28 template<
typename Curr>
29 requires (stl::is_same_v<stl::remove_cvref_t<Curr>, Type> || ...)
30 static constexpr value_type value = get<stl::remove_cvref_t<Curr>>(stl::index_sequence_for<Type...>{});
Type integral identifiers.
id_type value_type
Unsigned integer type.
static constexpr value_type value
Statically generated unique identifier for the given type.
type_list_element< Index, List >::type type_list_element_t
Helper type.
constexpr get_t< Type... > get
Variable template for lists of observed elements.
stl::uint32_t id_type
Alias declaration for type identifiers.
A class to use to push around lists of types, nothing more.