|
| | randomAccessIterator (const randomAccessIterator &other) |
| | Copy constructor.
|
| |
| randomAccessIterator & | operator= (const randomAccessIterator &other) |
| | Copy assignment operator.
|
| |
| randomAccessIterator * | clone () const override |
| | Creates a heap-allocated copy.
|
| |
| bool | hasNext () const override |
| | Checks forward traversal capability.
|
| |
| bool | hasPrev () const override |
| | Checks reverse traversal capability.
|
| |
| bool | atPrev (const iterator< TYPE > *other) const override |
| | Checks if the current iterator is at the previous position compared to another iterator.
|
| |
| bool | atNext (const iterator< TYPE > *other) const override |
| | Checks if the current iterator is at the next position compared to another iterator.
|
| |
| void | next () const override |
| | Advances to the next position in the container.
|
| |
| void | prev () const override |
| | Retreats to the previous position in the container.
|
| |
| void | operator+= (integer steps) const override |
| | Moves forward by N positions.
|
| |
| void | operator-= (integer steps) const override |
| | Moves backward by N positions.
|
| |
| integer | operator- (const iterator< TYPE > &other) const override |
| | Computes the distance between the current iterator and another iterator.
|
| |
| randomAccessIterator * | getNext () const override |
| | Gets an iterator pointing to the next element.
|
| |
| randomAccessIterator * | getPrev () const override |
| | Gets an iterator pointing to the previous element.
|
| |
| TYPE & | get () override |
| | Gets the current element in the container.
|
| |
| TYPE | get () const override |
| | Gets the current element in the container (const version)
|
| |
| void | set (const TYPE &data) override |
| | Sets the value of the current element.
|
| |
| bool | isValid () const override |
| | Checks if the iterator is valid (points to a valid element in the container)
|
| |
| std::string | className () const override |
| | Gets the class name of the iterator.
|
| |
|
| ~baseIterator () override=default |
| | Virtual destructor for proper cleanup of derived objects.
|
| |
| TYPE & | operator* () |
| | Dereferences the iterator to get the element.
|
| |
| TYPE | operator* () const |
| | Dereferences the iterator to get a copy of the element.
|
| |
|
void | operator++ () const |
| | Moves the iterator forward by one position.
|
| |
| void | operator++ (int postfix) const |
| | Moves the iterator forward by one position (postfix).
|
| |
|
void | operator-- () const |
| | Moves the iterator backward by one position.
|
| |
| void | operator-- (int postfix) const |
| | Moves the iterator backward by one position (postfix).
|
| |
| integer | compareTo (const iterator &other) const override |
| | Compares two iterators to determine their relative positions.
|
| |
| | operator bool () const |
| | Checks if the iterator is valid (i.e., points to a valid element).
|
| |
| bool | atPrev (const iterator &other) const |
| | Checks if this iterator is positioned at the previous element.
|
| |
| bool | atNext (const iterator &other) const |
| | Checks if this iterator is positioned at the next element.
|
| |
| virtual TYPE | getElem () const |
| | Returns a copy of the element.
|
| |
| bool | equal (const iterator *other) const |
| | Checks if two iterators are equal.
|
| |
| bool | equal (const iterator &other) const |
| | Checks if two iterators are equal.
|
| |
| std::string | toString (bool enter) const override |
| | Returns a string representation of the iterator.
|
| |
|
| ~iterator () override=default |
| | Virtual destructor for proper cleanup of derived objects.
|
| |
| | 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 |
| |
| | ~cloneable () override=default |
| | Virtual destructor for cloneable.
|
| |
| virtual | ~baseCloneable ()=default |
| | Virtual destructor for baseCloneable.
|
| |
| bool | operator== (const iterator< TYPE > &other) const |
| | Checks if the current object is equal to another.
|
| |
| bool | operator!= (const iterator< TYPE > &other) const |
| | Checks if the current object is not equal to another.
|
| |
| bool | operator< (const iterator< TYPE > &other) const |
| | Checks if the current object is less than another.
|
| |
| bool | operator> (const iterator< TYPE > &other) const |
| | Checks if the current object is greater than another.
|
| |
| bool | operator<= (const iterator< TYPE > &other) const |
| | Checks if the current object is less than or equal to another.
|
| |
| bool | operator>= (const iterator< TYPE > &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, typename ALLOC>
class original::randomAccessIterator< TYPE, ALLOC >
Abstract base class for random-access iterators.
- Template Parameters
-
| TYPE | Type of elements being iterated |
| ALLOC | Allocator type used by the parent container for memory management |
Implements core functionality for iterators that support:
- Pointer arithmetic operations (+, +=, -, -=)
- Bidirectional traversal
- Position validity checking
- Element access/modification
- Note
- The ALLOC template parameter must match the allocator type of the parent container. It is used to ensure type compatibility between the iterator and its container.
-
Maintains three state markers:
- Raw pointer to the current element
- Reference to parent container (which uses the ALLOC allocator)
- Absolute position index