Skip to main content
Pigweed's logo Pigweed
  1. Home
  2. Reference
  3. C/C++
  4. pw_containers
  5. Queues
  6. C++ API
  7. pw::BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized > Class Template Reference
Loading...
Searching...
No Matches
pw::BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized > Class Template Reference

Overview

template<typename T>
class pw::BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized >

Variable-length entry queue class template for any byte type (e.g. std::byte or uint8_t).

BasicInlineVarLenEntryQueue instances are declared with their capacity / max single entry size (BasicInlineVarLenEntryQueue<char, 64>), but may be referred to without the size (BasicInlineVarLenEntryQueue<char>&).

Inheritance diagram for pw::BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized >:
pw::containers::internal::GenericVarLenEntryQueue< BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized >, T > pw::containers::internal::GenericVarLenEntryQueueBase

Public Types

using value_type = containers::internal::VarLenEntry< T >
 
using const_value_type = containers::internal::VarLenEntry< const T >
 
using size_type = std::uint32_t
 
using pointer = const value_type *
 
using const_pointer = pointer
 
using reference = const value_type &
 
using const_reference = reference
 
- Public Types inherited from pw::containers::internal::GenericVarLenEntryQueue< BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized >, T >
using value_type = containers::internal::VarLenEntry< T >
 
using const_value_type = containers::internal::VarLenEntry< const T >
 
using iterator = VarLenEntryQueueIterator< T >
 
using const_iterator = VarLenEntryQueueIterator< const T >
 

Public Member Functions

span< const T > raw_storage () const
 
- Public Member Functions inherited from pw::containers::internal::GenericVarLenEntryQueue< BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized >, T >
constexpr iterator begin ()
 Returns an iterator to the start of the queue.
 
constexpr const_iterator begin () const
 
constexpr const_iterator cbegin () const
 
constexpr iterator end ()
 Returns an iterator to the end of the queue.
 
constexpr const_iterator end () const
 
constexpr const_iterator cend () const
 
constexpr bool empty () const
 Returns true if the queue is empty, false if it has at least one entry.
 
constexpr size_t size () const
 
constexpr size_t max_size () const
 
constexpr size_t size_bytes () const
 
constexpr size_t encoded_size_bytes () const
 
constexpr size_t max_size_bytes () const
 
constexpr value_type front ()
 
constexpr const_value_type front () const
 
constexpr void push (span< const T > data)
 
constexpr bool try_push (span< const T > data)
 
constexpr void push_overwrite (span< const T > data)
 
constexpr void pop ()
 
constexpr void clear ()
 Empties the queue.
 
constexpr std::pair< span< const T >, span< const T > > contiguous_raw_storage () const
 
span< const T > dering ()
 Moves entries to be contiguous and start from the beginning of the buffer.
 

Static Public Member Functions

template<size_t kArraySize>
static BasicInlineVarLenEntryQueueInit (uint32_t(&array)[kArraySize])
 
static BasicInlineVarLenEntryQueueInit (uint32_t array[], size_t array_size_uint32)
 
- Static Public Member Functions inherited from pw::containers::internal::GenericVarLenEntryQueue< BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized >, T >
static constexpr size_t DataSizeBytes (size_t max_size_bytes)
 

Friends

template<typename , typename >
class containers::internal::GenericVarLenEntryQueue
 

Additional Inherited Members

- Protected Member Functions inherited from pw::containers::internal::GenericVarLenEntryQueue< BasicInlineVarLenEntryQueue< T, containers::internal::kGenericSized >, T >
constexpr size_t GetHead () const
 
constexpr void SetHead (size_t head)
 
constexpr size_t GetTail () const
 
constexpr void SetTail (size_t tail)
 
constexpr span< T > GetBuffer ()
 
constexpr span< const T > GetBuffer () const
 
constexpr ByteSpan GetBytes ()
 
constexpr ConstByteSpan GetBytes () const
 

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