Construct version 5.4.4
An agent based modeling framework
graph_utils::const_sparse_col_iterator< link_type > Struct Template Reference

A constant iterator that iterates over each element whose value does not equal the skip value. More...

Inheritance diagram for graph_utils::const_sparse_col_iterator< link_type >:
Collaboration diagram for graph_utils::const_sparse_col_iterator< link_type >:

Public Member Functions

 const_sparse_col_iterator (unsigned int row, unsigned int col, const Graph< link_type > *parent, void *ptr, const link_type &skip_data)
 
const const_sparse_col_iteratoroperator++ (void) const
 Increments the row index until the next value is reached that is not the skip value. If there all values after the current index equal the skip value, the iterator points to the end of the row. More...
 
- Public Member Functions inherited from graph_utils::col_graph_iterator< link_type >
unsigned int index () const noexcept
 Returns the row index of the iterator. More...
 
unsigned int max () const noexcept
 Returns the source dimension size. More...
 
const link_type & operator* (void) const
 If the entry exists, a reference to the value of the element being pointed to is returned, otherwise the default value is returned.
 
const link_type * operator-> (void) const
 If the entry exists, a pointer to the value of the element being pointed to is returned, otherwise a pointer to the default value is returned.
 
const link_type & examine (void) const
 Returns the value of the link the iterator is pointing to. More...
 
- Public Member Functions inherited from graph_utils::graph_iterator< link_type >
 graph_iterator (unsigned int row, unsigned int col, const Graph< link_type > *parent, void *ptr)
 
virtual const link_type & examine (void) const =0
 Returns the value of the link the iterator is pointing to. More...
 
- Public Member Functions inherited from typeless_graph_iterator
 typeless_graph_iterator (unsigned int row=0, unsigned int col=0, void *ptr=NULL)
 
unsigned int row (void) const noexcept
 The row index this iterator is pointing to.
 
unsigned int col (void) const noexcept
 The column index this iterator is pointing to.
 
virtual unsigned int index () const noexcept
 Depending on implementation, returns either row or col. More...
 
virtual unsigned int max () const noexcept
 Returns the maximum value that Construct can return. More...
 
virtual const typeless_graph_iteratoroperator++ (void) const
 Depending on implementation, increments the iterator to point to the next relevant element. More...
 
- Public Member Functions inherited from graph_utils::sparse_graph_iterator< link_type >
 sparse_graph_iterator (const link_type &skip_data)
 

Additional Inherited Members

- Public Attributes inherited from graph_utils::graph_iterator< link_type >
Graph< link_type > * _parent = NULL
 
- Public Attributes inherited from typeless_graph_iterator
void * _ptr
 
unsigned int _row
 
unsigned int _col
 
- Public Attributes inherited from graph_utils::sparse_graph_iterator< link_type >
const link_type _skip
 

Detailed Description

template<typename link_type>
struct graph_utils::const_sparse_col_iterator< link_type >

A constant iterator that iterates over each element whose value does not equal the skip value.

If no value is found to not equal the skip value when the iterator is incremented, the iterator is advanced to the end iterator. This iterator can't be submitted as a parameter to Graph::at or Graph::clear.

Member Function Documentation

◆ operator++()

template<typename link_type >
const graph_utils::const_sparse_col_iterator< link_type > & graph_utils::const_sparse_col_iterator< link_type >::operator++ ( void  ) const
virtual

Increments the row index until the next value is reached that is not the skip value. If there all values after the current index equal the skip value, the iterator points to the end of the row.

Reimplemented from typeless_graph_iterator.