neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::queue< QueueItem > Class Template Reference

#include <queue.hpp>

Inheritance diagram for neolib::queue< QueueItem >:

Classes

struct  no_sink
 
class  sink
 

Public Types

typedef QueueItem value_type
 

Public Member Functions

 queue ()
 
 queue (sink &aSink)
 
void wait ()
 
bool wait (uint32_t aTimeout_ms)
 
void loop (bool(*aYieldProc)()=nullptr)
 
void loop (uint32_t aTimeout_ms, bool(*aYieldProc)()=nullptr)
 
void send (const QueueItem &aItem)
 
bool send (const QueueItem &aItem, uint32_t aTimeout_ms)
 
void send (const event &aEvent, const QueueItem &aItem)
 
bool send (const event &aEvent, const QueueItem &aItem, uint32_t aTimeout_ms)
 
void interlocked_send (const interlockable &aOther, const QueueItem &aItem)
 
bool interlocked_send (const interlockable &aOther, const QueueItem &aItem, uint32_t aTimeout_ms)
 
void interlocked_send (const interlockable &aOther, const event &aEvent, const QueueItem &aItem)
 
bool interlocked_send (const interlockable &aOther, const event &aEvent, const QueueItem &aItem, uint32_t aTimeout_ms)
 
void post (const QueueItem &aItem)
 
QueueItemnext ()
 
void pop_next ()
 
bool any () const
 
void clear ()
 

Detailed Description

template<typename QueueItem>
class neolib::queue< QueueItem >

Definition at line 47 of file queue.hpp.

Member Typedef Documentation

◆ value_type

Definition at line 51 of file queue.hpp.

Constructor & Destructor Documentation

◆ queue() [1/2]

template<typename QueueItem >
neolib::queue< QueueItem >::queue ( )
inline

Definition at line 90 of file queue.hpp.

◆ queue() [2/2]

template<typename QueueItem >
neolib::queue< QueueItem >::queue ( sink aSink)
inline

Definition at line 91 of file queue.hpp.

Member Function Documentation

◆ any()

template<typename QueueItem >
bool neolib::queue< QueueItem >::any ( ) const
inline

Definition at line 194 of file queue.hpp.

◆ clear()

template<typename QueueItem >
void neolib::queue< QueueItem >::clear ( )
inline

Definition at line 199 of file queue.hpp.

◆ interlocked_send() [1/4]

template<typename QueueItem >
void neolib::queue< QueueItem >::interlocked_send ( const interlockable &  aOther,
const event aEvent,
const QueueItem aItem 
)
inline

Definition at line 151 of file queue.hpp.

◆ interlocked_send() [2/4]

template<typename QueueItem >
bool neolib::queue< QueueItem >::interlocked_send ( const interlockable &  aOther,
const event aEvent,
const QueueItem aItem,
uint32_t  aTimeout_ms 
)
inline

Definition at line 161 of file queue.hpp.

◆ interlocked_send() [3/4]

template<typename QueueItem >
void neolib::queue< QueueItem >::interlocked_send ( const interlockable &  aOther,
const QueueItem aItem 
)
inline

Definition at line 143 of file queue.hpp.

◆ interlocked_send() [4/4]

template<typename QueueItem >
bool neolib::queue< QueueItem >::interlocked_send ( const interlockable &  aOther,
const QueueItem aItem,
uint32_t  aTimeout_ms 
)
inline

Definition at line 147 of file queue.hpp.

◆ loop() [1/2]

template<typename QueueItem >
void neolib::queue< QueueItem >::loop ( bool(*)()  aYieldProc = nullptr)
inline

Definition at line 102 of file queue.hpp.

◆ loop() [2/2]

template<typename QueueItem >
void neolib::queue< QueueItem >::loop ( uint32_t  aTimeout_ms,
bool(*)()  aYieldProc = nullptr 
)
inline

Definition at line 112 of file queue.hpp.

◆ next()

template<typename QueueItem >
QueueItem & neolib::queue< QueueItem >::next ( )
inline

Definition at line 178 of file queue.hpp.

◆ pop_next()

template<typename QueueItem >
void neolib::queue< QueueItem >::pop_next ( )
inline

Definition at line 185 of file queue.hpp.

◆ post()

template<typename QueueItem >
void neolib::queue< QueueItem >::post ( const QueueItem aItem)
inline

Definition at line 171 of file queue.hpp.

◆ send() [1/4]

template<typename QueueItem >
void neolib::queue< QueueItem >::send ( const event aEvent,
const QueueItem aItem 
)
inline

Definition at line 127 of file queue.hpp.

◆ send() [2/4]

template<typename QueueItem >
bool neolib::queue< QueueItem >::send ( const event aEvent,
const QueueItem aItem,
uint32_t  aTimeout_ms 
)
inline

Definition at line 135 of file queue.hpp.

◆ send() [3/4]

template<typename QueueItem >
void neolib::queue< QueueItem >::send ( const QueueItem aItem)
inline

Definition at line 119 of file queue.hpp.

◆ send() [4/4]

template<typename QueueItem >
bool neolib::queue< QueueItem >::send ( const QueueItem aItem,
uint32_t  aTimeout_ms 
)
inline

Definition at line 123 of file queue.hpp.

◆ wait() [1/2]

template<typename QueueItem >
void neolib::queue< QueueItem >::wait ( )
inline

Definition at line 94 of file queue.hpp.

◆ wait() [2/2]

template<typename QueueItem >
bool neolib::queue< QueueItem >::wait ( uint32_t  aTimeout_ms)
inline

Definition at line 98 of file queue.hpp.


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