AllianceDB  0.0.1
AllianceDB is an open-source suite, including benchmarks and libs for evaluating and improving stream operation algorithms on modern hardwares.
INTELLI::SPSCQueue< T, Allocator > Class Template Reference
Collaboration diagram for INTELLI::SPSCQueue< T, Allocator >:

Public Member Functions

 SPSCQueue (const size_t capacity, const Allocator &allocator=Allocator())
 
 SPSCQueue (const SPSCQueue &)=delete
 
SPSCQueueoperator= (const SPSCQueue &)=delete
 
void wakeUpSink (void)
 
void waitForSource (void)
 
template<typename... Args>
void emplace (Args &&...args) noexcept(std::is_nothrow_constructible< T, Args &&... >::value)
 
template<typename... Args>
bool try_emplace (Args &&...args) noexcept(std::is_nothrow_constructible< T, Args &&... >::value)
 
void push (const T &v) noexcept(std::is_nothrow_copy_constructible< T >::value)
 
template<typename P , typename = typename std::enable_if< std::is_constructible<T, P &&>::value>::type>
void push (P &&v) noexcept(std::is_nothrow_constructible< T, P && >::value)
 
bool try_push (const T &v) noexcept(std::is_nothrow_copy_constructible< T >::value)
 
template<typename P , typename = typename std::enable_if< std::is_constructible<T, P &&>::value>::type>
bool try_push (P &&v) noexcept(std::is_nothrow_constructible< T, P && >::value)
 
T * front () noexcept
 
void pop () noexcept
 
size_t size () const noexcept
 
bool empty () const noexcept
 
size_t capacity () const noexcept
 

Public Attributes

pthread_cond_t cond
 
pthread_mutex_t mutex
 
std::mutex g_mutex
 
condition_variable g_con
 

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