Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
vcsn::detail::scc_kosaraju_impl< Aut > Class Template Reference

Use Kosajaju algorithm for finding all of strongly connected components. More...

#include <scc.hh>

Collaboration diagram for vcsn::detail::scc_kosaraju_impl< Aut >:

Public Types

using state_t = state_t_of< Aut >
 
using component_t = detail::component_t< Aut >
 
using components_t = detail::components_t< Aut >
 

Public Member Functions

 scc_kosaraju_impl (const Aut &aut)
 
const components_t components ()
 

Private Member Functions

void dfs (state_t s, const Aut &aut)
 

Private Attributes

std::size_t num_ = 0
 The current component number. More...
 
components_t components_
 
std::set< state_tmarked_
 

Detailed Description

template<typename Aut>
class vcsn::detail::scc_kosaraju_impl< Aut >

Use Kosajaju algorithm for finding all of strongly connected components.

Definition at line 168 of file scc.hh.

Member Typedef Documentation

template<typename Aut>
using vcsn::detail::scc_kosaraju_impl< Aut >::component_t = detail::component_t<Aut>

Definition at line 172 of file scc.hh.

template<typename Aut>
using vcsn::detail::scc_kosaraju_impl< Aut >::components_t = detail::components_t<Aut>

Definition at line 173 of file scc.hh.

template<typename Aut>
using vcsn::detail::scc_kosaraju_impl< Aut >::state_t = state_t_of<Aut>

Definition at line 171 of file scc.hh.

Constructor & Destructor Documentation

template<typename Aut>
vcsn::detail::scc_kosaraju_impl< Aut >::scc_kosaraju_impl ( const Aut &  aut)
inline

Definition at line 175 of file scc.hh.

References vcsn::detail::scc_kosaraju_impl< Aut >::dfs(), vcsn::has(), vcsn::detail::scc_kosaraju_impl< Aut >::marked_, vcsn::detail::scc_kosaraju_impl< Aut >::num_, vcsn::reverse_postorder(), and vcsn::transpose().

Here is the call graph for this function:

Member Function Documentation

template<typename Aut>
const components_t vcsn::detail::scc_kosaraju_impl< Aut >::components ( )
inline

Definition at line 191 of file scc.hh.

References vcsn::detail::scc_kosaraju_impl< Aut >::components_.

Referenced by vcsn::scc().

template<typename Aut>
void vcsn::detail::scc_kosaraju_impl< Aut >::dfs ( state_t  s,
const Aut &  aut 
)
inlineprivate

Definition at line 197 of file scc.hh.

References vcsn::detail::scc_kosaraju_impl< Aut >::components_, vcsn::has(), vcsn::detail::scc_kosaraju_impl< Aut >::marked_, and vcsn::detail::scc_kosaraju_impl< Aut >::num_.

Referenced by vcsn::detail::scc_kosaraju_impl< Aut >::scc_kosaraju_impl().

Here is the call graph for this function:

Member Data Documentation

template<typename Aut>
components_t vcsn::detail::scc_kosaraju_impl< Aut >::components_
private
template<typename Aut>
std::set<state_t> vcsn::detail::scc_kosaraju_impl< Aut >::marked_
private
template<typename Aut>
std::size_t vcsn::detail::scc_kosaraju_impl< Aut >::num_ = 0
private

The current component number.

Definition at line 214 of file scc.hh.

Referenced by vcsn::detail::scc_kosaraju_impl< Aut >::dfs(), and vcsn::detail::scc_kosaraju_impl< Aut >::scc_kosaraju_impl().


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