![]() |
Gaia-ECS v1.0.0
A simple and powerful entity component system
|
Contiguous storage adapter used by ilist by default. More...
#include <ilist.h>
Inheritance diagram for gaia::cnt::darray_ilist_storage< TListItem >:Public Member Functions | |
| void | add_item (TListItem &&container) |
| Appends a live item. | |
| void | del_item (TListItem &container) |
| Notifies the storage adapter that an item is being recycled. | |
Public Member Functions inherited from gaia::cnt::darr< T, Allocator > | |
| darr (core::zero_t) noexcept | |
| Constructs a value-initialized container. | |
| darr (size_type count, const_reference value) | |
| Constructs a container with copies of a value. | |
| darr (size_type count) | |
| Constructs a container with the requested number of value-initialized elements. | |
| template<typename InputIt > | |
| darr (InputIt first, InputIt last) | |
| Constructs a container from an iterator range. | |
| darr (std::initializer_list< T > il) | |
| Constructs a container from an initializer list. | |
| darr (const darr &other) | |
| Copy-constructs a container. | |
| darr (darr &&other) noexcept | |
| Move-constructs a container. | |
| darr & | operator= (std::initializer_list< T > il) |
| Replaces the elements from an initializer list. | |
| darr & | operator= (const darr &other) |
| Copy-assigns the container. | |
| darr & | operator= (darr &&other) noexcept |
| Move-assigns the container. | |
| GAIA_NODISCARD pointer | data () noexcept |
| Returns a pointer to the element storage. | |
| GAIA_NODISCARD const_pointer | data () const noexcept |
| Returns a pointer to the element storage. | |
| GAIA_NODISCARD decltype(auto) | operator[] (size_type pos) noexcept |
| Accesses an element without bounds checking in optimized builds. | |
| GAIA_NODISCARD decltype(auto) | operator[] (size_type pos) const noexcept |
| Accesses an element without bounds checking in optimized builds. | |
| void | reserve (size_type cap) |
| Ensures storage for at least the requested number of elements. | |
| void | resize (size_type count) |
| Changes the number of elements. | |
| void | resize (size_type count, const_reference value) |
| Changes the size and initializes new elements from a value. | |
| void | push_back (const T &arg) |
| Appends an element. | |
| void | push_back (T &&arg) |
| Appends an element. | |
| template<typename... Args> | |
| decltype(auto) | emplace_back (Args &&... args) |
| Constructs and appends an element. | |
| void | pop_back () noexcept |
| Removes the last element. | |
| iterator | insert (iterator pos, const T &arg) |
| Insert the element to the position given by iterator pos. | |
| iterator | insert (iterator pos, T &&arg) |
| Insert the element to the position given by iterator pos. | |
| iterator | erase (iterator pos) noexcept |
| Removes the element at pos. | |
| iterator | erase (iterator first, iterator last) noexcept |
| Removes the elements in the range [first, last) | |
| void | clear () noexcept |
| Removes all elements. | |
| void | shrink_to_fit () |
| Reduces allocated storage to match the current size when possible. | |
| template<typename Func > | |
| auto | retain (Func &&func) |
| Removes all elements that fail the predicate. | |
| GAIA_NODISCARD size_type | size () const noexcept |
| Returns the number of elements. | |
| GAIA_NODISCARD bool | empty () const noexcept |
| Checks whether the container has no elements. | |
| GAIA_NODISCARD size_type | capacity () const noexcept |
| Returns the number of elements that fit without reallocation. | |
| GAIA_NODISCARD size_type | max_size () const noexcept |
| Returns the maximum number of elements supported by this container. | |
| GAIA_NODISCARD decltype(auto) | front () noexcept |
| Accesses the first element. | |
| GAIA_NODISCARD decltype(auto) | front () const noexcept |
| Accesses the first element. | |
| GAIA_NODISCARD decltype(auto) | back () noexcept |
| Accesses the last element. | |
| GAIA_NODISCARD decltype(auto) | back () const noexcept |
| Accesses the last element. | |
| GAIA_NODISCARD auto | begin () noexcept |
| Returns an iterator to the first element. | |
| GAIA_NODISCARD auto | begin () const noexcept |
| Returns an iterator to the first element. | |
| GAIA_NODISCARD auto | cbegin () const noexcept |
| Returns a read-only iterator to the first element. | |
| GAIA_NODISCARD auto | rbegin () noexcept |
| Returns a reverse traversal iterator to the last element. | |
| GAIA_NODISCARD auto | rbegin () const noexcept |
| Returns a reverse traversal iterator to the last element. | |
| GAIA_NODISCARD auto | crbegin () const noexcept |
| Returns a read-only reverse traversal iterator to the last element. | |
| GAIA_NODISCARD auto | end () noexcept |
| Returns an iterator one past the last element. | |
| GAIA_NODISCARD auto | end () const noexcept |
| Returns an iterator one past the last element. | |
| GAIA_NODISCARD auto | cend () const noexcept |
| Returns a read-only iterator one past the last element. | |
| GAIA_NODISCARD auto | rend () noexcept |
| Returns the reverse traversal sentinel preceding the first element. | |
| GAIA_NODISCARD auto | rend () const noexcept |
| Returns the reverse traversal sentinel preceding the first element. | |
| GAIA_NODISCARD auto | crend () const noexcept |
| Returns the read-only reverse traversal sentinel preceding the first element. | |
| GAIA_NODISCARD bool | operator== (const darr &other) const noexcept |
| Compares two containers element by element. | |
| GAIA_NODISCARD constexpr bool | operator!= (const darr &other) const noexcept |
| Checks whether two containers differ. | |
Additional Inherited Members | |
Public Types inherited from gaia::cnt::darr< T, Allocator > | |
| using | value_type = T |
| Element type stored by the container. | |
| using | reference = T & |
| Mutable element reference type. | |
| using | const_reference = const T & |
| Read-only element reference type. | |
| using | pointer = T * |
| Mutable element pointer type. | |
| using | const_pointer = const T * |
| Read-only element pointer type. | |
| using | view_policy = mem::data_view_policy_aos< T > |
| Data-layout access policy used by the container. | |
| using | difference_type = darr_detail::difference_type |
| Type used for iterator differences. | |
| using | size_type = darr_detail::size_type |
| Unsigned type used for sizes and indices. | |
| using | iterator = pointer |
| Mutable random-access iterator type. | |
| using | const_iterator = const_pointer |
| Read-only random-access iterator type. | |
| using | iterator_category = core::random_access_iterator_tag |
| Iterator category exposed by the container. | |
Static Public Attributes inherited from gaia::cnt::darr< T, Allocator > | |
| static constexpr size_t | value_size = sizeof(T) |
| Size of one element in bytes. | |
Contiguous storage adapter used by ilist by default.
| TListItem | Implicit-list item type. |
|
inline |
Appends a live item.
| container | Item to move into storage. |
|
inline |
Notifies the storage adapter that an item is being recycled.
| container | Item being recycled. Contiguous storage keeps the slot in place. |