Construct version 5.4.4
An agent based modeling framework
Matrix * Col Iterators
Collaboration diagram for Matrix * Col Iterators:

Functions

template<typename left , typename right , class output = decltype(left()* right())>
std::vector< output > operator* (const graph_utils::const_full_col_iterator< left > &lhs, const Graph< right > &rhs)
 
template<typename left , typename right , class output = decltype(left()* right())>
std::vector< output > operator* (const graph_utils::const_full_col_iterator< left > &lhs, const Transpose< right > &rhs)
 
template<typename left , typename right >
auto operator* (const graph_utils::const_full_col_iterator< left > &lhs, const Temporary_Graph< right > &rhs)
 
template<typename left , typename right >
auto operator* (const Graph< left > &lhs, const graph_utils::const_full_col_iterator< right > &rhs)
 
template<typename left , typename right >
auto operator* (const Transpose< left > &lhs, const graph_utils::const_full_col_iterator< right > &rhs)
 
template<typename left , typename right >
auto operator* (const Temporary_Graph< left > &lhs, const graph_utils::const_full_col_iterator< right > &rhs)
 
template<typename left , typename right , class output = decltype(left()* right())>
std::map< unsigned int, output > operator* (const graph_utils::const_sparse_col_iterator< left > &lhs, const Graph< right > &rhs)
 
template<typename left , typename right , class output = decltype(left()* right())>
std::map< unsigned int, output > operator* (const graph_utils::const_sparse_col_iterator< left > &lhs, const Transpose< right > &rhs)
 
template<typename left , typename right >
auto operator* (const graph_utils::const_sparse_col_iterator< left > &lhs, const Temporary_Graph< right > &rhs)
 
template<typename left , typename right >
auto operator* (const Graph< left > &lhs, const graph_utils::const_sparse_col_iterator< right > &rhs)
 
template<typename left , typename right >
auto operator* (const Transpose< left > &lhs, const graph_utils::const_sparse_col_iterator< right > &rhs)
 
template<typename left , typename right >
auto operator* (const Temporary_Graph< left > &lhs, const graph_utils::const_sparse_col_iterator< right > &rhs)
 

Detailed Description

Vectors are returned when multiplying a full_col_iterator. Maps are returned when multiplying a sparse_col_iterator. The sparse_col_iterator::_skip must equal 0. All values in returned maps are non-zero. The source nodeset of the iterator's parent must match the (target / source) nodeset of the (Graph / Transpose). Return template type for the vectors or maps is determined by the product of the left and right types.
Ex.
int * int => int
float * bool => float
bool * bool => int

Function Documentation

◆ operator*() [1/11]

template<typename left , typename right >
auto operator* ( const Graph< left > &  lhs,
const graph_utils::const_full_col_iterator< right > &  rhs 
)

summary>

Here is the call graph for this function:

◆ operator*() [2/11]

template<typename left , typename right >
auto operator* ( const Graph< left > &  lhs,
const graph_utils::const_sparse_col_iterator< right > &  rhs 
)

summary>

Here is the call graph for this function:

◆ operator*() [3/11]

template<typename left , typename right , class output = decltype(left()* right())>
std::vector< output > operator* ( const graph_utils::const_full_col_iterator< left > &  lhs,
const Graph< right > &  rhs 
)

summary>

Here is the call graph for this function:

◆ operator*() [4/11]

template<typename left , typename right >
auto operator* ( const graph_utils::const_full_col_iterator< left > &  lhs,
const Temporary_Graph< right > &  rhs 
)

summary>

◆ operator*() [5/11]

template<typename left , typename right , class output = decltype(left()* right())>
std::vector< output > operator* ( const graph_utils::const_full_col_iterator< left > &  lhs,
const Transpose< right > &  rhs 
)

summary>

Here is the call graph for this function:

◆ operator*() [6/11]

template<typename left , typename right , class output = decltype(left()* right())>
std::map< unsigned int, output > operator* ( const graph_utils::const_sparse_col_iterator< left > &  lhs,
const Graph< right > &  rhs 
)

summary>

Here is the call graph for this function:

◆ operator*() [7/11]

template<typename left , typename right >
auto operator* ( const graph_utils::const_sparse_col_iterator< left > &  lhs,
const Temporary_Graph< right > &  rhs 
)

summary>

◆ operator*() [8/11]

template<typename left , typename right , class output = decltype(left()* right())>
std::map< unsigned int, output > operator* ( const graph_utils::const_sparse_col_iterator< left > &  lhs,
const Transpose< right > &  rhs 
)

summary>

Here is the call graph for this function:

◆ operator*() [9/11]

template<typename left , typename right >
auto operator* ( const Temporary_Graph< left > &  lhs,
const graph_utils::const_full_col_iterator< right > &  rhs 
)

summary>

◆ operator*() [10/11]

template<typename left , typename right >
auto operator* ( const Transpose< left > &  lhs,
const graph_utils::const_full_col_iterator< right > &  rhs 
)

summary>

Here is the call graph for this function:

◆ operator*() [11/11]

template<typename left , typename right >
auto operator* ( const Transpose< left > &  lhs,
const graph_utils::const_sparse_col_iterator< right > &  rhs 
)

summary>

Here is the call graph for this function: