C/C++ API Reference
Loading...
Searching...
No Matches
pw::FixedQueue< T, containers::kExternalStorage, S > Class Template Referencefinal

Overview

template<typename T, typename S>
class pw::FixedQueue< T, containers::kExternalStorage, S >

Specialization of FixedQueue using an external static or dynamically allocated, but fixed, storage buffer. Equivalent to FixedDeque<T>.

Inheritance diagram for pw::FixedQueue< T, containers::kExternalStorage, S >:
pw::Queue< T, S > pw::containers::internal::GenericQueue< Derived, Deque >

Public Member Functions

constexpr FixedQueue (span< std::byte > unaligned_buffer) noexcept
 
template<size_t kAlignment, size_t kSizeBytes>
constexpr FixedQueue (containers::Storage< kAlignment, kSizeBytes > &buffer) noexcept
 
 FixedQueue (const FixedQueue &)=delete
 Copying is not supported since it can fail.
 
FixedQueueoperator= (const FixedQueue &)=delete
 
constexpr FixedQueue (FixedQueue &&other) noexcept
 
constexpr FixedQueueoperator= (FixedQueue &&other) noexcept
 
void swap (FixedQueue &other) noexcept
 
template<size_t kInlineCapacity>
void swap (FixedQueue< T, kInlineCapacity, S > &other)
 
constexpr Deallocatordeallocator () const
 
- Public Member Functions inherited from pw::Queue< T, S >
constexpr Queue (span< std::byte > unaligned_buffer) noexcept
 
constexpr Queue (containers::Storage< kAlignment, kSizeBytes > &storage) noexcept
 
 Queue (const Queue &)=delete
 
 Queue (Queue &&)=delete
 
Queueoperator= (const 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 push_overwrite (const value_type &value)
 
void push_overwrite (value_type &&value)
 
template<typename... Args>
void emplace_overwrite (Args &&... args)
 
void pop ()
 

Static Public Member Functions

static FixedQueue Allocate (Allocator &allocator, const S capacity)
 
static FixedQueue TryAllocate (Allocator &allocator, S capacity)
 
static FixedQueue WithStorage (UniquePtr< std::byte[]> &&storage)
 

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: