Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
cartographer::common::BlockingQueue< T > Class Template Reference

#include <blocking_queue.h>

Public Member Functions

 BlockingQueue ()
 
 BlockingQueue (const BlockingQueue &)=delete
 
 BlockingQueue (const size_t queue_size)
 
BlockingQueueoperator= (const BlockingQueue &)=delete
 
template<typename R >
const R * Peek ()
 
Pop ()
 
PopWithTimeout (const common::Duration timeout)
 
void Push (T t)
 
bool PushWithTimeout (T t, const common::Duration timeout)
 
size_t Size ()
 

Static Public Attributes

static constexpr size_t kInfiniteQueueSize = 0
 

Private Member Functions

const size_t queue_size_ GUARDED_BY (mutex_)
 
std::deque< T > deque_ GUARDED_BY (mutex_)
 
bool QueueNotEmptyCondition () REQUIRES(mutex_)
 
bool QueueNotFullCondition () REQUIRES(mutex_)
 

Private Attributes

Mutex mutex_
 

Detailed Description

template<typename T>
class cartographer::common::BlockingQueue< T >

Definition at line 35 of file blocking_queue.h.

Constructor & Destructor Documentation

template<typename T>
cartographer::common::BlockingQueue< T >::BlockingQueue ( )
inline

Definition at line 40 of file blocking_queue.h.

template<typename T>
cartographer::common::BlockingQueue< T >::BlockingQueue ( const BlockingQueue< T > &  )
delete
template<typename T>
cartographer::common::BlockingQueue< T >::BlockingQueue ( const size_t  queue_size)
inlineexplicit

Definition at line 46 of file blocking_queue.h.

Member Function Documentation

template<typename T>
const size_t queue_size_ cartographer::common::BlockingQueue< T >::GUARDED_BY ( mutex_  )
private
template<typename T>
std::deque<T> deque_ cartographer::common::BlockingQueue< T >::GUARDED_BY ( mutex_  )
private
template<typename T>
BlockingQueue& cartographer::common::BlockingQueue< T >::operator= ( const BlockingQueue< T > &  )
delete
template<typename T>
template<typename R >
const R* cartographer::common::BlockingQueue< T >::Peek ( )
inline

Definition at line 94 of file blocking_queue.h.

template<typename T>
T cartographer::common::BlockingQueue< T >::Pop ( )
inline

Definition at line 68 of file blocking_queue.h.

template<typename T>
T cartographer::common::BlockingQueue< T >::PopWithTimeout ( const common::Duration  timeout)
inline

Definition at line 78 of file blocking_queue.h.

template<typename T>
void cartographer::common::BlockingQueue< T >::Push ( t)
inline

Definition at line 49 of file blocking_queue.h.

template<typename T>
bool cartographer::common::BlockingQueue< T >::PushWithTimeout ( t,
const common::Duration  timeout 
)
inline

Definition at line 56 of file blocking_queue.h.

template<typename T>
bool cartographer::common::BlockingQueue< T >::QueueNotEmptyCondition ( )
inlineprivate

Definition at line 110 of file blocking_queue.h.

template<typename T>
bool cartographer::common::BlockingQueue< T >::QueueNotFullCondition ( )
inlineprivate

Definition at line 113 of file blocking_queue.h.

template<typename T>
size_t cartographer::common::BlockingQueue< T >::Size ( )
inline

Definition at line 103 of file blocking_queue.h.

Member Data Documentation

template<typename T>
constexpr size_t cartographer::common::BlockingQueue< T >::kInfiniteQueueSize = 0
static

Definition at line 37 of file blocking_queue.h.

template<typename T>
Mutex cartographer::common::BlockingQueue< T >::mutex_
private

Definition at line 117 of file blocking_queue.h.


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


cartographer
Author(s):
autogenerated on Mon Jun 10 2019 12:51:39