|
| deque (const SERIAL< TYPE, ALLOC< TYPE > > &serial=SERIAL< TYPE, ALLOC< TYPE > >{}) |
| Constructs deque with specified underlying container and allocator.
|
|
| deque (const std::initializer_list< TYPE > &lst) |
| Constructs deque from initializer list with allocator.
|
|
| deque (const deque &other) |
| Copy constructs a deque with allocator propagation.
|
|
deque & | operator= (const deque &other) |
| Copy assignment operator.
|
|
| deque (deque &&other) noexcept |
| Move constructs a deque with allocator propagation.
|
|
deque & | operator= (deque &&other) noexcept |
| Move assignment operator.
|
|
void | pushBegin (const TYPE &e) |
| Inserts element at the front.
|
|
void | pushEnd (const TYPE &e) |
| Inserts element at the back.
|
|
TYPE | popBegin () |
| Removes and returns front element.
|
|
TYPE | popEnd () |
| Removes and returns back element.
|
|
TYPE | head () const |
| Accesses front element.
|
|
TYPE | tail () const |
| Accesses back element.
|
|
std::string | className () const override |
| Gets class name identifier.
|
|
u_integer | size () const override |
| Returns the number of elements in the adapter.
|
|
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.
|
|
std::string | toString (bool enter) const override |
| Generates formatted string representation.
|
|
| ~containerAdapter () override=default |
| Virtual destructor for proper polymorphic cleanup.
|
|
| 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 |
|
bool | empty () const |
| Checks if the container is empty.
|
|
virtual | ~container ()=default |
| Destructor for the container class.
|
|
virtual integer | compareTo (const containerAdapter< TYPE, chain, allocator > &other) const=0 |
| Compares the current object with another of the same type.
|
|
bool | operator== (const containerAdapter< TYPE, chain, allocator > &other) const |
| Checks if the current object is equal to another.
|
|
bool | operator!= (const containerAdapter< TYPE, chain, allocator > &other) const |
| Checks if the current object is not equal to another.
|
|
bool | operator< (const containerAdapter< TYPE, chain, allocator > &other) const |
| Checks if the current object is less than another.
|
|
bool | operator> (const containerAdapter< TYPE, chain, allocator > &other) const |
| Checks if the current object is greater than another.
|
|
bool | operator<= (const containerAdapter< TYPE, chain, allocator > &other) const |
| Checks if the current object is less than or equal to another.
|
|
bool | operator>= (const containerAdapter< TYPE, chain, allocator > &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.
|
|
|
template<typename TYPE> |
static std::string | formatString (const TYPE &t) |
| Universal value-to-string conversion.
|
|
template<typename TYPE> |
static std::string | formatString (TYPE *const &ptr) |
| Pointer-specific formatting.
|
|
template<typename TYPE> |
static const char * | formatCString (const TYPE &t) |
| C-string cache for temporary usage.
|
|
template<typename TYPE> |
static std::string | formatEnum (const TYPE &t) |
| Enum formatting utility.
|
|
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 |
|
| containerAdapter (const chain< TYPE, allocator< TYPE > > &serial) |
| Constructs a container adapter with specified underlying container.
|
|
| container (allocator< TYPE > alloc=allocator< 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.
|
|
chain< TYPE, allocator< TYPE > > | serial_ |
| The underlying container instance.
|
|
allocator< TYPE > | allocator |
| The allocator instance used for memory management.
|
|
template<typename TYPE, template< typename, typename > typename SERIAL = chain, template< typename > typename ALLOC = allocator>
class original::deque< TYPE, SERIAL, ALLOC >
Double-ended queue container adapter.
- Template Parameters
-
TYPE | Type of elements stored in the deque |
SERIAL | Underlying container type (default: chain) |
ALLOC | Allocator template for memory management (default: allocator) |
Implements deque operations using the specified underlying container. Supports efficient insertion and removal at both front and back ends. Inherits template constraints from original::containerAdapter.
The allocator is propagated to both the deque adapter and the underlying serial container for consistent memory management.