Aleph-w  1.9
General library for algorithms and data structures
Aleph::Dlink::Iterator Class Reference

#include <dlink.H>

+ Inheritance diagram for Aleph::Dlink::Iterator:

Public Types

using Set_Type = Dlink
 The set type.
 
using Item_Type = Dlink *
 The type of elements of container.
 

Public Member Functions

 Iterator (Dlink *head_ptr) noexcept
 
 Iterator (const Dlink &list) noexcept
 
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
 
Dlinkget_curr_ne () const noexcept
 Return the current link guaranteeing no exception. Be careful.
 
Dlinkget_curr () const
 
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 ()
 
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

Iterator on Dlink lists

Constructor & Destructor Documentation

◆ Iterator() [1/2]

Aleph::Dlink::Iterator::Iterator ( Dlink head_ptr)
inlinenoexcept

Initialize an iterator on the first item of the list pointed by head_ptr.

Parameters
[in]head_ptrpointer to the list (hedaer node)

◆ Iterator() [2/2]

Aleph::Dlink::Iterator::Iterator ( const Dlink list)
inlinenoexcept

Initialize an iterator on the first item of list.

Parameters
[in]listreference to the list

Member Function Documentation

◆ del()

Dlink* Aleph::Dlink::Iterator::del ( )
inline

Remove from the list the current node and move the iterator one position forward.

Returns
a pointer to removed item
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_curr()

Dlink* Aleph::Dlink::Iterator::get_curr ( ) const
inline

Return the current node of iterator

Returns
a pointer to the current node
Exceptions
overflow_errorif there is not current node
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ next()

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

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 ( )
inlinenoexcept

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 ( )
inline

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 ( )
inlinenoexcept

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)
inlinenoexcept

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