Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator Class Reference

#include <tpl_agraph.H>

Inheritance diagram for Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator:
[legend]
Collaboration diagram for Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator:
[legend]

Public Types

using Item_Type = Arc *
 The data type returned by get_curr().
 
using Set_Type = Node *
 The set type over which iteration is performed.
 
- Public Types inherited from Aleph::Array_Iterator< void * >
using Item_Type = void *
 The type of elements being iterated.
 

Public Member Functions

 Node_Arc_Iterator () noexcept
 Instantiate an empty (invalid) iterator.
 
 Node_Arc_Iterator (Node *src) noexcept
 Instantiate an iterator over node src.
 
Arcget_curr () const
 
Arcget_curr_ne () const noexcept
 
Arcget_current_arc_ne () const noexcept
 Return the current arc.
 
Arcget_current_arc () const
 Return the current arc.
 
Nodeget_tgt_node_ne () const
 Return the target node of the current arc.
 
Nodeget_tgt_node () const
 
- Public Member Functions inherited from Aleph::Array_Iterator< void * >
void * * get_base () noexcept
 Get the base pointer of the array.
 
constexpr const void * * get_base () const noexcept
 Get the base pointer of the array (const version).
 
 Array_Iterator ()=default
 Default constructor - creates an invalid iterator.
 
 Array_Iterator (void * *p, const size_t sz, const size_t n)
 Construct an iterator over an array.
 
 Array_Iterator (NoExceptionCtor, void * *p, const size_t sz, const size_t n)
 Construct an iterator without exception checking.
 
 Array_Iterator (void * *p, const size_t sz, const size_t n, const long f, const long l)
 Construct an iterator over a circular array region.
 
 Array_Iterator (NoExceptionCtor, void * *p, const size_t sz, const size_t n, const long f, const long l)
 Construct a circular iterator without exception checking.
 
 Array_Iterator (const Array_Container< void * > &c)
 Construct an iterator from an Array_Container.
 
bool has_curr () const noexcept
 Check if there is a current valid item.
 
bool is_last () const noexcept
 Check if positioned at the last item.
 
constexpr long get_pos () const noexcept
 Get the current position index.
 
void * & get_curr_ne () const noexcept
 Get the current item without bounds checking.
 
void * & get_curr () const
 Get the current item with bounds checking.
 
void next_ne () noexcept
 Advance to the next item without bounds checking.
 
void next ()
 Advance to the next item with bounds checking.
 
void prev_ne () noexcept
 Move to the previous item without bounds checking.
 
void prev ()
 Move to the previous item with bounds checking.
 
void reset () noexcept
 Reset the iterator to the first item.
 
void reset_first () noexcept
 Reset the iterator to the first item (alias for reset()).
 
void reset_last () noexcept
 Reset the iterator to the last item.
 
void end () noexcept
 Put the iterator at the end (past the last item).
 

Private Attributes

Nodesrc_node = nullptr
 

Detailed Description

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
class Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator

Definition at line 336 of file tpl_agraph.H.

Member Typedef Documentation

◆ Item_Type

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
using Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::Item_Type = Arc *

The data type returned by get_curr().

Definition at line 342 of file tpl_agraph.H.

◆ Set_Type

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
using Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::Set_Type = Node *

The set type over which iteration is performed.

Definition at line 345 of file tpl_agraph.H.

Constructor & Destructor Documentation

◆ Node_Arc_Iterator() [1/2]

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::Node_Arc_Iterator ( )
inlinenoexcept

Instantiate an empty (invalid) iterator.

Definition at line 348 of file tpl_agraph.H.

◆ Node_Arc_Iterator() [2/2]

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::Node_Arc_Iterator ( Node src)
inlinenoexcept

Instantiate an iterator over node src.

Definition at line 353 of file tpl_agraph.H.

Member Function Documentation

◆ get_curr()

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
Arc * Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::get_curr ( ) const
inline

◆ get_curr_ne()

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
Arc * Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::get_curr_ne ( ) const
inlinenoexcept

◆ get_current_arc()

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
Arc * Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::get_current_arc ( ) const
inline

Return the current arc.

Definition at line 377 of file tpl_agraph.H.

References Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::get_curr().

◆ get_current_arc_ne()

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
Arc * Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::get_current_arc_ne ( ) const
inlinenoexcept

Return the current arc.

Definition at line 374 of file tpl_agraph.H.

References Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::get_curr_ne().

◆ get_tgt_node()

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
Node * Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::get_tgt_node ( ) const
inline

◆ get_tgt_node_ne()

template<class __Graph_Node = Graph_Anode<unsigned long>, class __Graph_Arc = Graph_Aarc<unsigned long>>
Node * Aleph::Array_Graph< __Graph_Node, __Graph_Arc >::Node_Arc_Iterator::get_tgt_node_ne ( ) const
inline

Member Data Documentation

◆ src_node


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