![]() |
Vcsn
2.0
Be Rational
|
#include <stack>#include <vcsn/dyn/automaton.hh>#include <vcsn/dyn/fwd.hh>#include <vcsn/algos/transpose.hh>#include <vcsn/misc/builtins.hh>#include <vcsn/misc/unordered_map.hh>#include <vcsn/misc/set.hh>#include <vcsn/misc/vector.hh>Go to the source code of this file.
Classes | |
| class | vcsn::detail::scc_tarjan_impl< Aut > |
| Use Tarjan's algorithm to find all strongly connected components. More... | |
| class | vcsn::detail::reverse_postorder_impl< Aut > |
| Get all vertices in reverse postorder by using depth first search. More... | |
| class | vcsn::detail::scc_kosaraju_impl< Aut > |
| Use Kosajaju algorithm for finding all of strongly connected components. More... | |
Namespaces | |
| vcsn | |
| vcsn::detail | |
| vcsn::dyn | |
| FIXME: duplicate code with determinize. | |
| vcsn::dyn::detail | |
Typedefs | |
| template<typename Aut > | |
| using | vcsn::detail::component_t = std::set< state_t_of< Aut >> |
| An strongly-connected component: list of states. More... | |
| template<typename Aut > | |
| using | vcsn::detail::components_t = std::vector< component_t< Aut >> |
| A set of strongly-connected components. More... | |
Enumerations | |
| enum | vcsn::SCC_ALGO { vcsn::SCC_ALGO::TARJAN = 0, vcsn::SCC_ALGO::KOSARAJU = 1 } |
Functions | |
| template<typename Aut > | |
| std::stack< state_t_of< Aut > > | vcsn::reverse_postorder (const Aut &aut) |
| Get all vertices in reverse postorder. More... | |
| template<typename Aut > | |
| const detail::components_t< Aut > | vcsn::scc (const Aut &aut, SCC_ALGO algo=SCC_ALGO::TARJAN) |
| Find all strongly connected components of aut. More... | |
| template<typename Aut > | |
| Aut::element_type::automaton_nocv_t | vcsn::aut_of_component (const detail::component_t< Aut > &com, const Aut &aut) |
| Generate a subautomaton corresponding to an SCC. More... | |
| template<typename Aut > | |
| std::size_t | vcsn::num_sccs (const Aut &aut) |
| Get number of strongly connected components. More... | |
| template<typename Aut > | |
| std::size_t | vcsn::dyn::detail::num_sccs (const automaton &aut) |
| vcsn::dyn::detail::REGISTER_DECLARE (num_sccs,(const automaton &) -> std::size_t) | |