|
EnTT
3.8.1
|
Runtime view. More...
#include <runtime_view.hpp>
Public Types | |
| using | entity_type = Entity |
| Underlying entity identifier. | |
| using | size_type = std::size_t |
| Unsigned integer type. | |
| using | iterator = view_iterator |
| Bidirectional iterator type. | |
Public Member Functions | |
| basic_runtime_view () | |
| Default constructor to use to create empty, invalid views. | |
| basic_runtime_view (std::vector< const basic_common_type * > cpools, std::vector< const basic_common_type * > epools) | |
| Constructs a runtime view from a set of storage classes. More... | |
| size_type | size_hint () const |
| Estimates the number of entities iterated by the view. More... | |
| iterator | begin () const |
| Returns an iterator to the first entity that has the given components. More... | |
| iterator | end () const |
| Returns an iterator that is past the last entity that has the given components. More... | |
| bool | contains (const entity_type entt) const |
| Checks if a view contains an entity. More... | |
| template<typename Func > | |
| void | each (Func func) const |
| Iterates entities and applies the given function object to them. More... | |
Runtime view.
Runtime views iterate over those entities that have at least all the given components in their bags. During initialization, a runtime view looks at the number of entities available for each component and picks up a reference to the smallest set of candidate entities in order to get a performance boost when iterate.
Order of elements during iterations are highly dependent on the order of the underlying data structures. See sparse_set and its specializations for more details.
Important
Iterators aren't invalidated if:
In all the other cases, modifying the pools of the given components in any way invalidates all the iterators and using them results in undefined behavior.
| Entity | A valid entity type (see entt_traits for more details). |
Definition at line 58 of file runtime_view.hpp.
|
inline |
Constructs a runtime view from a set of storage classes.
| cpools | The storage for the types to iterate. |
| epools | The storage for the types used to filter the view. |
Definition at line 157 of file runtime_view.hpp.
|
inline |
Returns an iterator to the first entity that has the given components.
The returned iterator points to the first entity that has the given components. If the view is empty, the returned iterator will be equal to end().
Definition at line 185 of file runtime_view.hpp.
|
inline |
Checks if a view contains an entity.
| entt | A valid entity identifier. |
Definition at line 209 of file runtime_view.hpp.
|
inline |
Iterates entities and applies the given function object to them.
The function object is invoked for each entity. It is provided only with the entity itself. To get the components, users can use the registry with which the view was built.
The signature of the function should be equivalent to the following:
| Func | Type of the function object to invoke. |
| func | A valid function object. |
Definition at line 230 of file runtime_view.hpp.
|
inline |
Returns an iterator that is past the last entity that has the given components.
The returned iterator points to the entity following the last entity that has the given components. Attempting to dereference the returned iterator results in undefined behavior.
Definition at line 200 of file runtime_view.hpp.
|
inline |
Estimates the number of entities iterated by the view.
Definition at line 171 of file runtime_view.hpp.