Vcsn
2.1
Be Rational
|
#include <proper.hh>
Public Member Functions | |
properer (const automaton_t &aut, bool prune=true, const std::string &algo="auto") | |
Remove the epsilon-transitions of the input. More... | |
aut_proper_t | operator() () |
Private Types | |
using | automaton_t = typename std::remove_cv< Aut >::type |
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 >>> |
Private Member Functions | |
aut_proper_t | remover_ () |
template<star_status_t Status> | |
vcsn::enable_if_t< Status==star_status_t::TOPS, aut_proper_t > | proper_star () |
template<star_status_t Status> | |
vcsn::enable_if_t< Status==star_status_t::ABSVAL, aut_proper_t > | proper_star () |
template<star_status_t Status> | |
vcsn::enable_if_t< Status==star_status_t::STARRABLE, aut_proper_t > | proper_star () |
template<star_status_t Status> | |
vcsn::enable_if_t< Status==star_status_t::NON_STARRABLE, aut_proper_t > | proper_star () |
Private Attributes | |
automaton_t | aut_ |
bool | prune_ |
const std::string & | algo_ |
|
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. |
runtime_error | if the input is not valid |
|
inline |
|
inlineprivate |
Definition at line 97 of file proper.hh.
References vcsn::detail::properer< Aut >::remover_().
|
inlineprivate |
Definition at line 111 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 119 of file proper.hh.
References vcsn::detail::properer< Aut >::remover_().
|
inlineprivate |
Definition at line 126 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 73 of file proper.hh.
References vcsn::detail::properer< Aut >::algo_, vcsn::detail::properer< Aut >::aut_, vcsn::copy(), and vcsn::detail::properer< Aut >::prune_.
Referenced by vcsn::detail::properer< Aut >::proper_star().
|
private |
Definition at line 134 of file proper.hh.
Referenced by vcsn::detail::properer< Aut >::remover_().
|
private |
Definition at line 132 of file proper.hh.
Referenced by vcsn::detail::properer< Aut >::proper_star(), and vcsn::detail::properer< Aut >::remover_().
|
private |
Definition at line 133 of file proper.hh.
Referenced by vcsn::detail::properer< Aut >::remover_().