Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
bounded_buffer< T > Class Template Reference

#include <BoundBuffer.h>

Collaboration diagram for bounded_buffer< T >:
Collaboration graph

Public Types

typedef boost::container::deque< T > container_type
 
typedef container_type::size_type size_type
 
typedef container_type::value_type value_type
 
typedef boost::call_traits< value_type >::param_type param_type
 

Public Member Functions

 bounded_buffer (size_type capacity)
 
void push (typename boost::call_traits< value_type >::param_type item)
 
void push_back (typename boost::call_traits< value_type >::param_type item)
 
void push_drop_oldest (typename boost::call_traits< value_type >::param_type item)
 
bool try_push (typename boost::call_traits< value_type >::param_type item)
 
bool isFull ()
 
value_type pop ()
 
value_type peek ()
 
value_type try_pop ()
 
void clear ()
 
void flush ()
 
void accept ()
 
size_t size ()
 

Private Member Functions

 bounded_buffer (const bounded_buffer &)
 
bounded_bufferoperator= (const bounded_buffer &)
 
bool is_not_empty () const
 
bool is_not_full () const
 
bool is_ready_to_accept () const
 
void acquireLock ()
 
void releaseLock ()
 
void pushUnsafeForQuePushStrategy (typename boost::call_traits< value_type >::param_type item)
 

Private Attributes

bool m_accept
 
size_type m_unread
 
size_type m_capacity
 
container_type m_container
 
boost::mutex m_mutex
 
boost::condition m_not_empty
 
boost::condition m_not_full
 

Friends

class NonBlockingAllOrNonePushStrategy
 

Member Typedef Documentation

◆ container_type

template<class T >
boost::container::deque<T> bounded_buffer< T >::container_type

◆ param_type

template<class T >
boost::call_traits<value_type>::param_type bounded_buffer< T >::param_type

◆ size_type

template<class T >
container_type::size_type bounded_buffer< T >::size_type

◆ value_type

template<class T >
container_type::value_type bounded_buffer< T >::value_type

Constructor & Destructor Documentation

◆ bounded_buffer() [1/2]

template<class T >
bounded_buffer< T >::bounded_buffer ( size_type capacity)
inlineexplicit

◆ bounded_buffer() [2/2]

template<class T >
bounded_buffer< T >::bounded_buffer ( const bounded_buffer< T > & )
private

Member Function Documentation

◆ accept()

template<class T >
void bounded_buffer< T >::accept ( )
inline
Here is the caller graph for this function:

◆ acquireLock()

template<class T >
void bounded_buffer< T >::acquireLock ( )
inlineprivate

◆ clear()

template<class T >
void bounded_buffer< T >::clear ( )
inline
Here is the caller graph for this function:

◆ flush()

template<class T >
void bounded_buffer< T >::flush ( )
inline
Here is the caller graph for this function:

◆ is_not_empty()

template<class T >
bool bounded_buffer< T >::is_not_empty ( ) const
inlineprivate
Here is the caller graph for this function:

◆ is_not_full()

template<class T >
bool bounded_buffer< T >::is_not_full ( ) const
inlineprivate
Here is the caller graph for this function:

◆ is_ready_to_accept()

template<class T >
bool bounded_buffer< T >::is_ready_to_accept ( ) const
inlineprivate

◆ isFull()

template<class T >
bool bounded_buffer< T >::isFull ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

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

◆ peek()

template<class T >
value_type bounded_buffer< T >::peek ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pop()

template<class T >
value_type bounded_buffer< T >::pop ( )
inline
Here is the caller graph for this function:

◆ push()

template<class T >
void bounded_buffer< T >::push ( typename boost::call_traits< value_type >::param_type item)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ push_back()

template<class T >
void bounded_buffer< T >::push_back ( typename boost::call_traits< value_type >::param_type item)
inline
Here is the caller graph for this function:

◆ push_drop_oldest()

template<class T >
void bounded_buffer< T >::push_drop_oldest ( typename boost::call_traits< value_type >::param_type item)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pushUnsafeForQuePushStrategy()

template<class T >
void bounded_buffer< T >::pushUnsafeForQuePushStrategy ( typename boost::call_traits< value_type >::param_type item)
inlineprivate

◆ releaseLock()

template<class T >
void bounded_buffer< T >::releaseLock ( )
inlineprivate

◆ size()

template<class T >
size_t bounded_buffer< T >::size ( )
inline
Here is the caller graph for this function:

◆ try_pop()

template<class T >
value_type bounded_buffer< T >::try_pop ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ try_push()

template<class T >
bool bounded_buffer< T >::try_push ( typename boost::call_traits< value_type >::param_type item)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ NonBlockingAllOrNonePushStrategy

template<class T >
friend class NonBlockingAllOrNonePushStrategy
friend

Member Data Documentation

◆ m_accept

template<class T >
bool bounded_buffer< T >::m_accept
private

◆ m_capacity

template<class T >
size_type bounded_buffer< T >::m_capacity
private

◆ m_container

template<class T >
container_type bounded_buffer< T >::m_container
private

◆ m_mutex

template<class T >
boost::mutex bounded_buffer< T >::m_mutex
private

◆ m_not_empty

template<class T >
boost::condition bounded_buffer< T >::m_not_empty
private

◆ m_not_full

template<class T >
boost::condition bounded_buffer< T >::m_not_full
private

◆ m_unread

template<class T >
size_type bounded_buffer< T >::m_unread
private

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