TwiceAsNice  2019-02-18
Public Member Functions | Private Attributes | List of all members
Nice::limited_queue< T, Container > Class Template Reference

#include <LimitedQueue.h>

Collaboration diagram for Nice::limited_queue< T, Container >:
Collaboration graph

Public Member Functions

 limited_queue (const Container &ctnr=Container())
 
bool empty (void) const
 
size_t size (void) const
 
size_t max_size (void) const
 
void set_max_size (size_t m)
 
T & back (void)
 
const T & back (void) const
 
T & front (void)
 
const T & front (void) const
 
void push (const T &u)
 
void pop (void)
 
 operator std::queue< T, Container > ()
 

Private Attributes

std::queue< T, Container > storage
 
boost::mutex mutex
 
boost::condition_variable emptyCond
 
boost::condition_variable fullCond
 
size_t my_max_size
 

Constructor & Destructor Documentation

◆ limited_queue()

template<class T , class Container = std::deque<T>>
Nice::limited_queue< T, Container >::limited_queue ( const Container &  ctnr = Container())
inlineexplicit

Member Function Documentation

◆ back() [1/2]

template<class T , class Container = std::deque<T>>
T& Nice::limited_queue< T, Container >::back ( void  )
inline

◆ back() [2/2]

template<class T , class Container = std::deque<T>>
const T& Nice::limited_queue< T, Container >::back ( void  ) const
inline

◆ empty()

template<class T , class Container = std::deque<T>>
bool Nice::limited_queue< T, Container >::empty ( void  ) const
inline

◆ front() [1/2]

template<class T , class Container = std::deque<T>>
T& Nice::limited_queue< T, Container >::front ( void  )
inline

◆ front() [2/2]

template<class T , class Container = std::deque<T>>
const T& Nice::limited_queue< T, Container >::front ( void  ) const
inline

◆ max_size()

template<class T , class Container = std::deque<T>>
size_t Nice::limited_queue< T, Container >::max_size ( void  ) const
inline

◆ operator std::queue< T, Container >()

template<class T , class Container = std::deque<T>>
Nice::limited_queue< T, Container >::operator std::queue< T, Container > ( )
inline

◆ pop()

template<class T , class Container = std::deque<T>>
void Nice::limited_queue< T, Container >::pop ( void  )
inline

◆ push()

template<class T , class Container = std::deque<T>>
void Nice::limited_queue< T, Container >::push ( const T &  u)
inline

◆ set_max_size()

template<class T , class Container = std::deque<T>>
void Nice::limited_queue< T, Container >::set_max_size ( size_t  m)
inline

◆ size()

template<class T , class Container = std::deque<T>>
size_t Nice::limited_queue< T, Container >::size ( void  ) const
inline

Member Data Documentation

◆ emptyCond

template<class T , class Container = std::deque<T>>
boost::condition_variable Nice::limited_queue< T, Container >::emptyCond
mutableprivate

◆ fullCond

template<class T , class Container = std::deque<T>>
boost::condition_variable Nice::limited_queue< T, Container >::fullCond
mutableprivate

◆ mutex

template<class T , class Container = std::deque<T>>
boost::mutex Nice::limited_queue< T, Container >::mutex
mutableprivate

◆ my_max_size

template<class T , class Container = std::deque<T>>
size_t Nice::limited_queue< T, Container >::my_max_size
private

◆ storage

template<class T , class Container = std::deque<T>>
std::queue<T, Container> Nice::limited_queue< T, Container >::storage
private

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