template<typename T, size_t kInlineCapacity = containers::kExternalStorage, typename SizeType = typename Queue<T>::size_type>
class pw::FixedQueue< T, kInlineCapacity, SizeType >
Queue implementation equivalent to pw::FixedDeque.
- Template Parameters
-
| T | The type of elements stored in the queue. |
| kCapacity | The maximum number of elements the queue can hold. If set to containers::kExternalStorage, the queue storage will be outside the object. |
| SizeType | The type used to store the size of the queue. |
|
| constexpr | FixedQueue () |
| |
|
| FixedQueue (const FixedQueue &)=delete |
| |
|
FixedQueue & | operator= (const FixedQueue &)=delete |
| |
|
constexpr | FixedQueue (FixedQueue &&other) noexcept |
| |
|
constexpr FixedQueue & | operator= (FixedQueue &&other) noexcept |
| |
| template<size_t kOtherCapacity> |
| | MoveItemsFrom (other) |
| |
|
template<size_t kOtherCapacity> |
| | clear () |
| |
|
this | MoveItemsFrom (other) |
| |
| template<size_t kOtherCapacity> |
| void | swap (FixedQueue< T, kOtherCapacity, SizeType > &other) |
| |
|
constexpr Deallocator * | deallocator () const |
| | Returns nullptr; a FixedQueue with static storage never allocates.
|
| |
| constexpr | Queue (span< std::byte > unaligned_buffer) noexcept |
| |
| template<size_t kAlignment, size_t kSizeBytes> |
| constexpr | Queue (containers::Storage< kAlignment, kSizeBytes > &storage) noexcept |
| |
|
| Queue (const Queue &)=delete |
| |
|
Queue & | operator= (const Queue &)=delete |
| |
|
| Queue (Queue &&)=delete |
| |
|
Queue & | operator= (Queue &&)=delete |
| |
|
reference | front () |
| |
|
const_reference | front () const |
| |
|
reference | back () |
| |
|
const_reference | back () const |
| |
|
bool | empty () const noexcept |
| |
|
constexpr bool | full () const noexcept |
| |
|
size_type | size () const noexcept |
| |
|
size_type | max_size () const noexcept |
| |
|
size_type | capacity () const noexcept |
| |
|
void | clear () |
| | Removes all elements from the queue.
|
| |
|
void | push (const value_type &value) |
| |
|
void | push (value_type &&value) |
| |
|
template<typename... Args> |
| void | emplace (Args &&... args) |
| |
|
void | pop () |
| |
|
|
using | const_iterator = typename Deque::const_iterator |
| |
|
using | const_pointer = typename Deque::const_pointer |
| |
|
using | const_reference = typename Deque::const_reference |
| |
|
using | difference_type = typename Deque::difference_type |
| |
|
using | iterator = typename Deque::iterator |
| |
|
using | pointer = typename Deque::pointer |
| |
|
using | reference = typename Deque::reference |
| |
|
using | size_type = typename Deque::size_type |
| |
|
using | value_type = typename Deque::value_type |
| |
|
constexpr Deque & | deque () |
| |
|
constexpr const Deque & | deque () const |
| |