CCF
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
ccf::tasks::SubTaskQueue< T > Class Template Reference

#include <sub_task_queue.h>

Public Types

using Visitor = std::function< void(T &&)>
 

Public Member Functions

bool push (T &&t)
 
bool pop_and_visit (Visitor &&visitor)
 
void pause ()
 
bool unpause ()
 
void get_queue_summary (size_t &num_pending, bool &is_active)
 

Protected Attributes

std::mutex pending_mutex
 
std::deque< T > pending
 
std::atomic< bool > active
 
std::atomic< bool > paused
 

Member Typedef Documentation

◆ Visitor

template<typename T >
using ccf::tasks::SubTaskQueue< T >::Visitor = std::function<void(T&&)>

Member Function Documentation

◆ get_queue_summary()

template<typename T >
void ccf::tasks::SubTaskQueue< T >::get_queue_summary ( size_t &  num_pending,
bool &  is_active 
)
inline

◆ pause()

template<typename T >
void ccf::tasks::SubTaskQueue< T >::pause ( )
inline

◆ pop_and_visit()

template<typename T >
bool ccf::tasks::SubTaskQueue< T >::pop_and_visit ( Visitor &&  visitor)
inline

◆ push()

template<typename T >
bool ccf::tasks::SubTaskQueue< T >::push ( T &&  t)
inline

◆ unpause()

template<typename T >
bool ccf::tasks::SubTaskQueue< T >::unpause ( )
inline

Member Data Documentation

◆ active

template<typename T >
std::atomic<bool> ccf::tasks::SubTaskQueue< T >::active
protected

◆ paused

template<typename T >
std::atomic<bool> ccf::tasks::SubTaskQueue< T >::paused
protected

◆ pending

template<typename T >
std::deque<T> ccf::tasks::SubTaskQueue< T >::pending
protected

◆ pending_mutex

template<typename T >
std::mutex ccf::tasks::SubTaskQueue< T >::pending_mutex
protected

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