|
| | Array (ice::Allocator &alloc) noexcept |
| | ~Array () noexcept |
| | Array (Array &&other) noexcept |
| | Array (Array const &other) noexcept |
| | Array (ice::Allocator &alloc, ice::Span< Type const > values) noexcept |
| auto | operator= (Array &&other) noexcept -> Array & |
| auto | operator= (Array const &other) noexcept -> Array & |
| constexpr auto | size () const noexcept -> SizeType |
| template<typename Self> |
| constexpr auto | data (this Self &self) noexcept -> ice::container::ValuePtr< Self > |
| constexpr auto | capacity () const noexcept -> SizeType |
| constexpr void | set_capacity (SizeType new_capacity) noexcept |
| constexpr void | resize (SizeType new_size) noexcept |
| constexpr void | clear () noexcept |
template<typename ItemType = Type>
requires std::convertible_to<ItemType, Type> && std::is_constructible_v<Type, ItemType> |
| void | push_back (ItemType &&item) noexcept |
template<ice::concepts::IterableContainer ContainerT>
requires (ice::concepts::CompatibleContainer<Type, ContainerT>) |
| void | push_back (ContainerT const &other) noexcept |
| void | pop_back (ice::ncount count=1_count) noexcept |
| void | remove_at (ice::nindex index) noexcept |
| constexpr auto | data_view (this Array const &self) noexcept -> ice::Data |
| constexpr auto | memory_view (this Array &self) noexcept -> ice::Memory |
| | operator ice::Span< Type > () noexcept |
| | operator ice::Span< Type const > () const noexcept |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | first (this Self &&self) noexcept -> ice::container::ValueRef< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | last (this Self &&self) noexcept -> ice::container::ValueRef< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | subspan (this Self &&self, ice::nindex from, ice::ncount count=ice::ncount_none) noexcept -> ice::container::SpanType< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | subspan (this Self &&self, ice::ref32 refval) noexcept -> ice::container::SpanType< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | headspan (this Self &&self, ice::ncount count=1) noexcept -> ice::container::SpanType< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | tailspan (this Self &&self, ice::nindex offset=1) noexcept -> ice::container::SpanType< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | begin (this Self &&self) noexcept -> ice::container::Iterator< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | end (this Self &&self) noexcept -> ice::container::Iterator< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | rbegin (this Self &&self) noexcept -> ice::container::ReverseIterator< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | rend (this Self &&self) noexcept -> ice::container::ReverseIterator< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | index_of (this Self const &self, ice::container::ValueRef< Self > value) noexcept -> ice::nindex |
| template<ice::concepts::ContiguousContainer Self, typename Predicate, typename... Args> |
| constexpr auto | index_of (this Self const &self, Predicate const &predicate, Args const &... args) noexcept -> ice::nindex |
| template<ice::concepts::ContiguousContainer Self> |
| constexpr auto | operator[] (this Self &&self, ice::nindex index) noexcept -> ice::container::ValueRef< Self > |
| template<ice::concepts::ContiguousContainer Self> |
| auto | meminfo (this Self const &self) noexcept -> ice::meminfo |
template<ice::concepts::ContiguousResizableContainer Self>
requires (ice::concepts::TrivialContainerLogic<Self>) |
| auto | memset (this Self const &self, ice::u8 value) noexcept -> ice::Memory |
| template<ice::concepts::Container Self> |
| constexpr bool | is_empty (this Self const &self) noexcept |
| template<ice::concepts::Container Self> |
| constexpr bool | not_empty (this Self const &self) noexcept |
| template<ice::concepts::ResizableContainer Self> |
| constexpr bool | is_full (this Self const &self) noexcept |
| template<ice::concepts::ResizableContainer Self> |
| constexpr bool | not_full (this Self const &self) noexcept |
| template<ice::concepts::ResizableContainer Self> |
| constexpr void | reserve (this Self &self, ice::ncount min_capacity) noexcept |
| template<ice::concepts::ResizableContainer Self> |
| constexpr void | grow (this Self &self, ice::ncount min_capacity=ice::ncount_none) noexcept |
| template<ice::concepts::ResizableContainer Self> |
| constexpr void | shrink (this Self &self) noexcept |
template<typename Type,
ice::ContainerLogic Logic = ice::Constant_DefaultContainerLogic<Type>>
struct ice::Array< Type, Logic >
A simple container storing items in continuous memory.
Manages a memory block big enough to hold the items that it holds.
- Template Parameters
-
| Logic | The logic used during memory operations for the given type. The user can set this value to enforce expected behavior for stored types. |