EnTT 3.13.0
|
Non-owning handle to an entity. More...
#include <handle.hpp>
Public Types | |
using | registry_type = Registry |
Type of registry accepted by the handle. | |
using | entity_type = typename registry_type::entity_type |
Underlying entity identifier. | |
using | version_type = typename registry_type::version_type |
Underlying version type. | |
using | size_type = typename registry_type::size_type |
Unsigned integer type. | |
Public Member Functions | |
basic_handle () noexcept | |
Constructs an invalid handle. | |
basic_handle (registry_type &ref, entity_type value) noexcept | |
Constructs a handle from a given registry and entity. | |
auto | storage () const noexcept |
Returns an iterable object to use to visit a handle. | |
template<typename Other , typename... Args> | |
operator basic_handle< Other, Args... > () const noexcept | |
Constructs a const handle from a non-const one. | |
operator entity_type () const noexcept | |
Converts a handle to its underlying entity. | |
operator bool () const noexcept | |
Checks if a handle refers to non-null registry pointer and entity. | |
bool | valid () const |
Checks if a handle refers to a valid entity or not. | |
registry_type * | registry () const noexcept |
Returns a pointer to the underlying registry, if any. | |
entity_type | entity () const noexcept |
Returns the entity associated with a handle. | |
void | destroy () |
Destroys the entity associated with a handle. | |
void | destroy (const version_type version) |
Destroys the entity associated with a handle. | |
template<typename Component , typename... Args> | |
decltype(auto) | emplace (Args &&...args) const |
Assigns the given component to a handle. | |
template<typename Component , typename... Args> | |
decltype(auto) | emplace_or_replace (Args &&...args) const |
Assigns or replaces the given component for a handle. | |
template<typename Component , typename... Func> | |
decltype(auto) | patch (Func &&...func) const |
Patches the given component for a handle. | |
template<typename Component , typename... Args> | |
decltype(auto) | replace (Args &&...args) const |
Replaces the given component for a handle. | |
template<typename... Component> | |
size_type | remove () const |
Removes the given components from a handle. | |
template<typename... Component> | |
void | erase () const |
Erases the given components from a handle. | |
template<typename... Component> | |
decltype(auto) | all_of () const |
Checks if a handle has all the given components. | |
template<typename... Component> | |
decltype(auto) | any_of () const |
Checks if a handle has at least one of the given components. | |
template<typename... Component> | |
decltype(auto) | get () const |
Returns references to the given components for a handle. | |
template<typename Component , typename... Args> | |
decltype(auto) | get_or_emplace (Args &&...args) const |
Returns a reference to the given component for a handle. | |
template<typename... Component> | |
auto | try_get () const |
Returns pointers to the given components for a handle. | |
bool | orphan () const |
Checks if a handle has components assigned. | |
Non-owning handle to an entity.
Tiny wrapper around a registry and an entity.
Registry | Basic registry type. |
Scope | Types to which to restrict the scope of a handle. |
Definition at line 97 of file handle.hpp.
using entt::basic_handle< Registry, Scope >::entity_type = typename registry_type::entity_type |
Underlying entity identifier.
Definition at line 101 of file handle.hpp.
using entt::basic_handle< Registry, Scope >::registry_type = Registry |
Type of registry accepted by the handle.
Definition at line 99 of file handle.hpp.
using entt::basic_handle< Registry, Scope >::size_type = typename registry_type::size_type |
Unsigned integer type.
Definition at line 105 of file handle.hpp.
using entt::basic_handle< Registry, Scope >::version_type = typename registry_type::version_type |
Underlying version type.
Definition at line 103 of file handle.hpp.
|
inlinenoexcept |
Constructs an invalid handle.
Definition at line 108 of file handle.hpp.
|
inlinenoexcept |
Constructs a handle from a given registry and entity.
ref | An instance of the registry class. |
value | A valid identifier. |
Definition at line 117 of file handle.hpp.
|
inline |
Checks if a handle has all the given components.
Component | Components for which to perform the check. |
Definition at line 284 of file handle.hpp.
|
inline |
Checks if a handle has at least one of the given components.
Component | Components for which to perform the check. |
Definition at line 295 of file handle.hpp.
|
inline |
Destroys the entity associated with a handle.
Definition at line 193 of file handle.hpp.
|
inline |
Destroys the entity associated with a handle.
version | A desired version upon destruction. |
Definition at line 201 of file handle.hpp.
|
inline |
Assigns the given component to a handle.
Component | Type of component to create. |
Args | Types of arguments to use to construct the component. |
args | Parameters to use to initialize the component. |
Definition at line 213 of file handle.hpp.
|
inline |
Assigns or replaces the given component for a handle.
Component | Type of component to assign or replace. |
Args | Types of arguments to use to construct the component. |
args | Parameters to use to initialize the component. |
Definition at line 226 of file handle.hpp.
|
inlinenoexcept |
Returns the entity associated with a handle.
Definition at line 188 of file handle.hpp.
|
inline |
Erases the given components from a handle.
Component | Types of components to erase. |
Definition at line 273 of file handle.hpp.
|
inline |
Returns references to the given components for a handle.
Component | Types of components to get. |
Definition at line 305 of file handle.hpp.
|
inline |
Returns a reference to the given component for a handle.
Component | Type of component to get. |
Args | Types of arguments to use to construct the component. |
args | Parameters to use to initialize the component. |
Definition at line 318 of file handle.hpp.
|
inlinenoexcept |
Constructs a const handle from a non-const one.
Other | A valid entity type. |
Args | Scope of the handle to construct. |
Definition at line 145 of file handle.hpp.
|
inlineexplicitnoexcept |
Checks if a handle refers to non-null registry pointer and entity.
Definition at line 164 of file handle.hpp.
|
inlinenoexcept |
Converts a handle to its underlying entity.
Definition at line 156 of file handle.hpp.
|
inline |
Checks if a handle has components assigned.
Definition at line 338 of file handle.hpp.
|
inline |
Patches the given component for a handle.
Component | Type of component to patch. |
Func | Types of the function objects to invoke. |
func | Valid function objects. |
Definition at line 239 of file handle.hpp.
|
inlinenoexcept |
Returns a pointer to the underlying registry, if any.
Definition at line 180 of file handle.hpp.
|
inline |
Removes the given components from a handle.
Component | Types of components to remove. |
Definition at line 263 of file handle.hpp.
|
inline |
Replaces the given component for a handle.
Component | Type of component to replace. |
Args | Types of arguments to use to construct the component. |
args | Parameters to use to initialize the component. |
Definition at line 252 of file handle.hpp.
|
inlinenoexcept |
Returns an iterable object to use to visit a handle.
The iterable object returns a pair that contains the name and a reference to the current storage.
Returned storage are those that contain the entity associated with the handle.
Definition at line 131 of file handle.hpp.
|
inline |
Returns pointers to the given components for a handle.
Component | Types of components to get. |
Definition at line 329 of file handle.hpp.
|
inline |
Checks if a handle refers to a valid entity or not.
Definition at line 172 of file handle.hpp.