|
EnTT 3.13.2
|
Swap-only entity storage specialization. More...
#include <storage.hpp>


Public Types | |
| using | base_type = basic_sparse_set<Entity, Allocator> |
| Base type. | |
| using | value_type = Entity |
| Type of the objects assigned to entities. | |
| using | entity_type = Entity |
| Underlying entity identifier. | |
| using | size_type = std::size_t |
| Unsigned integer type. | |
| using | allocator_type = Allocator |
| Allocator type. | |
| using | iterable = iterable_adaptor<internal::extended_storage_iterator<typename base_type::iterator>> |
| Extended iterable storage proxy. | |
| using | const_iterable = iterable_adaptor<internal::extended_storage_iterator<typename base_type::const_iterator>> |
| Constant extended iterable storage proxy. | |
| using | reverse_iterable = iterable_adaptor<internal::extended_storage_iterator<typename base_type::reverse_iterator>> |
| Extended reverse iterable storage proxy. | |
| using | const_reverse_iterable = iterable_adaptor<internal::extended_storage_iterator<typename base_type::const_reverse_iterator>> |
| Constant extended reverse iterable storage proxy. | |
Public Types inherited from entt::basic_sparse_set< Entity, Allocator > | |
| using | traits_type = entt_traits<Entity> |
| Entity traits. | |
| using | entity_type = typename traits_type::value_type |
| Underlying entity identifier. | |
| using | version_type = typename traits_type::version_type |
| Underlying version type. | |
| using | size_type = std::size_t |
| Unsigned integer type. | |
| using | allocator_type = Allocator |
| Allocator type. | |
| using | pointer = typename packed_container_type::const_pointer |
| Pointer type to contained entities. | |
| using | iterator = basic_iterator |
| Random access iterator type. | |
| using | const_iterator = iterator |
| Constant random access iterator type. | |
| using | reverse_iterator = std::reverse_iterator<iterator> |
| Reverse iterator type. | |
| using | const_reverse_iterator = std::reverse_iterator<const_iterator> |
| Constant reverse iterator type. | |
Public Member Functions | |
| basic_storage () | |
| Default constructor. | |
| basic_storage (const allocator_type &allocator) | |
| Constructs an empty container with a given allocator. | |
| basic_storage (basic_storage &&other) noexcept | |
| Move constructor. | |
| basic_storage (basic_storage &&other, const allocator_type &allocator) noexcept | |
| Allocator-extended move constructor. | |
| basic_storage & | operator= (basic_storage &&other) noexcept |
| Move assignment operator. | |
| void | get (const entity_type entt) const noexcept |
Returns the object assigned to an entity, that is void. | |
| std::tuple | get_as_tuple (const entity_type entt) const noexcept |
| Returns an empty tuple. | |
| entity_type | emplace () |
| Creates a new identifier or recycles a destroyed one. | |
| entity_type | emplace (const entity_type hint) |
| Creates a new identifier or recycles a destroyed one. | |
| template<typename... Func> | |
| void | patch (const entity_type entt, Func &&...func) |
| Updates a given identifier. | |
| template<typename It > | |
| void | insert (It first, It last) |
| Assigns each element in a range an identifier. | |
| template<typename It > | |
| size_type | pack (It first, It last) |
| Makes all elements in a range contiguous. | |
| size_type | in_use () const noexcept |
| Returns the number of elements considered still in use. | |
| void | in_use (const size_type len) noexcept |
| Sets the number of elements considered still in use. | |
| iterable | each () noexcept |
| Returns an iterable object to use to visit a storage. | |
| const_iterable | each () const noexcept |
| Returns an iterable object to use to visit a storage. | |
| reverse_iterable | reach () noexcept |
| Returns a reverse iterable object to use to visit a storage. | |
| const_reverse_iterable | reach () const noexcept |
| Returns a reverse iterable object to use to visit a storage. | |
Public Member Functions inherited from entt::basic_sparse_set< Entity, Allocator > | |
| basic_sparse_set () | |
| Default constructor. | |
| basic_sparse_set (const allocator_type &allocator) | |
| Constructs an empty container with a given allocator. | |
| basic_sparse_set (deletion_policy pol, const allocator_type &allocator={}) | |
| Constructs an empty container with the given policy and allocator. | |
| basic_sparse_set (const type_info &elem, deletion_policy pol=deletion_policy::swap_and_pop, const allocator_type &allocator={}) | |
| Constructs an empty container with the given value type, policy and allocator. | |
| basic_sparse_set (basic_sparse_set &&other) noexcept | |
| Move constructor. | |
| basic_sparse_set (basic_sparse_set &&other, const allocator_type &allocator) noexcept | |
| Allocator-extended move constructor. | |
| virtual | ~basic_sparse_set () |
| Default destructor. | |
| basic_sparse_set & | operator= (basic_sparse_set &&other) noexcept |
| Move assignment operator. | |
| void | swap (basic_sparse_set &other) |
| Exchanges the contents with those of a given sparse set. | |
| constexpr allocator_type | get_allocator () const noexcept |
| Returns the associated allocator. | |
| deletion_policy | policy () const noexcept |
| Returns the deletion policy of a sparse set. | |
| size_type | free_list () const noexcept |
| Returns the head of the free list, if any. | |
| void | free_list (const size_type len) noexcept |
| Sets the head of the free list, if possible. | |
| virtual void | reserve (const size_type cap) |
| Increases the capacity of a sparse set. | |
| virtual size_type | capacity () const noexcept |
| Returns the number of elements that a sparse set has currently allocated space for. | |
| virtual void | shrink_to_fit () |
| Requests the removal of unused capacity. | |
| size_type | extent () const noexcept |
| Returns the extent of a sparse set. | |
| size_type | size () const noexcept |
| Returns the number of elements in a sparse set. | |
| bool | empty () const noexcept |
| Checks whether a sparse set is empty. | |
| bool | contiguous () const noexcept |
| Checks whether a sparse set is fully packed. | |
| pointer | data () const noexcept |
| Direct access to the internal packed array. | |
| iterator | begin () const noexcept |
| Returns an iterator to the beginning. | |
| const_iterator | cbegin () const noexcept |
| Returns an iterator to the beginning. | |
| iterator | end () const noexcept |
| Returns an iterator to the end. | |
| const_iterator | cend () const noexcept |
| Returns an iterator to the end. | |
| reverse_iterator | rbegin () const noexcept |
| Returns a reverse iterator to the beginning. | |
| const_reverse_iterator | crbegin () const noexcept |
| Returns a reverse iterator to the beginning. | |
| reverse_iterator | rend () const noexcept |
| Returns a reverse iterator to the end. | |
| const_reverse_iterator | crend () const noexcept |
| Returns a reverse iterator to the end. | |
| iterator | begin (int) const noexcept |
| Returns an iterator to the beginning. Useful only in case of swap-only policy. | |
| const_iterator | cbegin (int) const noexcept |
| Returns an iterator to the beginning. Useful only in case of swap-only policy. | |
| iterator | end (int) const noexcept |
| Returns an iterator to the end. Useful only in case of swap-only policy. | |
| const_iterator | cend (int) const noexcept |
| Returns an iterator to the end. Useful only in case of swap-only policy. | |
| reverse_iterator | rbegin (int) const noexcept |
| Returns a reverse iterator to the beginning. Useful only in case of swap-only policy. | |
| const_reverse_iterator | crbegin (int) const noexcept |
| Returns a reverse iterator to the beginning. Useful only in case of swap-only policy. | |
| reverse_iterator | rend (int) const noexcept |
| Returns a reverse iterator to the beginning. Useful only in case of swap-only policy. | |
| const_reverse_iterator | crend (int) const noexcept |
| Returns a reverse iterator to the beginning. Useful only in case of swap-only policy. | |
| const_iterator | find (const entity_type entt) const noexcept |
| Finds an entity. | |
| bool | contains (const entity_type entt) const noexcept |
| Checks if a sparse set contains an entity. | |
| version_type | current (const entity_type entt) const noexcept |
| Returns the contained version for an identifier. | |
| size_type | index (const entity_type entt) const noexcept |
| Returns the position of an entity in a sparse set. | |
| entity_type | at (const size_type pos) const noexcept |
| Returns the entity at specified location, with bounds checking. | |
| entity_type | operator[] (const size_type pos) const noexcept |
| Returns the entity at specified location, without bounds checking. | |
| const void * | value (const entity_type entt) const noexcept |
| Returns the element assigned to an entity, if any. | |
| void * | value (const entity_type entt) noexcept |
| Returns the element assigned to an entity, if any. | |
| iterator | push (const entity_type entt, const void *elem=nullptr) |
| Assigns an entity to a sparse set. | |
| template<typename It > | |
| iterator | push (It first, It last) |
| Assigns one or more entities to a sparse set. | |
| version_type | bump (const entity_type entt) |
| Bump the version number of an entity. | |
| void | erase (const entity_type entt) |
| Erases an entity from a sparse set. | |
| template<typename It > | |
| void | erase (It first, It last) |
| Erases entities from a set. | |
| bool | remove (const entity_type entt) |
| Removes an entity from a sparse set if it exists. | |
| template<typename It > | |
| size_type | remove (It first, It last) |
| Removes entities from a sparse set if they exist. | |
| void | compact () |
| Removes all tombstones from a sparse set. | |
| void | swap_elements (const entity_type lhs, const entity_type rhs) |
| Swaps two entities in a sparse set. | |
| template<typename Compare , typename Sort = std_sort, typename... Args> | |
| void | sort_n (const size_type length, Compare compare, Sort algo=Sort{}, Args &&...args) |
| Sort the first count elements according to the given comparison function. | |
| template<typename Compare , typename Sort = std_sort, typename... Args> | |
| void | sort (Compare compare, Sort algo=Sort{}, Args &&...args) |
| Sort all elements according to the given comparison function. | |
| template<typename It > | |
| void | sort_as (It first, It last) |
| Sort entities according to their order in a range. | |
| void | sort_as (const basic_sparse_set &other) |
| Sort entities according to their order in a range. | |
| void | clear () |
| Clears a sparse set. | |
| const type_info & | type () const noexcept |
| Returned value type, if any. | |
| virtual void | bind (any) noexcept |
| Forwards variables to derived classes, if any. | |
Protected Member Functions | |
| underlying_iterator | try_emplace (const Entity hint, const bool, const void *) override |
| Assigns an entity to a storage. | |
Protected Member Functions inherited from entt::basic_sparse_set< Entity, Allocator > | |
| void | swap_only (const basic_iterator it) |
| Erases an entity from a sparse set. | |
| void | swap_and_pop (const basic_iterator it) |
| Erases an entity from a sparse set. | |
| void | in_place_pop (const basic_iterator it) |
| Erases an entity from a sparse set. | |
| virtual void | pop (basic_iterator first, basic_iterator last) |
| Erases entities from a sparse set. | |
| virtual void | pop_all () |
| Erases all entities of a sparse set. | |
Additional Inherited Members | |
Protected Types inherited from entt::basic_sparse_set< Entity, Allocator > | |
| using | basic_iterator = internal::sparse_set_iterator<packed_container_type> |
| Random access iterator type. | |
Swap-only entity storage specialization.
| Entity | A valid entity type. |
| Allocator | Type of allocator used to manage memory and elements. |
Definition at line 952 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::allocator_type = Allocator |
Allocator type.
Definition at line 984 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::base_type = basic_sparse_set<Entity, Allocator> |
Base type.
Definition at line 976 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::const_iterable = iterable_adaptor<internal::extended_storage_iterator<typename base_type::const_iterator>> |
Constant extended iterable storage proxy.
Definition at line 988 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::const_reverse_iterable = iterable_adaptor<internal::extended_storage_iterator<typename base_type::const_reverse_iterator>> |
Constant extended reverse iterable storage proxy.
Definition at line 992 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::entity_type = Entity |
Underlying entity identifier.
Definition at line 980 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::iterable = iterable_adaptor<internal::extended_storage_iterator<typename base_type::iterator>> |
Extended iterable storage proxy.
Definition at line 986 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::reverse_iterable = iterable_adaptor<internal::extended_storage_iterator<typename base_type::reverse_iterator>> |
Extended reverse iterable storage proxy.
Definition at line 990 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::size_type = std::size_t |
Unsigned integer type.
Definition at line 982 of file storage.hpp.
| using entt::basic_storage< Entity, Entity, Allocator >::value_type = Entity |
Type of the objects assigned to entities.
Definition at line 978 of file storage.hpp.
|
inline |
Default constructor.
Definition at line 995 of file storage.hpp.
|
inlineexplicit |
Constructs an empty container with a given allocator.
| allocator | The allocator to use. |
Definition at line 1003 of file storage.hpp.
|
inlinenoexcept |
Move constructor.
| other | The instance to move from. |
Definition at line 1010 of file storage.hpp.
|
inlinenoexcept |
Allocator-extended move constructor.
| other | The instance to move from. |
| allocator | The allocator to use. |
Definition at line 1018 of file storage.hpp.
|
inlinenoexcept |
Returns an iterable object to use to visit a storage.
The iterable object returns a tuple that contains the current entity.
Definition at line 1167 of file storage.hpp.
|
inlinenoexcept |
Returns an iterable object to use to visit a storage.
The iterable object returns a tuple that contains the current entity.
Definition at line 1162 of file storage.hpp.
|
inline |
Creates a new identifier or recycles a destroyed one.
Definition at line 1063 of file storage.hpp.
|
inline |
Creates a new identifier or recycles a destroyed one.
If the requested identifier isn't in use, the suggested one is used. Otherwise, a new identifier is returned.
| hint | Required identifier. |
Definition at line 1078 of file storage.hpp.
|
inlinenoexcept |
Returns the object assigned to an entity, that is void.
| entt | A valid identifier. |
Definition at line 1040 of file storage.hpp.
|
inlinenoexcept |
Returns an empty tuple.
| entt | A valid identifier. |
Definition at line 1054 of file storage.hpp.
|
inlinenoexcept |
Returns the number of elements considered still in use.
Definition at line 1143 of file storage.hpp.
Sets the number of elements considered still in use.
| len | The number of elements considered still in use. |
Definition at line 1151 of file storage.hpp.
Assigns each element in a range an identifier.
| It | Type of mutable forward iterator. |
| first | An iterator to the first element of the range to generate. |
| last | An iterator past the last element of the range to generate. |
Definition at line 1116 of file storage.hpp.
|
inlinenoexcept |
Move assignment operator.
| other | The instance to move from. |
Definition at line 1026 of file storage.hpp.
Makes all elements in a range contiguous.
| It | Type of forward iterator. |
| first | An iterator to the first element of the range to pack. |
| last | An iterator past the last element of the range to pack. |
Definition at line 1134 of file storage.hpp.
|
inline |
Updates a given identifier.
| Func | Types of the function objects to invoke. |
| entt | A valid identifier. |
| func | Valid function objects. |
Definition at line 1104 of file storage.hpp.
|
inlinenoexcept |
Returns a reverse iterable object to use to visit a storage.
Definition at line 1183 of file storage.hpp.
|
inlinenoexcept |
Returns a reverse iterable object to use to visit a storage.
Definition at line 1178 of file storage.hpp.
|
inlineoverrideprotectedvirtual |
Assigns an entity to a storage.
| hint | A valid identifier. |
Reimplemented from entt::basic_sparse_set< Entity, Allocator >.
Definition at line 970 of file storage.hpp.