![]() |
Gaia-ECS v0.9.3
A simple and powerful entity component system
|
Array of elements of type. More...
#include <darray_ext_impl.h>
Public Types | |
| using | value_type = T |
| using | reference = T & |
| using | const_reference = const T & |
| using | pointer = T * |
| using | const_pointer = const T * |
| using | view_policy = mem::data_view_policy_aos< T > |
| using | difference_type = darr_ext_detail::difference_type |
| using | size_type = darr_ext_detail::size_type |
| using | iterator = pointer |
| using | const_iterator = const_pointer |
| using | iterator_category = core::random_access_iterator_tag |
Public Member Functions | |
| darr_ext (core::zero_t) noexcept | |
| darr_ext (size_type count, const_reference value) | |
| darr_ext (size_type count) | |
| template<typename InputIt > | |
| darr_ext (InputIt first, InputIt last) | |
| darr_ext (std::initializer_list< T > il) | |
| darr_ext (const darr_ext &other) | |
| darr_ext (darr_ext &&other) noexcept | |
| darr_ext & | operator= (std::initializer_list< T > il) |
| darr_ext & | operator= (const darr_ext &other) |
| darr_ext & | operator= (darr_ext &&other) noexcept |
| GAIA_NODISCARD pointer | data () noexcept |
| GAIA_NODISCARD const_pointer | data () const noexcept |
| GAIA_NODISCARD decltype(auto) | operator[] (size_type pos) noexcept |
| GAIA_NODISCARD decltype(auto) | operator[] (size_type pos) const noexcept |
| void | reserve (size_type cap) |
| void | resize (size_type count) |
| void | resize (size_type count, const_reference value) |
| void | push_back (const T &arg) |
| void | push_back (T &&arg) |
| template<typename... Args> | |
| decltype(auto) | emplace_back (Args &&... args) |
| void | pop_back () noexcept |
| 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 |
| void | shrink_to_fit () |
| template<typename Func > | |
| auto | retain (Func &&func) noexcept |
| Removes all elements that fail the predicate. | |
| GAIA_NODISCARD size_type | size () const noexcept |
| GAIA_NODISCARD bool | empty () const noexcept |
| GAIA_NODISCARD size_type | capacity () const noexcept |
| GAIA_NODISCARD size_type | max_size () const noexcept |
| GAIA_NODISCARD decltype(auto) | front () noexcept |
| GAIA_NODISCARD decltype(auto) | front () const noexcept |
| GAIA_NODISCARD decltype(auto) | back () noexcept |
| GAIA_NODISCARD decltype(auto) | back () const noexcept |
| GAIA_NODISCARD auto | begin () noexcept |
| GAIA_NODISCARD auto | begin () const noexcept |
| GAIA_NODISCARD auto | cbegin () const noexcept |
| GAIA_NODISCARD auto | rbegin () noexcept |
| GAIA_NODISCARD auto | rbegin () const noexcept |
| GAIA_NODISCARD auto | crbegin () const noexcept |
| GAIA_NODISCARD auto | end () noexcept |
| GAIA_NODISCARD auto | end () const noexcept |
| GAIA_NODISCARD auto | cend () const noexcept |
| GAIA_NODISCARD auto | rend () noexcept |
| GAIA_NODISCARD auto | rend () const noexcept |
| GAIA_NODISCARD auto | crend () const noexcept |
| GAIA_NODISCARD bool | operator== (const darr_ext &other) const noexcept |
| GAIA_NODISCARD constexpr bool | operator!= (const darr_ext &other) const noexcept |
Static Public Attributes | |
| static constexpr size_t | value_size = sizeof(T) |
| static constexpr size_type | extent = N |
| static constexpr uint32_t | allocated_bytes = view_policy::get_min_byte_size(0, N) |
Array of elements of type.
| T | allocated on heap or stack. Stack capacity is |
| N | elements. If the number of elements is bellow |
| N | the stack storage is used. If the number of elements is above |
| N | the heap storage is used. Interface compatiblity with std::vector and std::array where it matters. |
|
inlinenoexcept |
Removes the elements in the range [first, last)
| first | Iterator to the element to remove |
| last | Iterator to the one beyond the last element to remove |
|
inlinenoexcept |
Removes the element at pos.
| pos | Iterator to the element to remove |
|
inline |
Insert the element to the position given by iterator pos.
| pos | Position in the container |
| arg | Data to insert |
|
inline |
Insert the element to the position given by iterator pos.
| pos | Positing in the container |
| arg | Data to insert |
|
inlinenoexcept |
Removes all elements that fail the predicate.
| func | A lambda or a functor with the bool operator()(Container::value_type&) overload. |