EnTT  3.7.0
Classes | Typedefs | Enumerations | Functions | Variables
entt Namespace Reference

EnTT default namespace. More...

Classes

struct  adl_meta_pointer_like
 Fake ADL based lookup function for meta pointer-like types. More...
 
struct  as_cref_t
 Empty class type used to request the as cref policy. More...
 
struct  as_group
 Converts a registry to a group. More...
 
struct  as_is_t
 Empty class type used to request the as-is policy. More...
 
struct  as_ref_t
 Empty class type used to request the as ref policy. More...
 
struct  as_view
 Converts a registry to a view. More...
 
struct  as_void_t
 Empty class type used to request the as void policy. More...
 
class  basic_any
 A SBO friendly, type-safe container for single values of any type. More...
 
struct  basic_associative_container
 Basic STL-compatible associative container traits. More...
 
struct  basic_collector
 Collector. More...
 
struct  basic_collector< matcher< type_list< Reject... >, type_list< Require... >, Rule... >, Other... >
 Collector. More...
 
struct  basic_collector<>
 Collector. More...
 
struct  basic_container
 Basic STL-compatible container traits. More...
 
class  basic_continuous_loader
 Utility class for continuous loading. More...
 
struct  basic_dynamic_associative_container
 Basic STL-compatible dynamic associative container traits. More...
 
struct  basic_dynamic_container
 Basic STL-compatible dynamic container traits. More...
 
class  basic_group
 Group. More...
 
class  basic_group< Entity, exclude_t< Exclude... >, get_t< Get... > >
 Non-owning group. More...
 
class  basic_group< Entity, exclude_t< Exclude... >, get_t< Get... >, Owned... >
 Owning group. More...
 
struct  basic_handle
 Non-owning handle to an entity. More...
 
class  basic_hashed_string
 Zero overhead unique identifier. More...
 
class  basic_observer
 Observer. More...
 
class  basic_organizer
 Utility class for creating a static task graph. More...
 
class  basic_poly
 Static polymorphism made simple and within everyone's reach. More...
 
class  basic_registry
 Fast and reliable entity-component system. More...
 
class  basic_runtime_view
 Runtime view. More...
 
struct  basic_sequence_container
 Basic STL-compatible sequence container traits. More...
 
class  basic_snapshot
 Utility class to create snapshots from a registry. More...
 
class  basic_snapshot_loader
 Utility class to restore a snapshot as a whole. More...
 
class  basic_sparse_set
 Basic sparse set implementation. More...
 
class  basic_storage
 Basic storage implementation. More...
 
class  basic_storage< Entity, Type, std::enable_if_t< is_empty_v< Type > > >
 Basic storage implementation. More...
 
class  basic_view
 View. More...
 
class  basic_view< Entity, exclude_t< Exclude... >, Component... >
 Multi component view. More...
 
class  basic_view< Entity, exclude_t<>, Component >
 Single component view specialization. More...
 
struct  choice_t
 Utility class to disambiguate overloaded functions. More...
 
struct  choice_t< 0 >
 Utility class to disambiguate overloaded functions. More...
 
struct  connect_arg_t
 Used to wrap a function or a member of a specified type. More...
 
class  connection
 Connection class. More...
 
struct  constness_as
 Transcribes the constness of a type to another type. More...
 
struct  constness_as< To, const From >
 Transcribes the constness of a type to another type. More...
 
class  delegate
 Basic delegate implementation. More...
 
class  delegate< Ret(Args...)>
 Utility class to use to send around functions and members. More...
 
class  dispatcher
 Basic dispatcher implementation. More...
 
struct  dynamic_associative_key_only_container
 STL-compatible dynamic associative key-only container traits. More...
 
struct  dynamic_associative_key_value_container
 STL-compatible dynamic key-value associative container traits. More...
 
struct  dynamic_sequence_container
 STL-compatible dynamic sequence container traits. More...
 
class  emitter
 General purpose event emitter. More...
 
struct  entt_traits
 Entity traits. More...
 
struct  entt_traits< std::uint32_t >
 Entity traits for a 32 bits entity identifier. More...
 
struct  entt_traits< std::uint64_t >
 Entity traits for a 64 bits entity identifier. More...
 
struct  entt_traits< Type, std::enable_if_t< std::is_enum_v< Type > > >
 Entity traits for enumeration types. More...
 
struct  exclude_t
 Alias for exclusion lists. More...
 
class  family
 Dynamic identifier generator. More...
 
struct  fixed_sequence_container
 STL-compatible fixed sequence container traits. More...
 
struct  get_t
 Alias for lists of observed components. More...
 
class  identifier
 Types identifiers. More...
 
struct  identity
 Identity function object (waiting for C++20). More...
 
struct  insertion_sort
 Function object for performing insertion sort. More...
 
struct  is_applicable
 Same as std::is_invocable, but with tuples. More...
 
struct  is_applicable< Func, const Tuple< Args... > >
 Same as std::is_invocable, but with tuples. More...
 
struct  is_applicable< Func, Tuple< Args... > >
 Same as std::is_invocable, but with tuples. More...
 
struct  is_applicable_r
 Same as std::is_invocable_r, but with tuples for arguments. More...
 
struct  is_applicable_r< Ret, Func, std::tuple< Args... > >
 Same as std::is_invocable_r, but with tuples for arguments. More...
 
struct  is_complete
 Provides the member constant value to true if a given type is complete, false otherwise. More...
 
struct  is_complete< Type, std::void_t< decltype(sizeof(Type))> >
 Provides the member constant value to true if a given type is complete, false otherwise. More...
 
struct  is_empty
 Provides the member constant value to true if a given type is empty and the empty type optimization is enabled, false otherwise. More...
 
struct  is_equality_comparable
 Provides the member constant value to true if a given type is equality comparable, false otherwise. More...
 
struct  is_key_only_meta_associative_container
 Provides the member constant value to true if a meta associative container claims to wrap a key-only type, false otherwise. More...
 
struct  is_key_only_meta_associative_container< Type, std::void_t< typename meta_associative_container_traits< Type >::type::mapped_type > >
 Provides the member constant value to true if a meta associative container claims to wrap a key-only type, false otherwise. More...
 
struct  is_meta_pointer_like
 Provides the member constant value to true if a given type is a pointer-like type from the point of view of the meta system, false otherwise. More...
 
struct  is_meta_pointer_like< const Type >
 Partial specialization to ensure that const pointer-like types are also accepted. More...
 
struct  is_meta_pointer_like< std::shared_ptr< Type > >
 Makes std::shared_ptrs of any type pointer-like types for the meta system. More...
 
struct  is_meta_pointer_like< std::unique_ptr< Type, Args... > >
 Makes std::unique_ptrs of any type pointer-like types for the meta system. More...
 
struct  is_meta_pointer_like< Type * >
 Makes plain pointers pointer-like types for the meta system. More...
 
struct  is_std_hashable
 Provides the member constant value to true if a given type is hashable, false otherwise. More...
 
struct  is_std_hashable< Type, std::enable_if_t< std::is_convertible_v< decltype(std::declval< std::hash< Type >>()(std::declval< Type >())), std::size_t > > >
 Provides the member constant value to true if a given type is hashable, false otherwise. More...
 
struct  matcher
 Grouping matcher. More...
 
class  member_class
 Extracts the class of a non-static member object or function. More...
 
class  meta_any
 Opaque wrapper for values of any type. More...
 
class  meta_associative_container
 Proxy object for associative containers. More...
 
struct  meta_associative_container_traits
 Traits class template to be specialized to enable support for meta associative containers. More...
 
struct  meta_associative_container_traits< std::map< Key, Value, Args... > >
 Meta associative container traits for std::maps of any type. More...
 
struct  meta_associative_container_traits< std::set< Key, Args... > >
 Meta associative container traits for std::sets of any type. More...
 
struct  meta_associative_container_traits< std::unordered_map< Key, Value, Args... > >
 Meta associative container traits for std::unordered_maps of any type. More...
 
struct  meta_associative_container_traits< std::unordered_set< Key, Args... > >
 Meta associative container traits for std::unordered_sets of any type. More...
 
struct  meta_class_template_tag
 Utility class to disambiguate class templates. More...
 
struct  meta_container_traits
 Container traits. More...
 
struct  meta_ctor
 Opaque wrapper for constructors. More...
 
struct  meta_ctx
 Opaque container for a meta context. More...
 
struct  meta_data
 Opaque wrapper for data members. More...
 
struct  meta_factory
 Meta factory to be used for reflection purposes. More...
 
struct  meta_factory< Type >
 Basic meta factory to be used for reflection purposes. More...
 
struct  meta_factory< Type, Spec... >
 Extended meta factory to be used for reflection purposes. More...
 
struct  meta_func
 Opaque wrapper for member functions. More...
 
struct  meta_function_descriptor
 Primary template isn't defined on purpose. More...
 
struct  meta_function_descriptor< Type, Ret(*)(Args...)>
 Meta function descriptor. More...
 
struct  meta_function_descriptor< Type, Ret(Class::*)(Args...) const >
 Meta function descriptor. More...
 
struct  meta_function_descriptor< Type, Ret(Class::*)(Args...)>
 Meta function descriptor. More...
 
class  meta_function_helper
 Meta function helper. More...
 
struct  meta_handle
 Opaque pointers to instances of any type. More...
 
struct  meta_prop
 Opaque wrapper for properties of any type. More...
 
class  meta_range
 Iterable range to use to iterate all types of meta objects. More...
 
class  meta_sequence_container
 Proxy object for sequence containers. More...
 
struct  meta_sequence_container_traits
 Traits class template to be specialized to enable support for meta sequence containers. More...
 
struct  meta_sequence_container_traits< std::array< Type, N > >
 Meta sequence container traits for std::arrays of any type. More...
 
struct  meta_sequence_container_traits< std::vector< Type, Args... > >
 Meta sequence container traits for std::vectors of any type. More...
 
struct  meta_template_traits
 Traits class template to be specialized to enable support for meta template information. More...
 
struct  meta_template_traits< Clazz< Args... > >
 General purpose traits class for generating meta template information. More...
 
class  meta_type
 Opaque wrapper for types. More...
 
struct  monostate
 Minimal implementation of the monostate pattern. More...
 
struct  null_t
 Null object for all entity identifiers.
More...
 
struct  overloaded
 Helper type for visitors. More...
 
struct  poly_base
 Poly base class used to inject functionalities into concepts. More...
 
struct  poly_inspector
 Inspector class used to infer the type of the virtual table. More...
 
struct  poly_storage_traits
 Defines the poly storage type associate with a given entity type. More...
 
class  poly_vtable
 Static virtual table factory. More...
 
class  process
 Base class for processes. More...
 
struct  process_adaptor
 Adaptor for lambdas and functors to turn them into processes. More...
 
struct  radix_sort
 Function object for performing LSD radix sort. More...
 
struct  resource_cache
 Simple cache for resources of a given type. More...
 
struct  resource_handle
 Shared resource handle. More...
 
class  resource_loader
 Base class for resource loaders. More...
 
class  scheduler
 Cooperative scheduler for processes. More...
 
struct  scoped_connection
 Scoped connection class. More...
 
struct  service_locator
 Service locator, nothing more. More...
 
class  sigh
 Unmanaged signal handler. More...
 
class  sigh< Ret(Args...)>
 Unmanaged signal handler. More...
 
class  sigh_storage_mixin
 Mixin type to use to add signal support to storage types. More...
 
class  sink
 Sink class. More...
 
class  sink< Ret(Args...)>
 Sink class. More...
 
struct  size_of
 A type-only sizeof wrapper that returns 0 where sizeof complains. More...
 
struct  size_of< Type, std::void_t< decltype(sizeof(Type))> >
 A type-only sizeof wrapper that returns 0 where sizeof complains. More...
 
struct  std_sort
 Function object to wrap std::sort in a class type. More...
 
struct  Storage
 Basic poly storage implementation. More...
 
struct  storage_adapter_mixin
 Mixin type to use to wrap basic storage classes. More...
 
struct  storage_traits
 Defines the component-to-storage conversion. More...
 
struct  type_hash
 Type hash. More...
 
struct  type_identity
 Identity type trait. More...
 
class  type_info
 Implementation specific information about a type. More...
 
struct  type_list
 A class to use to push around lists of types, nothing more. More...
 
struct  type_list_cat
 Primary template isn't defined on purpose. More...
 
struct  type_list_cat< type_list< Type... > >
 Concatenates multiple type lists. More...
 
struct  type_list_cat< type_list< Type... >, type_list< Other... >, List... >
 Concatenates multiple type lists. More...
 
struct  type_list_cat<>
 Concatenates multiple type lists. More...
 
struct  type_list_contains
 Provides the member constant value to true if a type list contains a given type, false otherwise. More...
 
struct  type_list_contains< type_list< Type... >, Other >
 Provides the member constant value to true if a type list contains a given type, false otherwise. More...
 
struct  type_list_diff
 Primary template isn't defined on purpose. More...
 
struct  type_list_diff< type_list< Type... >, type_list< Other... > >
 Computes the difference between two type lists. More...
 
struct  type_list_element
 Primary template isn't defined on purpose. More...
 
struct  type_list_element< 0u, type_list< Type, Other... > >
 Provides compile-time indexed access to the types of a type list. More...
 
struct  type_list_element< Index, type_list< Type, Other... > >
 Provides compile-time indexed access to the types of a type list. More...
 
struct  type_list_unique
 Primary template isn't defined on purpose. More...
 
struct  type_list_unique< type_list< Type, Other... > >
 Removes duplicates types from a type list. More...
 
struct  type_list_unique< type_list<> >
 Removes duplicates types from a type list. More...
 
struct  type_name
 Type name. More...
 
struct  type_seq
 Type sequential identifier. More...
 
struct  value_list
 A class to use to push around lists of constant values, nothing more. More...
 
struct  value_list_cat
 Primary template isn't defined on purpose. More...
 
struct  value_list_cat< value_list< Value... > >
 Concatenates multiple value lists. More...
 
struct  value_list_cat< value_list< Value... >, value_list< Other... >, List... >
 Concatenates multiple value lists. More...
 
struct  value_list_cat<>
 Concatenates multiple value lists. More...
 
struct  value_list_element
 Primary template isn't defined on purpose. More...
 
struct  value_list_element< 0u, value_list< Value, Other... > >
 Provides compile-time indexed access to the types of a type list. More...
 
struct  value_list_element< Index, value_list< Value, Other... > >
 Provides compile-time indexed access to the values of a value list. More...
 
struct  y_combinator
 Basic implementation of a y-combinator. More...
 

Typedefs

using id_type = std::uint32_t
 Alias declaration for type identifiers.
 
using any = basic_any< sizeof(double[2])>
 Alias declaration for the most common use case.
 
using hashed_string = basic_hashed_string< char >
 Aliases for common character types.
 
using hashed_wstring = basic_hashed_string< wchar_t >
 Aliases for common character types.
 
template<typename Type >
using type_identity_t = typename type_identity< Type >::type
 Helper type. More...
 
template<typename Type , typename >
using unpack_as_t = Type
 Using declaration to be used to repeat the same type a number of times equal to the size of a given parameter pack. More...
 
template<auto Value>
using integral_constant = std::integral_constant< decltype(Value), Value >
 Wraps a static constant. More...
 
template<id_type Value>
using tag = integral_constant< Value >
 Alias template to facilitate the creation of named values. More...
 
template<std::size_t Index, typename List >
using type_list_element_t = typename type_list_element< Index, List >::type
 Helper type. More...
 
template<typename... List>
using type_list_cat_t = typename type_list_cat< List... >::type
 Helper type. More...
 
template<typename Type >
using type_list_unique_t = typename type_list_unique< Type >::type
 Helper type. More...
 
template<typename... List>
using type_list_diff_t = typename type_list_diff< List... >::type
 Helper type. More...
 
template<typename... List>
using value_list_cat_t = typename value_list_cat< List... >::type
 Helper type. More...
 
template<typename To , typename From >
using constness_as_t = typename constness_as< To, From >::type
 Alias template to facilitate the transcription of the constness. More...
 
template<typename Member >
using member_class_t = typename member_class< Member >::type
 Helper type. More...
 
using sparse_set = basic_sparse_set< entity >
 Alias declaration for the most common use case.
 
template<typename... Args>
using storage = basic_storage< entity, Args... >
 Alias declaration for the most common use case. More...
 
using registry = basic_registry< entity >
 Alias declaration for the most common use case.
 
using observer = basic_observer< entity >
 Alias declaration for the most common use case.
 
using organizer = basic_organizer< entity >
 Alias declaration for the most common use case.
 
using handle = basic_handle< entity >
 Alias declaration for the most common use case.
 
using const_handle = basic_handle< const entity >
 Alias declaration for the most common use case.
 
template<typename... Args>
using handle_view = basic_handle< entity, Args... >
 Alias declaration for the most common use case. More...
 
template<typename... Args>
using const_handle_view = basic_handle< const entity, Args... >
 Alias declaration for the most common use case. More...
 
using snapshot = basic_snapshot< entity >
 Alias declaration for the most common use case.
 
using snapshot_loader = basic_snapshot_loader< entity >
 Alias declaration for the most common use case.
 
using continuous_loader = basic_continuous_loader< entity >
 Alias declaration for the most common use case.
 
template<typename... Args>
using view = basic_view< entity, Args... >
 Alias declaration for the most common use case. More...
 
using runtime_view = basic_runtime_view< entity >
 Alias declaration for the most common use case.
 
template<typename... Args>
using group = basic_group< entity, Args... >
 Alias declaration for the most common use case. More...
 
template<typename Type , typename Candidate >
using meta_function_helper_t = typename meta_function_helper< Type, Candidate >::type
 Helper type. More...
 
template<typename Concept >
using poly = basic_poly< Concept, sizeof(double[2])>
 Alias declaration for the most common use case. More...
 

Enumerations

enum  entity : id_type
 Default entity identifier.
 

Functions

template<std::size_t Len, std::size_t Align>
bool operator!= (const basic_any< Len, Align > &lhs, const basic_any< Len, Align > &rhs) noexcept
 Checks if two wrappers differ in their content. More...
 
template<typename Type , std::size_t Len, std::size_t Align>
Type any_cast (const basic_any< Len, Align > &data) noexcept
 Performs type-safe access to the contained object. More...
 
template<typename Type , std::size_t Len, std::size_t Align>
Type any_cast (basic_any< Len, Align > &data) noexcept
 Performs type-safe access to the contained object. More...
 
template<typename Type , std::size_t Len, std::size_t Align>
Type any_cast (basic_any< Len, Align > &&data) noexcept
 Performs type-safe access to the contained object. More...
 
template<typename Type , std::size_t Len, std::size_t Align>
const Type * any_cast (const basic_any< Len, Align > *data) noexcept
 Performs type-safe access to the contained object. More...
 
template<typename Type , std::size_t Len, std::size_t Align>
Type * any_cast (basic_any< Len, Align > *data) noexcept
 Performs type-safe access to the contained object. More...
 
template<typename Char , std::size_t N>
 basic_hashed_string (const Char(&str)[N]) noexcept -> basic_hashed_string< Char >
 Deduction guide. More...
 
template<typename Char >
constexpr bool operator!= (const basic_hashed_string< Char > &lhs, const basic_hashed_string< Char > &rhs) noexcept
 Compares two hashed strings. More...
 
constexpr entt::hashed_string operator""_hs (const char *str, std::size_t) noexcept
 User defined literal for hashed strings. More...
 
constexpr entt::hashed_wstring operator""_hws (const wchar_t *str, std::size_t) noexcept
 User defined literal for hashed wstrings. More...
 
bool operator!= (const type_info &lhs, const type_info &rhs) noexcept
 Compares the contents of two type info objects. More...
 
template<typename Type >
type_info type_id () noexcept
 Returns the type info object for a given type. More...
 
template<typename... Type, typename... Other>
constexpr type_list< Type..., Other... > operator+ (type_list< Type... >, type_list< Other... >)
 Concatenates multiple type lists. More...
 
template<auto... Value, auto... Other>
constexpr value_list< Value..., Other... > operator+ (value_list< Value... >, value_list< Other... >)
 Concatenates multiple value lists. More...
 
template<typename Type , typename Class >
constexpr auto overload (Type Class::*member) noexcept
 Constant utility to disambiguate overloaded members of a class. More...
 
template<typename Func >
constexpr auto overload (Func *func) noexcept
 Constant utility to disambiguate overloaded functions. More...
 
template<class... Func>
 overloaded (Func...) -> overloaded< Func... >
 Deduction guide. More...
 
template<typename Entity >
constexpr auto to_integral (const Entity entity) noexcept
 Converts an entity type to its underlying type. More...
 
template<typename Entity >
constexpr bool operator== (const Entity &entity, const null_t &other) noexcept
 Compares a null object and an entity identifier of any type. More...
 
template<typename Entity >
constexpr bool operator!= (const Entity &entity, const null_t &other) noexcept
 Compares a null object and an entity identifier of any type. More...
 
template<typename Type , typename Other >
bool operator!= (const basic_handle< Type > &lhs, const basic_handle< Other > &rhs) noexcept
 Compares two handles. More...
 
template<typename Entity >
 basic_handle (basic_registry< Entity > &, Entity) -> basic_handle< Entity >
 Deduction guide. More...
 
template<typename Entity >
 basic_handle (const basic_registry< Entity > &, Entity) -> basic_handle< const Entity >
 Deduction guide. More...
 
template<typename Entity >
 as_view (basic_registry< Entity > &) noexcept -> as_view< Entity >
 Deduction guide. More...
 
template<typename Entity >
 as_view (const basic_registry< Entity > &) noexcept -> as_view< const Entity >
 Deduction guide. More...
 
template<typename Entity >
 as_group (basic_registry< Entity > &) noexcept -> as_group< Entity >
 Deduction guide. More...
 
template<typename Entity >
 as_group (const basic_registry< Entity > &) noexcept -> as_group< const Entity >
 Deduction guide. More...
 
template<auto Member, typename Entity = entity>
void invoke (basic_registry< Entity > &reg, const Entity entt)
 Helper to create a listener that directly invokes a member function. More...
 
template<typename Entity , typename Component >
Entity to_entity (const basic_registry< Entity > &reg, const Component &component)
 Returns the entity associated with a given component. More...
 
template<typename Type >
auto get_as_tuple ([[maybe_unused]] Type &container, [[maybe_unused]] const typename Type::entity_type entity)
 Gets the element assigned to an entity from a storage, if any. More...
 
template<typename... Storage>
 basic_view (Storage &... storage) noexcept -> basic_view< std::common_type_t< typename Storage::entity_type... >, entt::exclude_t<>, constness_as_t< typename Storage::value_type, Storage >... >
 Deduction guide. More...
 
template<typename Entity , typename... ELhs, typename... CLhs, typename... ERhs, typename... CRhs>
auto operator| (const basic_view< Entity, exclude_t< ELhs... >, CLhs... > &lhs, const basic_view< Entity, exclude_t< ERhs... >, CRhs... > &rhs)
 Combines two views in a more specific one. More...
 
template<typename Type >
decltype(auto) dereference_meta_pointer_like (const Type &value)
 ADL based lookup function for dereferencing meta pointer-like types. More...
 
template<typename Type >
auto meta () noexcept
 Utility function to use for reflection. More...
 
bool operator!= (const meta_any &lhs, const meta_any &rhs) noexcept
 Checks if two wrappers differ in their content. More...
 
bool operator!= (const meta_type &lhs, const meta_type &rhs) noexcept
 Checks if two objects refer to the same type. More...
 
template<typename Type >
meta_type resolve () noexcept
 Returns the meta type associated with a given type. More...
 
meta_type resolve (const id_type id) noexcept
 Returns the meta type associated with a given identifier, if any. More...
 
meta_type resolve (const type_info info) noexcept
 Returns the meta type associated with a given type info object, if any. More...
 
template<typename Type , typename... Args, std::size_t... Index>
meta_any meta_construct (meta_any *const args, std::index_sequence< Index... >)
 Constructs an instance given a list of erased parameters, if possible. More...
 
template<typename Type , auto Data>
bool meta_setter ([[maybe_unused]] meta_handle instance, [[maybe_unused]] meta_any value)
 Sets the value of a given variable. More...
 
template<typename Type , auto Data, typename Policy = as_is_t>
meta_any meta_getter ([[maybe_unused]] meta_handle instance)
 Gets the value of a given variable. More...
 
template<typename Type , auto Candidate, typename Policy = as_is_t, std::size_t... Index>
meta_any meta_invoke ([[maybe_unused]] meta_handle instance, meta_any *args, std::index_sequence< Index... >)
 Invokes a function given a list of erased parameters, if possible. More...
 
template<auto Member, typename Poly , typename... Args>
decltype(auto) poly_call (Poly &&self, Args &&... args)
 Shortcut for calling poly_base<Type>invoke. More...
 
template<typename Ret , typename... Args>
bool operator!= (const delegate< Ret(Args...)> &lhs, const delegate< Ret(Args...)> &rhs) noexcept
 Compares the contents of two delegates. More...
 
template<auto Candidate>
 delegate (connect_arg_t< Candidate >) noexcept -> delegate< std::remove_pointer_t< internal::function_pointer_t< decltype(Candidate)>>>
 Deduction guide. More...
 
template<auto Candidate, typename Type >
 delegate (connect_arg_t< Candidate >, Type &&) noexcept -> delegate< std::remove_pointer_t< internal::function_pointer_t< decltype(Candidate), Type >>>
 Deduction guide. More...
 
template<typename Ret , typename... Args>
 delegate (Ret(*)(const void *, Args...), const void *=nullptr) noexcept -> delegate< Ret(Args...)>
 Deduction guide. More...
 
template<typename Ret , typename... Args>
 sink (sigh< Ret(Args...)> &) noexcept -> sink< Ret(Args...)>
 Deduction guide. More...
 

Variables

template<id_type Value>
monostate< Value > monostate_v = {}
 Helper variable template. More...
 
template<std::size_t N>
constexpr choice_t< N > choice {}
 Variable template for the choice trick. More...
 
template<class Type >
constexpr auto size_of_v = size_of<Type>::value
 Helper variable template. More...
 
template<auto Value, typename >
constexpr auto unpack_as_v = Value
 Helper variable template to be used to repeat the same value a number of times equal to the size of a given parameter pack. More...
 
template<class List , typename Type >
constexpr auto type_list_contains_v = type_list_contains<List, Type>::value
 Helper variable template. More...
 
template<std::size_t Index, typename List >
constexpr auto value_list_element_v = value_list_element<Index, List>::value
 Helper type. More...
 
template<class Type >
constexpr auto is_equality_comparable_v = is_equality_comparable<Type>::value
 Helper variable template. More...
 
template<typename Func , typename Args >
constexpr auto is_applicable_v = is_applicable<Func, Args>::value
 Helper variable template. More...
 
template<typename Ret , typename Func , typename Args >
constexpr auto is_applicable_r_v = is_applicable_r<Ret, Func, Args>::value
 Helper variable template. More...
 
template<typename Type >
constexpr auto is_complete_v = is_complete<Type>::value
 Helper variable template. More...
 
template<typename Type >
constexpr auto is_std_hashable_v = is_std_hashable<Type>::value
 Helper variable template. More...
 
template<typename Type >
constexpr auto is_empty_v = is_empty<Type>::value
 Helper variable template. More...
 
constexpr null_t null {}
 Compile-time constant for null entities. More...
 
constexpr basic_collector collector {}
 Variable template used to ease the definition of collectors.
 
template<typename... Type>
constexpr exclude_t< Type... > exclude {}
 Variable template for exclusion lists. More...
 
template<typename... Type>
constexpr get_t< Type... > get {}
 Variable template for lists of observed components. More...
 
template<typename Type >
constexpr auto is_key_only_meta_associative_container_v = is_key_only_meta_associative_container<Type>::value
 Helper variable template. More...
 
template<typename Type >
constexpr auto is_meta_pointer_like_v = is_meta_pointer_like<Type>::value
 Helper variable template. More...
 
template<auto Func>
constexpr connect_arg_t< Func > connect_arg {}
 Constant of type connect_arg_t used to disambiguate calls.
 

Detailed Description

EnTT default namespace.

Typedef Documentation

◆ const_handle_view

template<typename... Args>
using entt::const_handle_view = typedef basic_handle<const entity, Args...>

Alias declaration for the most common use case.

Template Parameters
ArgsOther template parameters.

Definition at line 108 of file fwd.hpp.

◆ constness_as_t

template<typename To , typename From >
using entt::constness_as_t = typedef typename constness_as<To, From>::type

Alias template to facilitate the transcription of the constness.

Template Parameters
ToThe type to which to transcribe the constness.
FromThe type from which to transcribe the constness.

Definition at line 632 of file type_traits.hpp.

◆ group

template<typename... Args>
using entt::group = typedef basic_group<entity, Args...>

Alias declaration for the most common use case.

Template Parameters
ArgsOther template parameters.

Definition at line 140 of file fwd.hpp.

◆ handle_view

template<typename... Args>
using entt::handle_view = typedef basic_handle<entity, Args...>

Alias declaration for the most common use case.

Template Parameters
ArgsOther template parameters.

Definition at line 100 of file fwd.hpp.

◆ integral_constant

template<auto Value>
using entt::integral_constant = typedef std::integral_constant<decltype(Value), Value>

Wraps a static constant.

Template Parameters
ValueA static constant.

Definition at line 111 of file type_traits.hpp.

◆ member_class_t

template<typename Member >
using entt::member_class_t = typedef typename member_class<Member>::type

Helper type.

Template Parameters
MemberA pointer to a non-static member object or function.

Definition at line 663 of file type_traits.hpp.

◆ meta_function_helper_t

template<typename Type , typename Candidate >
using entt::meta_function_helper_t = typedef typename meta_function_helper<Type, Candidate>::type

Helper type.

Template Parameters
TypeReflected type to which the meta function is associated.
CandidateThe actual function to associate with the reflected type.

Definition at line 119 of file utility.hpp.

◆ poly

template<typename Concept >
using entt::poly = typedef basic_poly<Concept, sizeof(double[2])>

Alias declaration for the most common use case.

Template Parameters
ConceptConcept descriptor.

Definition at line 20 of file fwd.hpp.

◆ storage

template<typename... Args>
using entt::storage = typedef basic_storage<entity, Args...>

Alias declaration for the most common use case.

Template Parameters
ArgsOther template parameters.

Definition at line 72 of file fwd.hpp.

◆ tag

template<id_type Value>
using entt::tag = typedef integral_constant<Value>

Alias template to facilitate the creation of named values.

Template Parameters
ValueA constant value at least convertible to id_type.

Definition at line 119 of file type_traits.hpp.

◆ type_identity_t

template<typename Type >
using entt::type_identity_t = typedef typename type_identity<Type>::type

Helper type.

Template Parameters
TypeA type.

Definition at line 61 of file type_traits.hpp.

◆ type_list_cat_t

template<typename... List>
using entt::type_list_cat_t = typedef typename type_list_cat<List...>::type

Helper type.

Template Parameters
ListType lists to concatenate.

Definition at line 225 of file type_traits.hpp.

◆ type_list_diff_t

template<typename... List>
using entt::type_list_diff_t = typedef typename type_list_diff<List...>::type

Helper type.

Template Parameters
ListType lists between which to compute the difference.

Definition at line 315 of file type_traits.hpp.

◆ type_list_element_t

template<std::size_t Index, typename List >
using entt::type_list_element_t = typedef typename type_list_element<Index, List>::type

Helper type.

Template Parameters
IndexIndex of the type to return.
ListType list to search into.

Definition at line 170 of file type_traits.hpp.

◆ type_list_unique_t

template<typename Type >
using entt::type_list_unique_t = typedef typename type_list_unique<Type>::type

Helper type.

Template Parameters
TypeA type list.

Definition at line 262 of file type_traits.hpp.

◆ unpack_as_t

template<typename Type , typename >
using entt::unpack_as_t = typedef Type

Using declaration to be used to repeat the same type a number of times equal to the size of a given parameter pack.

Template Parameters
TypeA type to repeat.

Definition at line 94 of file type_traits.hpp.

◆ value_list_cat_t

template<typename... List>
using entt::value_list_cat_t = typedef typename value_list_cat<List...>::type

Helper type.

Template Parameters
ListValue lists to concatenate.

Definition at line 421 of file type_traits.hpp.

◆ view

template<typename... Args>
using entt::view = typedef basic_view<entity, Args...>

Alias declaration for the most common use case.

Template Parameters
ArgsOther template parameters.

Definition at line 128 of file fwd.hpp.

Function Documentation

◆ any_cast() [1/5]

template<typename Type , std::size_t Len, std::size_t Align>
Type entt::any_cast ( basic_any< Len, Align > &&  data)
noexcept

Performs type-safe access to the contained object.

Template Parameters
TypeType to which conversion is required.
LenSize of the storage reserved for the small buffer optimization.
AlignAlignment requirement.
Parameters
dataTarget any object.
Returns
The element converted to the requested type.

Definition at line 381 of file any.hpp.

◆ any_cast() [2/5]

template<typename Type , std::size_t Len, std::size_t Align>
Type entt::any_cast ( basic_any< Len, Align > &  data)
noexcept

Performs type-safe access to the contained object.

Template Parameters
TypeType to which conversion is required.
LenSize of the storage reserved for the small buffer optimization.
AlignAlignment requirement.
Parameters
dataTarget any object.
Returns
The element converted to the requested type.

Definition at line 371 of file any.hpp.

◆ any_cast() [3/5]

template<typename Type , std::size_t Len, std::size_t Align>
Type* entt::any_cast ( basic_any< Len, Align > *  data)
noexcept

Performs type-safe access to the contained object.

Template Parameters
TypeType to which conversion is required.
LenSize of the storage reserved for the small buffer optimization.
AlignAlignment requirement.
Parameters
dataTarget any object.
Returns
The element converted to the requested type.

Definition at line 398 of file any.hpp.

◆ any_cast() [4/5]

template<typename Type , std::size_t Len, std::size_t Align>
Type entt::any_cast ( const basic_any< Len, Align > &  data)
noexcept

Performs type-safe access to the contained object.

Template Parameters
TypeType to which conversion is required.
LenSize of the storage reserved for the small buffer optimization.
AlignAlignment requirement.
Parameters
dataTarget any object.
Returns
The element converted to the requested type.

Definition at line 362 of file any.hpp.

◆ any_cast() [5/5]

template<typename Type , std::size_t Len, std::size_t Align>
const Type* entt::any_cast ( const basic_any< Len, Align > *  data)
noexcept

Performs type-safe access to the contained object.

Template Parameters
TypeType to which conversion is required.
LenSize of the storage reserved for the small buffer optimization.
AlignAlignment requirement.
Parameters
dataTarget any object.
Returns
The element converted to the requested type.

Definition at line 391 of file any.hpp.

◆ as_group() [1/2]

template<typename Entity >
entt::as_group ( basic_registry< Entity > &  ) -> as_group< Entity >
noexcept

Deduction guide.

It allows to deduce the constness of a registry directly from the instance provided to the constructor.

Template Parameters
EntityA valid entity type (see entt_traits for more details).

◆ as_group() [2/2]

template<typename Entity >
entt::as_group ( const basic_registry< Entity > &  ) -> as_group< const Entity >
noexcept

Deduction guide.

It allows to deduce the constness of a registry directly from the instance provided to the constructor.

Template Parameters
EntityA valid entity type (see entt_traits for more details).

◆ as_view() [1/2]

template<typename Entity >
entt::as_view ( basic_registry< Entity > &  ) -> as_view< Entity >
noexcept

Deduction guide.

It allows to deduce the constness of a registry directly from the instance provided to the constructor.

Template Parameters
EntityA valid entity type (see entt_traits for more details).

◆ as_view() [2/2]

template<typename Entity >
entt::as_view ( const basic_registry< Entity > &  ) -> as_view< const Entity >
noexcept

Deduction guide.

It allows to deduce the constness of a registry directly from the instance provided to the constructor.

Template Parameters
EntityA valid entity type (see entt_traits for more details).

◆ basic_handle() [1/2]

template<typename Entity >
entt::basic_handle ( basic_registry< Entity > &  ,
Entity   
) -> basic_handle< Entity >

Deduction guide.

Template Parameters
EntityA valid entity type (see entt_traits for more details).

◆ basic_handle() [2/2]

template<typename Entity >
entt::basic_handle ( const basic_registry< Entity > &  ,
Entity   
) -> basic_handle< const Entity >

Deduction guide.

Template Parameters
EntityA valid entity type (see entt_traits for more details).

◆ basic_hashed_string()

template<typename Char , std::size_t N>
entt::basic_hashed_string ( const Char(&)  str[N]) -> basic_hashed_string< Char >
noexcept

Deduction guide.

It allows to deduce the character type of the hashed string directly from a human-readable identifer provided to the constructor.

Template Parameters
CharCharacter type.
NNumber of characters of the identifier.
Parameters
strHuman-readable identifer.

◆ basic_view()

template<typename... Storage>
entt::basic_view ( Storage &...  storage) -> basic_view< std::common_type_t< typename Storage::entity_type... >, entt::exclude_t<>, constness_as_t< typename Storage::value_type, Storage >... >
noexcept

Deduction guide.

Template Parameters
StorageType of storage classes used to create the view.
Parameters
storageThe storage for the types to iterate.

◆ delegate() [1/3]

template<auto Candidate>
entt::delegate ( connect_arg_t< Candidate >  ) -> delegate< std::remove_pointer_t< internal::function_pointer_t< decltype(Candidate)>>>
noexcept

Deduction guide.

Template Parameters
CandidateFunction or member to connect to the delegate.

◆ delegate() [2/3]

template<auto Candidate, typename Type >
entt::delegate ( connect_arg_t< Candidate >  ,
Type &&   
) -> delegate< std::remove_pointer_t< internal::function_pointer_t< decltype(Candidate), Type >>>
noexcept

Deduction guide.

Template Parameters
CandidateFunction or member to connect to the delegate.
TypeType of class or type of payload.

◆ delegate() [3/3]

template<typename Ret , typename... Args>
entt::delegate ( Ret(*)(const void *, Args...)  ,
const void *  = nullptr 
) -> delegate< Ret(Args...)>
noexcept

Deduction guide.

Template Parameters
RetReturn type of a function type.
ArgsTypes of arguments of a function type.

◆ dereference_meta_pointer_like()

template<typename Type >
decltype(auto) entt::dereference_meta_pointer_like ( const Type &  value)

ADL based lookup function for dereferencing meta pointer-like types.

Template Parameters
TypeElement type.
Parameters
valueA pointer-like object.
Returns
The value returned from the dereferenced pointer.

Definition at line 15 of file adl_pointer.hpp.

◆ get_as_tuple()

template<typename Type >
auto entt::get_as_tuple ( [[maybe_unused] ] Type &  container,
[[maybe_unused] ] const typename Type::entity_type  entity 
)

Gets the element assigned to an entity from a storage, if any.

Template Parameters
TypeStorage type.
Parameters
containerA valid instance of a storage class.
entityA valid entity identifier.
Returns
A possibly empty tuple containing the requested element.

Definition at line 806 of file storage.hpp.

◆ invoke()

template<auto Member, typename Entity = entity>
void entt::invoke ( basic_registry< Entity > &  reg,
const Entity  entt 
)

Helper to create a listener that directly invokes a member function.

Template Parameters
MemberMember function to invoke on a component of the given type.
EntityA valid entity type (see entt_traits for more details).
Parameters
regA registry that contains the given entity and its components.
enttEntity from which to get the component.

Definition at line 130 of file helper.hpp.

◆ meta()

template<typename Type >
auto entt::meta ( )
noexcept

Utility function to use for reflection.

This is the point from which everything starts.
By invoking this function with a type that is not yet reflected, a meta type is created to which it will be possible to attach meta objects through a dedicated factory.

Template Parameters
TypeType to reflect.
Returns
A meta factory for the given type.

Definition at line 564 of file factory.hpp.

◆ meta_construct()

template<typename Type , typename... Args, std::size_t... Index>
meta_any entt::meta_construct ( meta_any *const  args,
std::index_sequence< Index... >   
)

Constructs an instance given a list of erased parameters, if possible.

Template Parameters
TypeActual type of the instance to construct.
ArgsTypes of arguments expected.
IndexIndexes to use to extract erased arguments from their list.
Parameters
argsParameters to use to construct the instance.
Returns
A meta any containing the new instance, if any.

Definition at line 142 of file utility.hpp.

◆ meta_getter()

template<typename Type , auto Data, typename Policy = as_is_t>
meta_any entt::meta_getter ( [[maybe_unused] ] meta_handle  instance)

Gets the value of a given variable.

Template Parameters
TypeReflected type to which the variable is associated.
DataThe actual variable to get.
PolicyOptional policy (no policy set by default).
Parameters
instanceAn opaque instance of the underlying type, if required.
Returns
A meta any containing the value of the underlying variable.

Definition at line 208 of file utility.hpp.

◆ meta_invoke()

template<typename Type , auto Candidate, typename Policy = as_is_t, std::size_t... Index>
meta_any entt::meta_invoke ( [[maybe_unused] ] meta_handle  instance,
meta_any args,
std::index_sequence< Index... >   
)

Invokes a function given a list of erased parameters, if possible.

Template Parameters
TypeReflected type to which the function is associated.
CandidateThe actual function to invoke.
PolicyOptional policy (no policy set by default).
IndexIndexes to use to extract erased arguments from their list.
Parameters
instanceAn opaque instance of the underlying type, if required.
argsParameters to use to invoke the function.
Returns
A meta any containing the returned value, if any.

Definition at line 259 of file utility.hpp.

◆ meta_setter()

template<typename Type , auto Data>
bool entt::meta_setter ( [[maybe_unused] ] meta_handle  instance,
[[maybe_unused] ] meta_any  value 
)

Sets the value of a given variable.

Template Parameters
TypeReflected type to which the variable is associated.
DataThe actual variable to set.
Parameters
instanceAn opaque instance of the underlying type, if required.
valueParameter to use to set the variable.
Returns
True in case of success, false otherwise.

Definition at line 160 of file utility.hpp.

◆ operator!=() [1/8]

template<std::size_t Len, std::size_t Align>
bool entt::operator!= ( const basic_any< Len, Align > &  lhs,
const basic_any< Len, Align > &  rhs 
)
inlinenoexcept

Checks if two wrappers differ in their content.

Template Parameters
LenSize of the storage reserved for the small buffer optimization.
AlignAlignment requirement.
Parameters
lhsA wrapper, either empty or not.
rhsA wrapper, either empty or not.
Returns
True if the two wrappers differ in their content, false otherwise.

Definition at line 348 of file any.hpp.

◆ operator!=() [2/8]

template<typename Type , typename Other >
bool entt::operator!= ( const basic_handle< Type > &  lhs,
const basic_handle< Other > &  rhs 
)
noexcept

Compares two handles.

Template Parameters
TypeA valid entity type (see entt_traits for more details).
OtherA valid entity type (see entt_traits for more details).
Parameters
lhsA valid handle.
rhsA valid handle.
Returns
False if both handles refer to the same registry and the same entity, true otherwise.

Definition at line 317 of file handle.hpp.

◆ operator!=() [3/8]

template<typename Char >
constexpr bool entt::operator!= ( const basic_hashed_string< Char > &  lhs,
const basic_hashed_string< Char > &  rhs 
)
constexprnoexcept

Compares two hashed strings.

Template Parameters
CharCharacter type.
Parameters
lhsA valid hashed string.
rhsA valid hashed string.
Returns
True if the two hashed strings are identical, false otherwise.

Definition at line 227 of file hashed_string.hpp.

◆ operator!=() [4/8]

template<typename Ret , typename... Args>
bool entt::operator!= ( const delegate< Ret(Args...)> &  lhs,
const delegate< Ret(Args...)> &  rhs 
)
noexcept

Compares the contents of two delegates.

Template Parameters
RetReturn type of a function type.
ArgsTypes of arguments of a function type.
Parameters
lhsA valid delegate object.
rhsA valid delegate object.
Returns
True if the two contents differ, false otherwise.

Definition at line 328 of file delegate.hpp.

◆ operator!=() [5/8]

template<typename Entity >
constexpr bool entt::operator!= ( const Entity &  entity,
const null_t other 
)
constexprnoexcept

Compares a null object and an entity identifier of any type.

Template Parameters
EntityType of entity identifier.
Parameters
entityEntity identifier with which to compare.
otherA null object yet to be converted.
Returns
True if the two elements differ, false otherwise.

Definition at line 171 of file entity.hpp.

◆ operator!=() [6/8]

bool entt::operator!= ( const meta_any lhs,
const meta_any rhs 
)
inlinenoexcept

Checks if two wrappers differ in their content.

Parameters
lhsA meta any object, either empty or not.
rhsA meta any object, either empty or not.
Returns
True if the two wrappers differ in their content, false otherwise.

Definition at line 576 of file meta.hpp.

◆ operator!=() [7/8]

bool entt::operator!= ( const meta_type lhs,
const meta_type rhs 
)
inlinenoexcept

Checks if two objects refer to the same type.

Parameters
lhsAn object, either valid or not.
rhsAn object, either valid or not.
Returns
False if the objects refer to the same node, true otherwise.

Definition at line 1569 of file meta.hpp.

◆ operator!=() [8/8]

bool entt::operator!= ( const type_info lhs,
const type_info rhs 
)
inlinenoexcept

Compares the contents of two type info objects.

Parameters
lhsA type info object.
rhsA type info object.
Returns
True if the two contents differ, false otherwise.

Definition at line 237 of file type_info.hpp.

◆ operator""_hs()

constexpr entt::hashed_string entt::literals::operator""_hs ( const char *  str,
std::size_t   
)
constexprnoexcept

User defined literal for hashed strings.

Parameters
strThe literal without its suffix.
Returns
A properly initialized hashed string.

Definition at line 248 of file hashed_string.hpp.

◆ operator""_hws()

constexpr entt::hashed_wstring entt::literals::operator""_hws ( const wchar_t *  str,
std::size_t   
)
constexprnoexcept

User defined literal for hashed wstrings.

Parameters
strThe literal without its suffix.
Returns
A properly initialized hashed wstring.

Definition at line 258 of file hashed_string.hpp.

◆ operator+() [1/2]

template<typename... Type, typename... Other>
constexpr type_list<Type..., Other...> entt::operator+ ( type_list< Type... >  ,
type_list< Other... >   
)
constexpr

Concatenates multiple type lists.

Template Parameters
TypeTypes provided by the first type list.
OtherTypes provided by the second type list.
Returns
A type list composed by the types of both the type lists.

Definition at line 180 of file type_traits.hpp.

◆ operator+() [2/2]

template<auto... Value, auto... Other>
constexpr value_list<Value..., Other...> entt::operator+ ( value_list< Value... >  ,
value_list< Other... >   
)
constexpr

Concatenates multiple value lists.

Template Parameters
ValueValues provided by the first value list.
OtherValues provided by the second value list.
Returns
A value list composed by the values of both the value lists.

Definition at line 376 of file type_traits.hpp.

◆ operator==()

template<typename Entity >
constexpr bool entt::operator== ( const Entity &  entity,
const null_t other 
)
constexprnoexcept

Compares a null object and an entity identifier of any type.

Template Parameters
EntityType of entity identifier.
Parameters
entityEntity identifier with which to compare.
otherA null object yet to be converted.
Returns
False if the two elements differ, true otherwise.

Definition at line 158 of file entity.hpp.

◆ operator|()

template<typename Entity , typename... ELhs, typename... CLhs, typename... ERhs, typename... CRhs>
auto entt::operator| ( const basic_view< Entity, exclude_t< ELhs... >, CLhs... > &  lhs,
const basic_view< Entity, exclude_t< ERhs... >, CRhs... > &  rhs 
)

Combines two views in a more specific one.

Template Parameters
EntityA valid entity type (see entt_traits for more details).
ELhsFilter list of the first view.
CLhsComponent list of the first view.
ERhsFilter list of the second view.
CRhsComponent list of the second view.
Parameters
lhsA valid reference to the first view.
rhsA valid reference to the second view.
Returns
A more specific view.

Definition at line 975 of file view.hpp.

◆ overload() [1/2]

template<typename Func >
constexpr auto entt::overload ( Func *  func)
constexprnoexcept

Constant utility to disambiguate overloaded functions.

Template Parameters
FuncFunction type of the desired overload.
Parameters
funcA valid pointer to a function.
Returns
Pointer to the function.

Definition at line 45 of file utility.hpp.

◆ overload() [2/2]

template<typename Type , typename Class >
constexpr auto entt::overload ( Type Class::*  member)
constexprnoexcept

Constant utility to disambiguate overloaded members of a class.

Template Parameters
TypeType of the desired overload.
ClassType of class to which the member belongs.
Parameters
memberA valid pointer to a member.
Returns
Pointer to the member.

Definition at line 35 of file utility.hpp.

◆ overloaded()

template<class... Func>
entt::overloaded ( Func...  ) -> overloaded< Func... >

Deduction guide.

Template Parameters
FuncTypes of function objects.

◆ poly_call()

template<auto Member, typename Poly , typename... Args>
decltype(auto) entt::poly_call ( Poly &&  self,
Args &&...  args 
)

Shortcut for calling poly_base<Type>invoke.

Template Parameters
MemberIndex of the function to invoke.
PolyA fully defined poly object.
ArgsTypes of arguments to pass to the function.
Parameters
selfA reference to the poly object that made the call.
argsThe arguments to pass to the function.
Returns
The return value of the invoked function, if any.

Definition at line 160 of file poly.hpp.

◆ resolve() [1/3]

template<typename Type >
meta_range< meta_type > entt::resolve ( )
inlinenoexcept

Returns the meta type associated with a given type.

Returns a range to use to visit all meta types.

Template Parameters
TypeType to use to search for a meta type.
Returns
The meta type associated with the given type, if any.
An iterable range to use to visit all meta types.

Definition at line 22 of file resolve.hpp.

◆ resolve() [2/3]

meta_type entt::resolve ( const id_type  id)
inlinenoexcept

Returns the meta type associated with a given identifier, if any.

Parameters
idUnique identifier.
Returns
The meta type associated with the given identifier, if any.

Definition at line 41 of file resolve.hpp.

◆ resolve() [3/3]

meta_type entt::resolve ( const type_info  info)
inlinenoexcept

Returns the meta type associated with a given type info object, if any.

Parameters
infoThe type info object of the requested type.
Returns
The meta type associated with the given type info object, if any.

Definition at line 58 of file resolve.hpp.

◆ sink()

template<typename Ret , typename... Args>
entt::sink ( sigh< Ret(Args...)> &  ) -> sink< Ret(Args...)>
noexcept

Deduction guide.

It allows to deduce the function type of a sink directly from the signal it refers to.

Template Parameters
RetReturn type of a function type.
ArgsTypes of arguments of a function type.

◆ to_entity()

template<typename Entity , typename Component >
Entity entt::to_entity ( const basic_registry< Entity > &  reg,
const Component &  component 
)

Returns the entity associated with a given component.

Template Parameters
EntityA valid entity type (see entt_traits for more details).
ComponentType of component.
Parameters
regA registry that contains the given entity and its components.
componentA valid component instance.
Returns
The entity associated with the given component.

Definition at line 147 of file helper.hpp.

◆ to_integral()

template<typename Entity >
constexpr auto entt::to_integral ( const Entity  entity)
constexprnoexcept

Converts an entity type to its underlying type.

Template Parameters
EntityThe value type.
Parameters
entityThe value to convert.
Returns
The integral representation of the given value.

Definition at line 93 of file entity.hpp.

◆ type_id()

template<typename Type >
type_info entt::type_id ( )
noexcept

Returns the type info object for a given type.

Template Parameters
TypeType for which to generate a type info object.
Returns
The type info object for the given type.

Definition at line 248 of file type_info.hpp.

Variable Documentation

◆ choice

template<std::size_t N>
constexpr choice_t<N> entt::choice {}
inlineconstexpr

Variable template for the choice trick.

Template Parameters
NNumber of choices available.

Definition at line 38 of file type_traits.hpp.

◆ exclude

template<typename... Type>
constexpr exclude_t<Type...> entt::exclude {}
inlineconstexpr

Variable template for exclusion lists.

Template Parameters
TypeList of types.

Definition at line 24 of file utility.hpp.

◆ get

template<typename... Type>
constexpr get_t<Type...> entt::get {}
inlineconstexpr

Variable template for lists of observed components.

Template Parameters
TypeList of types.

Definition at line 40 of file utility.hpp.

◆ is_applicable_r_v

template<typename Ret , typename Func , typename Args >
constexpr auto entt::is_applicable_r_v = is_applicable_r<Ret, Func, Args>::value
inlineconstexpr

Helper variable template.

Template Parameters
RetThe type to which the return type of the function should be convertible.
FuncA valid function type.
ArgsThe list of arguments to use to probe the function type.

Definition at line 540 of file type_traits.hpp.

◆ is_applicable_v

template<typename Func , typename Args >
constexpr auto entt::is_applicable_v = is_applicable<Func, Args>::value
inlineconstexpr

Helper variable template.

Template Parameters
FuncA valid function type.
ArgsThe list of arguments to use to probe the function type.

Definition at line 513 of file type_traits.hpp.

◆ is_complete_v

template<typename Type >
constexpr auto entt::is_complete_v = is_complete<Type>::value
inlineconstexpr

Helper variable template.

Template Parameters
TypePotential complete type.

Definition at line 562 of file type_traits.hpp.

◆ is_empty_v

template<typename Type >
constexpr auto entt::is_empty_v = is_empty<Type>::value
inlineconstexpr

Helper variable template.

Template Parameters
TypePotential empty type.

Definition at line 603 of file type_traits.hpp.

◆ is_equality_comparable_v

template<class Type >
constexpr auto entt::is_equality_comparable_v = is_equality_comparable<Type>::value
inlineconstexpr

Helper variable template.

Template Parameters
TypePotentially equality comparable type.

Definition at line 479 of file type_traits.hpp.

◆ is_key_only_meta_associative_container_v

template<typename Type >
constexpr auto entt::is_key_only_meta_associative_container_v = is_key_only_meta_associative_container<Type>::value
inlineconstexpr

Helper variable template.

Template Parameters
TypePotentially key-only meta associative container type.

Definition at line 56 of file type_traits.hpp.

◆ is_meta_pointer_like_v

template<typename Type >
constexpr auto entt::is_meta_pointer_like_v = is_meta_pointer_like<Type>::value
inlineconstexpr

Helper variable template.

Template Parameters
TypePotentially pointer-like type.

Definition at line 82 of file type_traits.hpp.

◆ is_std_hashable_v

template<typename Type >
constexpr auto entt::is_std_hashable_v = is_std_hashable<Type>::value
inlineconstexpr

Helper variable template.

Template Parameters
TypePotentially hashable type.

Definition at line 586 of file type_traits.hpp.

◆ monostate_v

template<id_type Value>
monostate<Value> entt::monostate_v = {}
inline

Helper variable template.

Template Parameters
ValueValue used to differentiate between different variables.

Definition at line 56 of file monostate.hpp.

◆ null

constexpr null_t entt::null {}
inlineconstexpr

Compile-time constant for null entities.

Internal details not to be documented.

There exist implicit conversions from this variable to entity identifiers of any allowed type. Similarly, there exist comparision operators between the null entity and any other entity identifier.

Definition at line 189 of file entity.hpp.

◆ size_of_v

template<class Type >
constexpr auto entt::size_of_v = size_of<Type>::value
inlineconstexpr

Helper variable template.

Template Parameters
TypeThe type of which to return the size.

Definition at line 85 of file type_traits.hpp.

◆ type_list_contains_v

template<class List , typename Type >
constexpr auto entt::type_list_contains_v = type_list_contains<List, Type>::value
inlineconstexpr

Helper variable template.

Template Parameters
ListType list.
TypeType to look for.

Definition at line 290 of file type_traits.hpp.

◆ unpack_as_v

template<auto Value, typename >
constexpr auto entt::unpack_as_v = Value
inlineconstexpr

Helper variable template to be used to repeat the same value a number of times equal to the size of a given parameter pack.

Template Parameters
ValueA value to repeat.

Definition at line 103 of file type_traits.hpp.

◆ value_list_element_v

template<std::size_t Index, typename List >
constexpr auto entt::value_list_element_v = value_list_element<Index, List>::value
inlineconstexpr

Helper type.

Template Parameters
IndexIndex of the value to return.
ListValue list to search into.

Definition at line 366 of file type_traits.hpp.