![]()  | 
  
    Vcsn
    2.5.dev
    
   Be Rational 
   | 
 
Spontaneous transition elimination. More...
#include <proper.hh>
Public Member Functions | |
| properer (automaton_t aut, bool prune=true, const std::string &algo="auto") | |
| Remove the epsilon-transitions of the input.  More... | |
| aut_proper_t | operator() () const | 
| Proper automata with proper context.  More... | |
| void | here () | 
| In-place spontaneous transition removal.  More... | |
Private Types | |
| using | automaton_t = std::remove_cv_t< Aut > | 
| using | self_t = properer | 
| using | weightset_t = weightset_t_of< automaton_t > | 
| using | labelset_t = labelset_t_of< automaton_t > | 
| using | aut_proper_t = fresh_automaton_t_of< automaton_t, detail::proper_context< context_t_of< automaton_t > >> | 
| The result type.  More... | |
Private Member Functions | |
| aut_proper_t | remover_ () const | 
| template<star_status_t Status> | |
| std::enable_if_t< Status==star_status_t::ABSVAL, aut_proper_t > | proper_star_ () const | 
| template<star_status_t Status> | |
| std::enable_if_t< Status==star_status_t::NON_STARRABLE, aut_proper_t > | proper_star_ () const | 
| template<star_status_t Status> | |
| std::enable_if_t< Status==star_status_t::STARRABLE, aut_proper_t > | proper_star_ () const | 
| template<star_status_t Status> | |
| std::enable_if_t< Status==star_status_t::TOPS, aut_proper_t > | proper_star_ () const | 
| void | remover_here_ () | 
| template<star_status_t Status> | |
| std::enable_if_t< Status==star_status_t::ABSVAL > | proper_star_here_ () | 
| template<star_status_t Status> | |
| std::enable_if_t< Status==star_status_t::NON_STARRABLE > | proper_star_here_ () | 
| template<star_status_t Status> | |
| std::enable_if_t< Status==star_status_t::STARRABLE > | proper_star_here_ () | 
| template<star_status_t Status> | |
| std::enable_if_t< Status==star_status_t::TOPS > | proper_star_here_ () | 
Private Attributes | |
| automaton_t | aut_ | 
| bool | prune_ | 
| const std::string & | algo_ | 
Spontaneous transition elimination.
| Aut | the automaton type on which to run. | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  inline | 
Remove the epsilon-transitions of the input.
The behaviour of this method depends on the star_status of the weight_set:
– starrable : always valid, does not throw any exception – tops : the proper algo is directly launched on the input; if it returns false, an exception is launched – non_starrable / absval: is_valid is called before launching the algorithm.
| aut | The automaton in which epsilon-transitions will be removed | 
| prune | Whether to remove states that become inaccessible | 
| algo | the algorithm to use. | 
| runtime_error | if the input is not valid | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inlineprivate | 
Definition at line 114 of file proper.hh.
References vcsn::detail::properer< Aut >::aut_, vcsn::is_valid(), vcsn::detail::properer< Aut >::remover_(), and vcsn::require().
      
  | 
  inlineprivate | 
Definition at line 122 of file proper.hh.
References vcsn::detail::properer< Aut >::aut_, vcsn::is_valid(), vcsn::detail::properer< Aut >::remover_(), and vcsn::require().
      
  | 
  inlineprivate | 
Definition at line 130 of file proper.hh.
References vcsn::detail::properer< Aut >::remover_().
      
  | 
  inlineprivate | 
Definition at line 137 of file proper.hh.
References vcsn::detail::properer< Aut >::remover_().
      
  | 
  inlineprivate | 
Definition at line 169 of file proper.hh.
References vcsn::detail::properer< Aut >::aut_, vcsn::is_valid(), vcsn::detail::properer< Aut >::remover_here_(), and vcsn::require().
      
  | 
  inlineprivate | 
Definition at line 177 of file proper.hh.
References vcsn::detail::properer< Aut >::aut_, vcsn::is_valid(), vcsn::detail::properer< Aut >::remover_here_(), and vcsn::require().
      
  | 
  inlineprivate | 
Definition at line 185 of file proper.hh.
References vcsn::detail::properer< Aut >::remover_here_().
      
  | 
  inlineprivate | 
Definition at line 192 of file proper.hh.
References vcsn::detail::properer< Aut >::remover_here_().
      
  | 
  inlineprivate | 
Definition at line 81 of file proper.hh.
References vcsn::detail::properer< Aut >::algo_, vcsn::copy(), vcsn::detail::map(), vcsn::detail::epsilon_remover_distance< Aut, has_one >::prune_, vcsn::detail::epsilon_remover< Aut, has_one >::prune_, and vcsn::detail::epsilon_remover_separate< Aut, has_one >::prune_.
Referenced by vcsn::detail::properer< Aut >::proper_star_().
      
  | 
  inlineprivate | 
Definition at line 154 of file proper.hh.
References vcsn::detail::properer< Aut >::algo_, vcsn::detail::properer< Aut >::aut_, vcsn::detail::epsilon_remover< Aut, has_one >::in_situ_remover(), and vcsn::detail::properer< Aut >::prune_.
Referenced by vcsn::detail::properer< Aut >::proper_star_here_().
      
  | 
  private | 
Definition at line 206 of file proper.hh.
Referenced by vcsn::detail::properer< Aut >::remover_(), and vcsn::detail::properer< Aut >::remover_here_().
      
  | 
  private | 
Definition at line 204 of file proper.hh.
Referenced by vcsn::detail::properer< Aut >::proper_star_(), vcsn::detail::properer< Aut >::proper_star_here_(), and vcsn::detail::properer< Aut >::remover_here_().
      
  | 
  private | 
Definition at line 205 of file proper.hh.
Referenced by vcsn::detail::properer< Aut >::remover_here_().