TwiceAsNice  2019-02-18
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Basda::CircularBuffer< T > Class Template Reference

#include <CircularBuffer.hh>

Collaboration diagram for Basda::CircularBuffer< T >:
Collaboration graph

Public Types

typedef boost::circular_buffer< T > container_type
 
typedef container_type::size_type size_type
 
typedef container_type::value_type value_type
 

Public Member Functions

 CircularBuffer (size_type capacity)
 
void push_front (const value_type &item)
 
void pop_back (value_type *pItem)
 

Private Member Functions

 CircularBuffer (const CircularBuffer &)
 
CircularBufferoperator= (const CircularBuffer &)
 
bool is_not_empty () const
 
bool is_not_full () const
 

Private Attributes

size_type m_unread
 
container_type m_container
 
Nice::Monitor m_monitor
 
Nice::Atomic< boolm_terminated
 

Member Typedef Documentation

◆ container_type

template<class T >
typedef boost::circular_buffer<T> Basda::CircularBuffer< T >::container_type

◆ size_type

template<class T >
typedef container_type::size_type Basda::CircularBuffer< T >::size_type

◆ value_type

Constructor & Destructor Documentation

◆ CircularBuffer() [1/2]

template<class T >
Basda::CircularBuffer< T >::CircularBuffer ( size_type  capacity)
inlineexplicit

◆ CircularBuffer() [2/2]

template<class T >
Basda::CircularBuffer< T >::CircularBuffer ( const CircularBuffer< T > &  )
private

Member Function Documentation

◆ is_not_empty()

template<class T >
bool Basda::CircularBuffer< T >::is_not_empty ( ) const
inlineprivate

◆ is_not_full()

template<class T >
bool Basda::CircularBuffer< T >::is_not_full ( ) const
inlineprivate

◆ operator=()

template<class T >
CircularBuffer& Basda::CircularBuffer< T >::operator= ( const CircularBuffer< T > &  )
private

◆ pop_back()

template<class T >
void Basda::CircularBuffer< T >::pop_back ( value_type pItem)
inline

◆ push_front()

template<class T >
void Basda::CircularBuffer< T >::push_front ( const value_type item)
inline

Member Data Documentation

◆ m_container

template<class T >
container_type Basda::CircularBuffer< T >::m_container
private

◆ m_monitor

template<class T >
Nice::Monitor Basda::CircularBuffer< T >::m_monitor
private

◆ m_terminated

template<class T >
Nice::Atomic<bool> Basda::CircularBuffer< T >::m_terminated
private

◆ m_unread

template<class T >
size_type Basda::CircularBuffer< T >::m_unread
private

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