Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::DynListStack< T >::Iterator Struct Reference

Iterator for traversing elements of the stack. More...

#include <tpl_dynListStack.H>

Inheritance diagram for Aleph::DynListStack< T >::Iterator:
[legend]
Collaboration diagram for Aleph::DynListStack< T >::Iterator:
[legend]

Public Types

using Set_Type = DynListStack< T >
 The container type this iterator operates on.
 
using Base = typename DynList< T >::Iterator
 Base iterator type.
 
- Public Types inherited from Aleph::DynList< T >::Iterator
using Item_Type = T
 
using Iterator_Type = Iterator
 The type of elements of list.
 
using Set_Type = DynList
 

Public Member Functions

 Iterator (const DynListStack< T > &stack) noexcept
 Construct an iterator for a stack.
 
- Public Member Functions inherited from Aleph::DynList< T >::Iterator
 Iterator () noexcept=default
 The type of container.
 
 Iterator (const DynList &list) noexcept
 Initiliaze an iterator on the first item of list
 
Tget_curr_ne () const noexcept
 Return the current link guaranteeing no exception. Be careful.
 
Tget_curr () const
 Return the current item.
 
T del ()
 Remove the current item of the iterator.
 
- Public Member Functions inherited from Aleph::HTList::Iterator
 Iterator () noexcept=default
 
 Iterator (const HTList &list) noexcept
 Initialize iterator on at the first item of list
 
void reset () noexcept
 Reset the iterator at the first item.
 
long get_pos () const noexcept
 Return the current position.
 
void reset_first () noexcept
 
void reset_last ()
 It has O(n) of performance.
 
void end () noexcept
 Set the iterator to its end position, which has not current item.
 
Iteratoroperator= (const Iterator &it) noexcept
 Assignation.
 
bool has_curr () const noexcept
 Return true if iterator has current item.
 
bool is_last () const noexcept
 
bool is_in_first () const noexcept
 Return true if the iterator is positioned on the first item.
 
bool is_in_last () const noexcept
 Return true if the iterator is positioned on the last item.
 
Slinkncget_curr () const
 Return the current node on which the iterator is positioned.
 
Slinkncget_curr_ne () const noexcept
 Return the current link guaranteeing no exception. Be careful.
 
void next_ne () noexcept
 Move the iterator one position forward guaranteeing no exception.
 
void next ()
 Move the iterator one item forward.
 
Slinkncdel_ne () noexcept
 
Slinkncdel ()
 Remove the current item.
 

Detailed Description

template<typename T>
struct Aleph::DynListStack< T >::Iterator

Iterator for traversing elements of the stack.

Provides forward iteration over stack elements in LIFO order (from top to bottom). This is the same order in which elements would be retrieved via successive pop() calls.

Example Usage

DynListStack<int> stack = {1, 2, 3};
// Using explicit iterator
for (auto it = stack.get_it(); it.has_curr(); it.next())
std::cout << it.get_curr() << " ";
// Using range-based for loop
for (const auto & item : stack)
std::cout << item << " ";
Dynamic stack of elements of generic type T based on a singly linked list.
Aleph::DynList< __T > maps(Operation &op) const
Map the elements of the container.
Definition ah-dry.H:904
auto get_it() const
Return a properly initialized iterator positioned at the first item on the container.
Definition ah-dry.H:190
STL namespace.
Note
The iterator provides read-only access to elements. Modifying elements during iteration may invalidate the iterator.

Definition at line 519 of file tpl_dynListStack.H.

Member Typedef Documentation

◆ Base

template<typename T >
using Aleph::DynListStack< T >::Iterator::Base = typename DynList<T>::Iterator

Base iterator type.

Definition at line 525 of file tpl_dynListStack.H.

◆ Set_Type

template<typename T >
using Aleph::DynListStack< T >::Iterator::Set_Type = DynListStack<T>

The container type this iterator operates on.

Definition at line 522 of file tpl_dynListStack.H.

Constructor & Destructor Documentation

◆ Iterator()

template<typename T >
Aleph::DynListStack< T >::Iterator::Iterator ( const DynListStack< T > &  stack)
inlinenoexcept

Construct an iterator for a stack.

Creates an iterator positioned at the top of the stack.

Parameters
[in]stackThe stack to iterate over.

Definition at line 536 of file tpl_dynListStack.H.


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