|
| array (u_integer size=0, ALLOC alloc=ALLOC{}) |
| Constructs an empty array.
|
|
| array (const std::initializer_list< TYPE > &lst) |
| Constructs an array from an initializer list.
|
|
| array (const array &other) |
| Copy constructor.
|
|
array & | operator= (const array &other) |
| Copy assignment operator.
|
|
| array (array &&other) noexcept |
| Move constructor.
|
|
array & | operator= (array &&other) noexcept |
| Move assignment operator.
|
|
u_integer | size () const override |
| Returns the size of the array.
|
|
TYPE & | data () const |
| Returns a reference to the first element of the array.
|
|
TYPE | get (integer index) const override |
| Retrieves an element at a specified index.
|
|
TYPE & | operator[] (integer index) override |
| Access an element at a specified index for modification.
|
|
void | set (integer index, const TYPE &e) override |
| Sets the value of an element at the specified index.
|
|
u_integer | indexOf (const TYPE &e) const override |
| Finds the index of the specified element in the array.
|
|
Iterator * | begins () const override |
| Returns an iterator to the first element of the array.
|
|
Iterator * | ends () const override |
| Returns an iterator to the last element of the array.
|
|
std::string | className () const override |
| Returns the class name.
|
|
| ~array () override |
| Destroys the array and releases its memory.
|
|
integer | compareTo (const iterationStream &other) const override |
| Compares the current iteration stream with another iteration stream.
|
|
std::string | className () const override |
| Returns the class name.
|
|
std::string | toString (bool enter) const override |
| Converts the iteration stream to a string representation.
|
|
| 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 |
|
iterAdaptor | begin () |
| Returns an iterator pointing to the beginning of the iterable container.
|
|
iterAdaptor | end () |
| Returns an iterator pointing to the end of the iterable container.
|
|
iterAdaptor | begin () const |
| Returns a constant iterator pointing to the beginning of the iterable container.
|
|
iterAdaptor | end () const |
| Returns a constant iterator pointing to the end of the iterable container.
|
|
iterAdaptor | first () |
| Returns an iterator pointing to the first element.
|
|
iterAdaptor | last () |
| Returns an iterator pointing to the last element.
|
|
iterAdaptor | first () const |
| Returns a constant iterator pointing to the first element.
|
|
iterAdaptor | last () const |
| Returns a constant iterator pointing to the last element.
|
|
template<typename Callback = transform<TYPE>>
requires Operation<Callback, TYPE> |
void | forEach (Callback operation=Callback{}) |
| Applies a given operation to each element in the iterable container.
|
|
template<typename Callback = transform<TYPE>>
requires Operation<Callback, TYPE> |
void | forEach (const Callback &operation=Callback{}) const |
| Applies a given operation to each element in the iterable container (const version).
|
|
template<typename Callback>
requires original::Operation<Callback, TYPE> |
auto | forEach (Callback operation) -> void |
|
template<typename Callback>
requires original::Operation<Callback, TYPE> |
auto | forEach (const Callback &operation) const -> void |
|
virtual integer | compareTo (const DERIVED &other) const=0 |
| Compares the current object with another of the same type.
|
|
bool | operator== (const DERIVED &other) const |
| Checks if the current object is equal to another.
|
|
bool | operator!= (const DERIVED &other) const |
| Checks if the current object is not equal to another.
|
|
bool | operator< (const DERIVED &other) const |
| Checks if the current object is less than another.
|
|
bool | operator> (const DERIVED &other) const |
| Checks if the current object is greater than another.
|
|
bool | operator<= (const DERIVED &other) const |
| Checks if the current object is less than or equal to another.
|
|
bool | operator>= (const DERIVED &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.
|
|
virtual TYPE | getBegin () const |
| Retrieves the first element in the container.
|
|
virtual TYPE | getEnd () const |
| Retrieves the last element in the container.
|
|
virtual TYPE | operator[] (integer index) const |
| Retrieves the element at the specified index (const version).
|
|
bool | contains (const TYPE &e) const override |
| Checks if the container contains the specified element.
|
|
bool | empty () const |
| Checks if the container is empty.
|
|
virtual | ~container ()=default |
| Destructor for the container class.
|
|
|
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 |
|
std::string | elementsString () const |
| Returns a string representation of the elements in the stream.
|
|
bool | indexOutOfBound (integer index) const |
| Checks if the provided index is out of bounds.
|
|
integer | parseNegIndex (integer index) const |
| Converts negative indices into valid positive indices.
|
|
| container (ALLOC alloc=ALLOC{}) |
| 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()
|
|
template<typename O_TYPE, typename... Args> |
void | construct (O_TYPE *o_ptr, Args &&... args) |
| Constructs an element in-place.
|
|
template<typename O_TYPE> |
void | destroy (O_TYPE *o_ptr) |
| Destroys an element.
|
|
ALLOC | allocator |
| The allocator instance used for memory management.
|
|
template<typename TYPE, typename ALLOC = allocator<TYPE>>
class original::array< TYPE, ALLOC >
A fixed-size array container with random access.
- Template Parameters
-
TYPE | Type of the elements contained in the array |
ALLOC | Allocator type to use for memory management (default: allocator<TYPE>) |
The array
class encapsulates a fixed-size array and provides operations such as indexing, element assignment, and iteration. It supports random access via iterators, which can be used to traverse the container from beginning to end, and vice versa.
This class offers both copy and move semantics, along with an iterator class that supports random access operations. Memory management is handled through the specified allocator type.