|
ORIGINAL
|
First-In-First-Out (FIFO) container adapter. More...
#include <queue.h>


Public Member Functions | |
| queue (const SERIAL< TYPE, ALLOC< TYPE > > &serial=SERIAL< TYPE, ALLOC< TYPE > >{}) | |
| Constructs queue with specified underlying container and allocator. | |
| queue (const std::initializer_list< TYPE > &lst) | |
| Constructs queue from initializer list with allocator. | |
| queue (const queue &other) | |
| Copy constructs a queue with allocator propagation. | |
| queue & | operator= (const queue &other) |
| Copy assignment operator. | |
| queue (queue &&other) noexcept | |
| Move constructs a queue with allocator propagation. | |
| queue & | operator= (queue &&other) noexcept |
| Move assignment operator. | |
| void | push (const TYPE &e) |
| Inserts element at the back of the queue. | |
| TYPE | pop () |
| Removes and returns front element from the queue. | |
| TYPE | head () const |
| Accesses front element of the queue. | |
| TYPE | tail () const |
| Accesses back element of the queue. | |
| std::string | className () const override |
| Gets class name identifier. | |
Public Member Functions inherited from original::containerAdapter< TYPE, SERIAL, ALLOC > | |
| u_integer | size () const override |
| Returns the number of elements in the adapter. | |
| void | swap (containerAdapter &other) noexcept |
| Swaps the contents of this container adapter with another. | |
| void | clear () |
| Removes all elements from the adapter. | |
| bool | contains (const TYPE &e) const override |
| Checks for element existence in the adapter. | |
| integer | compareTo (const containerAdapter &other) const override |
| Compares two container adapters lexicographically. | |
| u_integer | toHash () const noexcept override |
| Computes hash value for the container adapter. | |
| std::string | toString (bool enter) const override |
| Generates formatted string representation. | |
| ~containerAdapter () override=default | |
| Virtual destructor for proper polymorphic cleanup. | |
Public Member Functions inherited from original::printable | |
| operator std::string () const | |
| Explicit conversion to std::string. | |
| operator const char * () const | |
| Explicit conversion to C-style string. | |
| const char * | toCString (bool enter) const |
| Direct C-string access with formatting control. | |
| template<typename TYPE > | |
| auto | formatString (const TYPE &t) -> std::string |
| template<typename TYPE > | |
| auto | formatCString (const TYPE &t) -> const char * |
| template<typename TYPE > | |
| auto | formatEnum (const TYPE &t) -> std::string |
| template<typename TYPE > | |
| auto | formatString (TYPE *const &ptr) -> std::string |
Public Member Functions inherited from original::container< TYPE, ALLOC< TYPE > > | |
| bool | empty () const |
| Checks if the container is empty. | |
| virtual | ~container ()=default |
| Destructor for the container class. | |
Public Member Functions inherited from original::comparable< containerAdapter< TYPE, SERIAL, ALLOC > > | |
| bool | operator== (const containerAdapter< TYPE, SERIAL, ALLOC > &other) const |
| Checks if the current object is equal to another. | |
| bool | operator!= (const containerAdapter< TYPE, SERIAL, ALLOC > &other) const |
| Checks if the current object is not equal to another. | |
| bool | operator< (const containerAdapter< TYPE, SERIAL, ALLOC > &other) const |
| Checks if the current object is less than another. | |
| bool | operator> (const containerAdapter< TYPE, SERIAL, ALLOC > &other) const |
| Checks if the current object is greater than another. | |
| bool | operator<= (const containerAdapter< TYPE, SERIAL, ALLOC > &other) const |
| Checks if the current object is less than or equal to another. | |
| bool | operator>= (const containerAdapter< TYPE, SERIAL, ALLOC > &other) const |
| Checks if the current object is greater than or equal to another. | |
| virtual | ~comparable ()=default |
| Virtual destructor for proper cleanup of derived objects. | |
Public Member Functions inherited from original::hashable< containerAdapter< TYPE, SERIAL, ALLOC > > | |
| virtual bool | equals (const containerAdapter< TYPE, SERIAL, ALLOC > &other) const noexcept |
| Compares two objects for equality. | |
| virtual | ~hashable ()=0 |
| Virtual destructor. | |
Additional Inherited Members | |
Static Public Member Functions inherited from original::printable | |
| template<typename TYPE > | |
| static std::string | formatString (const TYPE &t) |
| Universal value-to-string conversion with type-specific formatting. | |
| template<Printable TYPE> | |
| static std::string | formatString (const TYPE &t) |
| Specialization for types deriving from printable. | |
| template<EnumType TYPE> | |
| static std::string | formatString (const TYPE &t) |
| Specialization for enum types with type-safe formatting. | |
| template<typename TYPE > | |
| static std::string | formatString (TYPE *const &ptr) |
| Pointer-specific formatting with null safety. | |
| template<typename TYPE > | |
| static const char * | formatCString (const TYPE &t) |
| C-string cache for temporary usage with static storage. | |
| template<typename TYPE > | |
| static std::string | formatEnum (const TYPE &t) |
| Enum formatting utility with underlying value extraction. | |
| template<> | |
| auto | formatString (const char &t) -> std::string |
| template<> | |
| auto | formatString (const bool &t) -> std::string |
| template<> | |
| auto | formatString (const char *const &ptr) -> std::string |
Protected Member Functions inherited from original::containerAdapter< TYPE, SERIAL, ALLOC > | |
| containerAdapter (const SERIAL< TYPE, ALLOC< TYPE > > &serial) | |
| Constructs a container adapter with specified underlying container. | |
Protected Member Functions inherited from original::container< TYPE, ALLOC< TYPE > > | |
| container (ALLOC< TYPE > alloc=ALLOC< TYPE > {}) | |
| Constructs a container with specified allocator. | |
| TYPE * | allocate (u_integer size) |
| Allocates raw memory for elements. | |
| void | deallocate (TYPE *ptr, u_integer size) |
| Deallocates memory previously allocated by allocate() | |
| void | construct (O_TYPE *o_ptr, Args &&... args) |
| Constructs an element in-place. | |
| void | destroy (O_TYPE *o_ptr) |
| Destroys an element. | |
Protected Attributes inherited from original::containerAdapter< TYPE, SERIAL, ALLOC > | |
| SERIAL< TYPE, ALLOC< TYPE > > | serial_ |
| The underlying container instance. | |
Protected Attributes inherited from original::container< TYPE, ALLOC< TYPE > > | |
| ALLOC< TYPE > | allocator |
| The allocator instance used for memory management. | |
First-In-First-Out (FIFO) container adapter.
| TYPE | Type of elements stored in the queue |
| SERIAL | Underlying container type (default: chain) |
| ALLOC | Allocator type for memory management (default: allocator<TYPE>) |
Implements queue operations using the specified underlying container. Supports insertion at back and removal from front. Inherits template constraints from original::containerAdapter.
The allocator is propagated to both the queue adapter and the underlying serial container for consistent memory management. The ALLOC type must meet the C++ allocator requirements.
|
explicit |
Constructs queue with specified underlying container and allocator.
| serial | Container instance to initialize queue (default: empty) |
The allocator from the provided container will be used for all memory operations. If no container is provided, a default-constructed container with default allocator will be used.
| original::queue< TYPE, SERIAL, ALLOC >::queue | ( | const std::initializer_list< TYPE > & | lst | ) |
Constructs queue from initializer list with allocator.
| lst | List of elements for initial content |
Uses the default allocator to construct the underlying container and populate it with elements from the initializer list.
| original::queue< TYPE, SERIAL, ALLOC >::queue | ( | const queue< TYPE, SERIAL, ALLOC > & | other | ) |
Copy constructs a queue with allocator propagation.
| other | Queue instance to copy from |
|
noexcept |
Move constructs a queue with allocator propagation.
| other | Queue instance to move from |
|
overridevirtual |
Gets class name identifier.
Reimplemented from original::containerAdapter< TYPE, SERIAL, ALLOC >.
| auto original::queue< TYPE, SERIAL, ALLOC >::head | ( | ) | const |
Accesses front element of the queue.
Provides O(1) access to the front element.
| original::noElementError | if queue is empty |
| auto original::queue< TYPE, SERIAL, ALLOC >::operator= | ( | const queue< TYPE, SERIAL, ALLOC > & | other | ) |
Copy assignment operator.
| other | Queue instance to copy from |
|
noexcept |
Move assignment operator.
| other | Queue instance to move from |
| auto original::queue< TYPE, SERIAL, ALLOC >::pop | ( | ) |
Removes and returns front element from the queue.
Uses the queue's allocator to destroy the removed element.
| original::noElementError | if queue is empty |
| auto original::queue< TYPE, SERIAL, ALLOC >::push | ( | const TYPE & | e | ) |
Inserts element at the back of the queue.
| e | Element to be inserted |
Uses the queue's allocator to construct the new element at the back.
| auto original::queue< TYPE, SERIAL, ALLOC >::tail | ( | ) | const |
Accesses back element of the queue.
Provides O(1) access to the back element.
| original::noElementError | if queue is empty |