bux API Reference 1.9.0
Static library of whatever are seen required in general purpose but not directly supported from Modern C++. Or whatever reusable originated from my side projects.
Loading...
Searching...
No Matches
bux::C_Queue< T > Class Template Reference

#include <XQue.h>

Inheritance diagram for bux::C_Queue< T >:

Public Types

typedef T value_type
 
- Public Types inherited from bux::C_RawQueue< sizeof(T)>
typedef size_t size_type
 

Public Member Functions

 C_Queue ()=default
 
 ~C_Queue ()
 
T & back () const
 
void clear ()
 
T & front () const
 
void pop ()
 
T & push ()
 
template<class... T_Args>
T & push (T_Args &&...args)
 
- Public Member Functions inherited from bux::C_RawQueue< sizeof(T)>
 C_RawQueue ()=default
 
 C_RawQueue (const C_RawQueue &another)=delete
 
C_RawQueueoperator= (const C_RawQueue &another)=delete
 
 ~C_RawQueue ()
 
size_t compact ()
 
bool empty () const
 
void splice (C_RawQueue &other)
 
void swap (C_RawQueue &other)
 

Additional Inherited Members

- Protected Member Functions inherited from bux::C_RawQueue< sizeof(T)>
char * backRaw () const
 
char * frontRaw () const
 
void popRaw ()
 
char * pushRaw ()
 

Detailed Description

template<class T>
class bux::C_Queue< T >

A much more succinct substitute for std::queue<std::deque<T> > or std::queue<std::list<T> >

Types and methods exposed as public members are compilant to container requirements as much as possible although a queue in the standard C++ way is merely a container adaptor.

This class is not thread-safe.

Definition at line 58 of file XQue.h.

Member Typedef Documentation

◆ value_type

template<class T >
T bux::C_Queue< T >::value_type

Definition at line 72 of file XQue.h.

Constructor & Destructor Documentation

◆ C_Queue()

template<class T >
bux::C_Queue< T >::C_Queue ( )
default

◆ ~C_Queue()

template<class T >
bux::C_Queue< T >::~C_Queue ( )
inline

Definition at line 76 of file XQue.h.

References bux::C_Queue< T >::clear().

Member Function Documentation

◆ back()

template<class T >
T & bux::C_Queue< T >::back ( ) const
inline

Definition at line 77 of file XQue.h.

References bux::C_RawQueue< sizeof(T)>::backRaw().

◆ clear()

template<class T >
void bux::C_Queue< T >::clear ( )

Erase all elements

Definition at line 229 of file XQue.h.

Referenced by bux::C_Queue< T >::~C_Queue().

Here is the caller graph for this function:

◆ front()

template<class T >
T & bux::C_Queue< T >::front ( ) const
inline

Definition at line 79 of file XQue.h.

References bux::C_RawQueue< sizeof(T)>::frontRaw().

Referenced by bux::C_UnicodeIn::get().

Here is the caller graph for this function:

◆ pop()

template<class T >
void bux::C_Queue< T >::pop ( )
Precondition
empty() == false (i.e. m_pBack != 0)

Erase one element from the front end

Definition at line 238 of file XQue.h.

Referenced by bux::C_UnicodeIn::get().

Here is the caller graph for this function:

◆ push() [1/2]

template<class T >
T & bux::C_Queue< T >::push ( )
inline

Definition at line 81 of file XQue.h.

References bux::C_RawQueue< sizeof(T)>::pushRaw().

◆ push() [2/2]

template<class T >
template<class... T_Args>
T & bux::C_Queue< T >::push ( T_Args &&... args)
inline

Definition at line 83 of file XQue.h.

References bux::C_RawQueue< sizeof(T)>::pushRaw().


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