|
| | Queue (ice::Allocator &alloc) noexcept |
| | Queue (Queue &&other) noexcept |
| | Queue (Queue const &other) noexcept |
| | ~Queue () noexcept |
| constexpr auto | size () const noexcept -> ice::ncount |
| constexpr auto | capacity () const noexcept -> ice::ncount |
| constexpr void | set_capacity (ice::ncount new_capacity) noexcept |
| constexpr void | resize (ice::ncount new_size) noexcept |
| constexpr void | clear () noexcept |
template<typename ItemType = Type>
requires std::convertible_to<ItemType, Type> && std::is_constructible_v<Type, ItemType> |
| constexpr void | push_front (ItemType &&item) noexcept |
template<typename ItemType = Type>
requires std::convertible_to<ItemType, Type> && std::is_constructible_v<Type, ItemType> |
| constexpr void | push_back (ItemType &&item) noexcept |
template<ice::concepts::ContiguousContainer ContainerT>
requires (ice::concepts::CompatibleContainer<Type, ContainerT>) |
| constexpr void | push_front (ContainerT const &other) noexcept |
template<ice::concepts::ContiguousContainer ContainerT>
requires (ice::concepts::CompatibleContainer<Type, ContainerT>) |
| constexpr void | push_back (ContainerT const &other) noexcept |
| constexpr void | pop_front (ice::ncount count=1_count) noexcept |
| constexpr void | pop_back (ice::ncount count=1_count) noexcept |
| template<typename Self> |
| constexpr auto | front (this Self &&self) noexcept -> ice::container::ValueRef< Self > |
| template<typename Self> |
| constexpr auto | back (this Self &&self) noexcept -> ice::container::ValueRef< Self > |
| template<typename Self, typename Fn> |
| constexpr void | for_each (this Self &&self, Fn &&fn) noexcept |
| template<typename Self, typename Fn> |
| constexpr void | for_each_reverse (this Self &&self, Fn &&fn) noexcept |
| template<typename Self> |
| constexpr auto | take_front (this Self &&self, ice::Span< Type > out_values) noexcept -> ice::ncount |
| constexpr auto | memory_view (this Queue &self) noexcept -> ice::Memory |
| auto | operator= (Queue &&other) noexcept -> Queue & |
| auto | operator= (Queue const &other) noexcept -> Queue & |
| template<typename Self> |
| constexpr auto | operator[] (this Self &&self, ice::nindex idx) noexcept -> ice::container::ValueRef< Self > |
| 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::Queue< Type, Logic >
A double ended queue, build on a circular buffer.
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. This value is set by the user to enforce expected behavior for stored types. |