spdlog
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
spdlog::details::mpmc_blocking_queue< T > Class Template Reference

Detailed Description

template<typename T>
class spdlog::details::mpmc_blocking_queue< T >

Definition at line 22 of file mpmc_blocking_q.h.

#include <mpmc_blocking_q.h>

Inheritance diagram for spdlog::details::mpmc_blocking_queue< T >:
[legend]

Public Types

using item_type = T
 

Public Member Functions

 mpmc_blocking_queue (size_t max_items)
 
void enqueue (T &&item)
 
void enqueue_nowait (T &&item)
 
bool dequeue_for (T &popped_item, std::chrono::milliseconds wait_duration)
 
size_t overrun_counter ()
 
size_t size ()
 

Private Attributes

std::mutex queue_mutex_
 
std::condition_variable push_cv_
 
std::condition_variable pop_cv_
 
spdlog::details::circular_q< Tq_
 

Member Typedef Documentation

◆ item_type

template<typename T >
using spdlog::details::mpmc_blocking_queue< T >::item_type = T

Definition at line 25 of file mpmc_blocking_q.h.

Constructor & Destructor Documentation

◆ mpmc_blocking_queue()

template<typename T >
spdlog::details::mpmc_blocking_queue< T >::mpmc_blocking_queue ( size_t  max_items)
inlineexplicit

Definition at line 26 of file mpmc_blocking_q.h.

Member Function Documentation

◆ dequeue_for()

template<typename T >
bool spdlog::details::mpmc_blocking_queue< T >::dequeue_for ( T popped_item,
std::chrono::milliseconds  wait_duration 
)
inline

Definition at line 54 of file mpmc_blocking_q.h.

◆ enqueue()

template<typename T >
void spdlog::details::mpmc_blocking_queue< T >::enqueue ( T &&  item)
inline

Definition at line 32 of file mpmc_blocking_q.h.

◆ enqueue_nowait()

template<typename T >
void spdlog::details::mpmc_blocking_queue< T >::enqueue_nowait ( T &&  item)
inline

Definition at line 43 of file mpmc_blocking_q.h.

◆ overrun_counter()

template<typename T >
size_t spdlog::details::mpmc_blocking_queue< T >::overrun_counter ( )
inline

Definition at line 107 of file mpmc_blocking_q.h.

◆ size()

template<typename T >
size_t spdlog::details::mpmc_blocking_queue< T >::size ( )
inline

Definition at line 113 of file mpmc_blocking_q.h.

Member Data Documentation

◆ pop_cv_

template<typename T >
std::condition_variable spdlog::details::mpmc_blocking_queue< T >::pop_cv_
private

Definition at line 122 of file mpmc_blocking_q.h.

◆ push_cv_

template<typename T >
std::condition_variable spdlog::details::mpmc_blocking_queue< T >::push_cv_
private

Definition at line 121 of file mpmc_blocking_q.h.

◆ q_

Definition at line 123 of file mpmc_blocking_q.h.

◆ queue_mutex_

template<typename T >
std::mutex spdlog::details::mpmc_blocking_queue< T >::queue_mutex_
private

Definition at line 120 of file mpmc_blocking_q.h.


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