Aleph-w  1.9
General library for algorithms and data structures
Aleph::Dnode< T >::Iterator Class Reference

#include <tpl_dnode.H>

+ Inheritance diagram for Aleph::Dnode< T >::Iterator:
+ Collaboration diagram for Aleph::Dnode< T >::Iterator:

Public Types

using Set_Type = Dnode< T >
 The type of set.
 
using Item_Type = Dnode< T > *
 The type of element of set.
 
using Base = Dlink::Iterator
 

Public Member Functions

Dnode< T > * get_curr_ne () const noexcept
 Return the current link guaranteeing no exception. Be careful.
 
Dnode< T > * get_curr () const
 
Dnodedel ()
 
void set (Dlink *new_curr) noexcept
 
void reset_first () noexcept
 Reset the iterator to the first item of list.
 
void reset_last () noexcept
 Reset the iterator to the last item of list.
 
void end () noexcept
 Put the iterator out of range.
 
bool has_curr () const noexcept
 Return true if the iterator has current item.
 
bool is_last () const noexcept
 
bool is_in_first () const noexcept
 Return true if the iterator is positiones on the first item.
 
bool is_in_last () const noexcept
 Return true if the iterator is positiones on the last item.
 
void prev_ne () noexcept
 
void prev ()
 
void next_ne () noexcept
 
void next ()
 
bool operator== (const Iterator &it) const noexcept
 Return true if this and it are positioned on the same item.
 
bool operator!= (const Iterator &it) const noexcept
 Return true if this and it hace different states.
 
Dlinkdel_ne () noexcept
 
bool verify (Dlink *l) const
 Return true if the iterator is on the list pointed by l
 
bool verify (const Iterator &it) const
 Return true if this and it are on the same list.
 

Detailed Description

template<typename T>
class Aleph::Dnode< T >::Iterator

Iterator on a list of Dnode objects

Member Function Documentation

◆ del()

template<typename T>
Dnode* Aleph::Dnode< T >::Iterator::del ( )
inline

Remove the current node of the list a return a pointer to the removed node.

The iterator is moved on position forward.

Exceptions
overflow_errorif the iterator is not positioned on a current node
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_curr()

template<typename T>
Dnode<T>* Aleph::Dnode< T >::Iterator::get_curr ( ) const
inline

Return a pointer to the current node.

Exceptions
overflow_errorif the iterator is not positioned on a current node
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ next()

void Aleph::Dlink::Iterator::next ( )
inlineinherited

Move the iterator one position forward

Exceptions
overflow_errorif there is no current item
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ next_ne()

void Aleph::Dlink::Iterator::next_ne ( )
inlinenoexceptinherited

Move the iterator one position backward guaranteeing no exception. Be careful.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ prev()

void Aleph::Dlink::Iterator::prev ( )
inlineinherited

Move the iterator one position backward

Exceptions
underflow_errorif there is no current item
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ prev_ne()

void Aleph::Dlink::Iterator::prev_ne ( )
inlinenoexceptinherited

Move the iterator one position backward guaranteeing no exception. Be careful.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set()

void Aleph::Dlink::Iterator::set ( Dlink new_curr)
inlinenoexceptinherited

Set the current node .

This method set the current node to new_curr, which of course must be a valid pointer to a item in the list.

Parameters
[in]new_currpointer to the new current item
+ Here is the caller graph for this function:

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

Leandro Rabindranath León