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

#include <blocking_queue.h>

List of all members.

Public Member Functions

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

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 QueueEmptyCondition () EXCLUSIVE_LOCKS_REQUIRED(mutex_)
bool QueueNotFullCondition () EXCLUSIVE_LOCKS_REQUIRED(mutex_)

Private Attributes

absl::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 > &  )
template<typename T>
cartographer::common::BlockingQueue< T >::BlockingQueue ( const size_t  queue_size) [inline, explicit]

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 > &  )
template<typename T>
template<typename R >
const R* cartographer::common::BlockingQueue< T >::Peek ( ) [inline]

Definition at line 118 of file blocking_queue.h.

template<typename T>
template<typename R >
R* cartographer::common::BlockingQueue< T >::PeekWithTimeout ( const common::Duration  timeout) [inline]

Definition at line 102 of file blocking_queue.h.

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

Definition at line 73 of file blocking_queue.h.

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

Definition at line 86 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 59 of file blocking_queue.h.

template<typename T>
bool cartographer::common::BlockingQueue< T >::QueueEmptyCondition ( ) [inline, private]

Definition at line 143 of file blocking_queue.h.

template<typename T>
bool cartographer::common::BlockingQueue< T >::QueueNotFullCondition ( ) [inline, private]

Definition at line 148 of file blocking_queue.h.

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

Definition at line 127 of file blocking_queue.h.

template<typename T>
void cartographer::common::BlockingQueue< T >::WaitUntilEmpty ( ) [inline]

Definition at line 133 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>
absl::Mutex cartographer::common::BlockingQueue< T >::mutex_ [private]

Definition at line 152 of file blocking_queue.h.


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


cartographer
Author(s): The Cartographer Authors
autogenerated on Thu May 9 2019 02:27:36