ug4
|
Public Types | |
typedef boost::graph_traits< G_t >::adjacency_iterator | adj_iter |
typedef IOrderingAlgorithm< TAlgebra, O_t > | baseclass |
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS > | G_t |
typedef boost::graph_traits< G_t >::in_edge_iterator | inedge_iter |
typedef TAlgebra::matrix_type | M_t |
typedef boost::graph_traits< G_t >::adjacency_iterator | nIt_t |
typedef IOrderingAlgorithm< TAlgebra, ordering_container_type > | ordering_algo_type |
typedef std::vector< size_t > | ordering_container_type |
typedef TAlgebra::vector_type | V_t |
typedef boost::graph_traits< G_t >::vertex_descriptor | vd_t |
typedef boost::graph_traits< G_t >::vertex_iterator | vIt_t |
Public Types inherited from ug::IOrderingAlgorithm< TAlgebra, O_t > | |
typedef TAlgebra::matrix_type | M_t |
typedef TAlgebra::vector_type | V_t |
Public Member Functions | |
void | check () |
SmartPtr< IOrderingAlgorithm< TAlgebra, O_t > > | clone () |
void | compute () |
void | init (M_t *, const O_t &) |
void | init (M_t *, const V_t &, const O_t &) |
void | init (M_t *A) |
void | init (M_t *A, const V_t &) |
virtual const char * | name () const |
O_t & | ordering () |
SCCOrdering () | |
SCCOrdering (const SCCOrdering< TAlgebra, O_t > &parent) | |
clone constructor More... | |
void | set_ordering_subalgorithm (SmartPtr< ordering_algo_type > ordering_subalgo) |
sets an ordering algorithm More... | |
Public Member Functions inherited from ug::IOrderingAlgorithm< TAlgebra, O_t > | |
virtual void | init (M_t *, const std::vector< size_t > &)=0 |
virtual void | init (M_t *, const V_t &, const std::vector< size_t > &)=0 |
IOrderingAlgorithm () | |
virtual | ~IOrderingAlgorithm () |
Private Attributes | |
G_t | g |
M_t * | m |
SmartPtr< ordering_algo_type > | m_spOrderingSubAlgo |
O_t | o |
G_t | scc_g |
typedef boost::graph_traits<G_t>::adjacency_iterator ug::SCCOrdering< TAlgebra, O_t >::adj_iter |
typedef IOrderingAlgorithm<TAlgebra, O_t> ug::SCCOrdering< TAlgebra, O_t >::baseclass |
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS> ug::SCCOrdering< TAlgebra, O_t >::G_t |
typedef boost::graph_traits<G_t>::in_edge_iterator ug::SCCOrdering< TAlgebra, O_t >::inedge_iter |
typedef TAlgebra::matrix_type ug::SCCOrdering< TAlgebra, O_t >::M_t |
typedef boost::graph_traits<G_t>::adjacency_iterator ug::SCCOrdering< TAlgebra, O_t >::nIt_t |
typedef IOrderingAlgorithm<TAlgebra, ordering_container_type> ug::SCCOrdering< TAlgebra, O_t >::ordering_algo_type |
typedef std::vector<size_t> ug::SCCOrdering< TAlgebra, O_t >::ordering_container_type |
typedef TAlgebra::vector_type ug::SCCOrdering< TAlgebra, O_t >::V_t |
typedef boost::graph_traits<G_t>::vertex_descriptor ug::SCCOrdering< TAlgebra, O_t >::vd_t |
typedef boost::graph_traits<G_t>::vertex_iterator ug::SCCOrdering< TAlgebra, O_t >::vIt_t |
|
inline |
|
inline |
clone constructor
|
inlinevirtual |
Implements ug::IOrderingAlgorithm< TAlgebra, O_t >.
References ug::is_permutation(), ug::SCCOrdering< TAlgebra, O_t >::name(), ug::SCCOrdering< TAlgebra, O_t >::o, and UG_COND_THROW.
Referenced by ug::SCCOrdering< TAlgebra, O_t >::compute().
|
inlinevirtual |
Implements ug::IOrderingAlgorithm< TAlgebra, O_t >.
References make_sp().
|
inlinevirtual |
Implements ug::IOrderingAlgorithm< TAlgebra, O_t >.
References boost::adjacent_vertices(), ug::SCCOrdering< TAlgebra, O_t >::check(), ug::SCCOrdering< TAlgebra, O_t >::g, boost::get(), ug::GetInversePermutation(), ug::SCCOrdering< TAlgebra, O_t >::m, ug::SCCOrdering< TAlgebra, O_t >::m_spOrderingSubAlgo, ug::SCCOrdering< TAlgebra, O_t >::name(), boost::num_vertices(), ug::SCCOrdering< TAlgebra, O_t >::o, ug::SCCOrdering< TAlgebra, O_t >::scc_g, ug::topological_ordering_core_directed(), UG_COND_THROW, UG_LOG, and UG_THROW.
|
inline |
References ug::SCCOrdering< TAlgebra, O_t >::name(), and UG_THROW.
|
inline |
References ug::SCCOrdering< TAlgebra, O_t >::name(), and UG_THROW.
|
inlinevirtual |
|
inlinevirtual |
Implements ug::IOrderingAlgorithm< TAlgebra, O_t >.
|
inlinevirtual |
|
inlinevirtual |
Implements ug::IOrderingAlgorithm< TAlgebra, O_t >.
References ug::SCCOrdering< TAlgebra, O_t >::o.
|
inline |
sets an ordering algorithm
References ug::SCCOrdering< TAlgebra, O_t >::m_spOrderingSubAlgo.
|
private |
Referenced by ug::SCCOrdering< TAlgebra, O_t >::compute(), and ug::SCCOrdering< TAlgebra, O_t >::init().
|
private |
Referenced by ug::SCCOrdering< TAlgebra, O_t >::compute(), and ug::SCCOrdering< TAlgebra, O_t >::init().
|
private |
|
private |
|
private |
Referenced by ug::SCCOrdering< TAlgebra, O_t >::compute().