![]()  | 
  
    Vcsn
    2.5.dev
    
   Be Rational 
   | 
 
Detect circuits. More...
#include <is-acyclic.hh>
Public Types | |
| using | automaton_t = std::remove_cv_t< Aut > | 
| using | state_t = state_t_of< automaton_t > | 
| using | label_t = label_t_of< automaton_t > | 
Public Member Functions | |
| is_acyclic_impl (const automaton_t &aut, boost::optional< label_t > label={}) | |
| bool | operator() () | 
| Whether the automaton is acyclic.  More... | |
Private Types | |
| enum | status { unknown, ok, circuit } | 
Private Member Functions | |
| bool | has_circuit_ (state_t s) | 
| Whether a circuit is accessible from s.  More... | |
Private Attributes | |
| std::unordered_map< state_t, status > | tag_ | 
| automaton_t | aut_ | 
| boost::optional< label_t > | one_ | 
Detect circuits.
Definition at line 20 of file is-acyclic.hh.
| using vcsn::detail::is_acyclic_impl< Aut >::automaton_t = std::remove_cv_t<Aut> | 
Definition at line 23 of file is-acyclic.hh.
| using vcsn::detail::is_acyclic_impl< Aut >::label_t = label_t_of<automaton_t> | 
Definition at line 25 of file is-acyclic.hh.
| using vcsn::detail::is_acyclic_impl< Aut >::state_t = state_t_of<automaton_t> | 
Definition at line 24 of file is-acyclic.hh.
      
  | 
  private | 
| Enumerator | |
|---|---|
| unknown | The graph reachable from s is under exploration.  | 
| ok | There is no circuit accessible from s.  | 
| circuit | There is an circuit accessible from s.  | 
Definition at line 90 of file is-acyclic.hh.
      
  | 
  inline | 
Definition at line 27 of file is-acyclic.hh.
References vcsn::detail::is_acyclic_impl< Aut >::aut_, and vcsn::detail::is_acyclic_impl< Aut >::one_.
      
  | 
  inlineprivate | 
Whether a circuit is accessible from s.
Definition at line 42 of file is-acyclic.hh.
References vcsn::detail::is_acyclic_impl< Aut >::aut_, BUILTIN_UNREACHABLE, vcsn::detail::is_acyclic_impl< Aut >::circuit, vcsn::detail::is_acyclic_impl< Aut >::ok, vcsn::detail::is_acyclic_impl< Aut >::one_, vcsn::detail::out(), vcsn::detail::is_acyclic_impl< Aut >::tag_, and vcsn::detail::is_acyclic_impl< Aut >::unknown.
Referenced by vcsn::detail::is_acyclic_impl< Aut >::operator()().
      
  | 
  inline | 
Whether the automaton is acyclic.
Definition at line 34 of file is-acyclic.hh.
References vcsn::detail::is_acyclic_impl< Aut >::aut_, vcsn::detail::is_acyclic_impl< Aut >::has_circuit_(), and vcsn::detail::none_of().
      
  | 
  private | 
Definition at line 103 of file is-acyclic.hh.
Referenced by vcsn::detail::is_acyclic_impl< Aut >::has_circuit_(), vcsn::detail::is_acyclic_impl< Aut >::is_acyclic_impl(), and vcsn::detail::is_acyclic_impl< Aut >::operator()().
      
  | 
  private | 
Definition at line 104 of file is-acyclic.hh.
Referenced by vcsn::detail::is_acyclic_impl< Aut >::has_circuit_(), and vcsn::detail::is_acyclic_impl< Aut >::is_acyclic_impl().
      
  | 
  private | 
Definition at line 101 of file is-acyclic.hh.
Referenced by vcsn::detail::is_acyclic_impl< Aut >::has_circuit_().