mcloud  1.0.0
MCloud API library for cmcc cloud service
mcloud::api::TaskQueue< T, Container > Class Template Reference

A thread-safe deque template. More...

#include <taskqueue.h>

+ Collaboration diagram for mcloud::api::TaskQueue< T, Container >:

Public Types

typedef std::shared_ptr< TaskQueuePtr
 
typedef Container::size_type size_type
 
typedef Container::const_iterator const_iterator
 

Public Member Functions

 TaskQueue ()=default
 
virtual ~TaskQueue ()=default
 
 TaskQueue (TaskQueue &&queue)
 
 TaskQueue (const TaskQueue &queue)
 
TaskQueueoperator= (const TaskQueue &queue)
 
Container::iterator begin ()
 
Container::iterator end ()
 
Container::iterator cbegin () const
 
Container::iterator cend () const
 
size_type size () const
 
bool empty () const
 
void push (const T &task)
 
void push (const TaskQueue &queue)
 
bool try_pop (T &task)
 
const T & operator[] (int index) const
 

Detailed Description

template<typename T, typename Container = std::deque<T>>
class mcloud::api::TaskQueue< T, Container >

A thread-safe deque template.

Definition at line 34 of file taskqueue.h.

Member Typedef Documentation

template<typename T , typename Container = std::deque<T>>
typedef Container::const_iterator mcloud::api::TaskQueue< T, Container >::const_iterator

Definition at line 38 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
typedef std::shared_ptr<TaskQueue> mcloud::api::TaskQueue< T, Container >::Ptr

Definition at line 36 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
typedef Container::size_type mcloud::api::TaskQueue< T, Container >::size_type

Definition at line 37 of file taskqueue.h.

Constructor & Destructor Documentation

template<typename T , typename Container = std::deque<T>>
mcloud::api::TaskQueue< T, Container >::TaskQueue ( )
default
template<typename T , typename Container = std::deque<T>>
virtual mcloud::api::TaskQueue< T, Container >::~TaskQueue ( )
virtualdefault
template<typename T , typename Container = std::deque<T>>
mcloud::api::TaskQueue< T, Container >::TaskQueue ( TaskQueue< T, Container > &&  queue)
inline

Definition at line 44 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
mcloud::api::TaskQueue< T, Container >::TaskQueue ( const TaskQueue< T, Container > &  queue)
inline

Definition at line 49 of file taskqueue.h.

Member Function Documentation

template<typename T , typename Container = std::deque<T>>
Container::iterator mcloud::api::TaskQueue< T, Container >::begin ( )
inline

Definition at line 64 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
Container::iterator mcloud::api::TaskQueue< T, Container >::cbegin ( ) const
inline

Definition at line 74 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
Container::iterator mcloud::api::TaskQueue< T, Container >::cend ( ) const
inline

Definition at line 79 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
bool mcloud::api::TaskQueue< T, Container >::empty ( ) const
inline

Definition at line 89 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
Container::iterator mcloud::api::TaskQueue< T, Container >::end ( )
inline

Definition at line 69 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
TaskQueue& mcloud::api::TaskQueue< T, Container >::operator= ( const TaskQueue< T, Container > &  queue)
inline

Definition at line 54 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
const T& mcloud::api::TaskQueue< T, Container >::operator[] ( int  index) const
inline

Definition at line 117 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
void mcloud::api::TaskQueue< T, Container >::push ( const T &  task)
inline

Definition at line 94 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
void mcloud::api::TaskQueue< T, Container >::push ( const TaskQueue< T, Container > &  queue)
inline

Definition at line 99 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
size_type mcloud::api::TaskQueue< T, Container >::size ( ) const
inline

Definition at line 84 of file taskqueue.h.

template<typename T , typename Container = std::deque<T>>
bool mcloud::api::TaskQueue< T, Container >::try_pop ( T &  task)
inline

Definition at line 106 of file taskqueue.h.


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