C/C++ API Reference
Loading...
Searching...
No Matches
pw::Queue< T, SizeType > Class Template Reference

Overview

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
TThe type of elements stored in the queue.
SizeTypeHow to store sizes. A smaller size type limits the maximum number of items, but requires slightly less memory.
Inheritance diagram for pw::Queue< T, SizeType >:
pw::containers::internal::GenericQueue< Derived, Deque > pw::FixedQueue< T, kInlineCapacity, SizeType >

Public Member Functions

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
 
Queueoperator= (const Queue &)=delete
 
 Queue (Queue &&)=delete
 
Queueoperator= (Queue &&)=delete
 
- Public Member Functions inherited from pw::containers::internal::GenericQueue< Derived, Deque >
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 ()
 

Friends

template<typename , typename >
class containers::internal::GenericQueue
 
template<typename , size_t , typename >
class FixedQueue
 

Additional Inherited Members

- Public Types inherited from pw::containers::internal::GenericQueue< Derived, Deque >
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
 
- Protected Member Functions inherited from pw::containers::internal::GenericQueue< Derived, Deque >
constexpr Dequedeque ()
 
constexpr const Dequedeque () const
 

The documentation for this class was generated from the following file: