tin  1.5.9
tsm::queue< T, StoragePolicy, OverflowPolicy > Class Template Reference

#include <static_ring.h>

Collaboration diagram for tsm::queue< T, StoragePolicy, OverflowPolicy >:
Collaboration graph

Public Types

using value_type = T
 
using storage_policy = StoragePolicy
 
using overflow_policy = OverflowPolicy
 

Public Member Functions

bool try_push (T const &value)
 
bool try_push (T &&value)
 
bool try_pop (T &value)
 
bool empty () const
 
bool full () const
 
std::size_t size () const
 

Detailed Description

template<typename T, typename StoragePolicy, typename OverflowPolicy = overflow::reject_newest>
class tsm::queue< T, StoragePolicy, OverflowPolicy >

Bounded FIFO queue with explicit storage and overflow policies.

This object is the concrete queue counterpart to queue_policy. It owns fixed storage selected by the storage policy and applies the overflow policy when admission finds the storage full.

Member Typedef Documentation

◆ overflow_policy

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
using tsm::queue< T, StoragePolicy, OverflowPolicy >::overflow_policy = OverflowPolicy

◆ storage_policy

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
using tsm::queue< T, StoragePolicy, OverflowPolicy >::storage_policy = StoragePolicy

◆ value_type

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
using tsm::queue< T, StoragePolicy, OverflowPolicy >::value_type = T

Member Function Documentation

◆ empty()

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
bool tsm::queue< T, StoragePolicy, OverflowPolicy >::empty ( ) const
inline

◆ full()

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
bool tsm::queue< T, StoragePolicy, OverflowPolicy >::full ( ) const
inline

◆ size()

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
std::size_t tsm::queue< T, StoragePolicy, OverflowPolicy >::size ( ) const
inline

◆ try_pop()

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
bool tsm::queue< T, StoragePolicy, OverflowPolicy >::try_pop ( T &  value)
inline

◆ try_push() [1/2]

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
bool tsm::queue< T, StoragePolicy, OverflowPolicy >::try_push ( T &&  value)
inline

◆ try_push() [2/2]

template<typename T , typename StoragePolicy , typename OverflowPolicy = overflow::reject_newest>
bool tsm::queue< T, StoragePolicy, OverflowPolicy >::try_push ( T const &  value)
inline

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