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

A constant iterator that iterates over the start of each column. More...

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

Public Member Functions

 const_col_begin_iterator (unsigned int col, const Graph< link_type > *parent, void *ptr)
 
unsigned int operator* (void) const
 Returns the column index of the iterator.
 
const_full_col_iterator< link_type > full_begin (void) const
 Returns a Graph::const_full_col_iterator starting at the beginning of the column being pointed to by this iterator.
 
const_full_col_iterator< link_type > begin (void) const
 Same as const_col_begin_iterator::full_begin
 
const_sparse_col_iterator< link_type > sparse_begin (const link_type &data) const
 Returns a Graph::const_sparse_col_iterator starting at the first element of the column being pointed to by this iterator that doesn't equal the skip value.
 
typeless_graph_iterator end (void) const
 Returns an iterator pointing to beyond the last column.
 
const const_col_begin_iteratoroperator++ (void) const
 Increments the iterator to point to the next column. More...
 
template<typename other , class output = decltype(other()* link_type())>
std::vector< output > element_wise_product (const std::vector< other > &vec) const
 
template<typename other , class output = decltype(other()* link_type())>
std::map< unsigned int, output > element_wise_product (const std::map< unsigned int, other > &vec) const
 
template<typename other , class output = decltype(other()* link_type())>
std::vector< output > ewise_division (const std::vector< other > &vec) const
 
template<class output = decltype(link_type() + link_type())>
output sum () const
 Sum all elements in the column. Return type for link_type = bool is integer.
 
std::vector< link_type > get_dense () const
 Creates a vector containing all elements in the column.
 
std::map< unsigned int, link_type > get_sparse (const link_type &skip) const
 Creates a map containing only elements in the column that do not equal the skip value.
 
- Public Member Functions inherited from graph_utils::row_graph_iterator< link_type >
unsigned int index () const noexcept
 Returns the column index of the iterator. More...
 
unsigned int max () const noexcept
 Returns the target 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...
 

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
 

Detailed Description

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

A constant iterator that iterates over the start of each column.

This iterator can only create constant col iterators.

Member Function Documentation

◆ element_wise_product() [1/2]

template<typename link_type >
template<typename other , class output = decltype(other()* link_type())>
std::map< unsigned int, output > graph_utils::const_col_begin_iterator< link_type >::element_wise_product ( const std::map< unsigned int, other > &  vec) const
inline

summary>

◆ element_wise_product() [2/2]

template<typename link_type >
template<typename other , class output = decltype(other()* link_type())>
std::vector< output > graph_utils::const_col_begin_iterator< link_type >::element_wise_product ( const std::vector< other > &  vec) const
inline

summary>

◆ operator++()

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

Increments the iterator to point to the next column.

summary>

Reimplemented from typeless_graph_iterator.