template<typename T, typename SizeType = uint16_t>
class pw::Queue< T, SizeType >
A queue implementation backed by pw::Deque.
This class provides a std::queue-like interface and stores items in a caller-provided, fixed-size buffer.
- Template Parameters
-
| T | The type of elements stored in the queue. |
| SizeType | How to store sizes. A smaller size type limits the maximum number of items, but requires slightly less memory. |
|
| 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 |
| |