Vcsn
2.3
Be Rational
|
#include <is-valid.hh>
Public Types | |
using | automaton_t = std::remove_cv_t< Aut > |
using | weightset_t = weightset_t_of< automaton_t > |
Static Public Member Functions | |
static bool | is_valid (const automaton_t &aut) |
Whether an automaton is valid. More... | |
Static Private Member Functions | |
template<star_status_t Status> | |
static std::enable_if_t< Status==star_status_t::TOPS, bool > | is_valid_ (const automaton_t &aut) |
template<star_status_t Status> | |
static std::enable_if_t< Status==star_status_t::ABSVAL, bool > | is_valid_ (const automaton_t &aut) |
template<star_status_t Status> | |
static std::enable_if_t< Status==star_status_t::STARRABLE, bool > | is_valid_ (const automaton_t &) |
template<star_status_t Status> | |
static std::enable_if_t< Status==star_status_t::NON_STARRABLE, bool > | is_valid_ (const automaton_t &aut) |
Definition at line 58 of file is-valid.hh.
using vcsn::detail::is_valid_impl< Aut, has_one >::automaton_t = std::remove_cv_t<Aut> |
Definition at line 61 of file is-valid.hh.
using vcsn::detail::is_valid_impl< Aut, has_one >::weightset_t = weightset_t_of<automaton_t> |
Definition at line 62 of file is-valid.hh.
|
inlinestatic |
Whether an automaton is valid.
The behavior of this method depends on the star_status of the weightset:
– starrable: return true; – tops: copy the input and return the result of proper on the copy; – non_starrable: return true iff the automaton is epsilon-acyclic WARNING: for weightsets with zero divisor, should test whether the weight of every simple circuit is zero; – absval: build a copy of the input where each weight is replaced by its absolute value and return the result of proper on the copy.
aut | The tested automaton |
Definition at line 82 of file is-valid.hh.
Referenced by vcsn::is_valid().
|
inlinestaticprivate |
Definition at line 91 of file is-valid.hh.
References vcsn::copy(), vcsn::is_eps_acyclic(), vcsn::is_proper(), and vcsn::detail::is_properable().
|
inlinestaticprivate |
Definition at line 101 of file is-valid.hh.
References vcsn::detail::absval(), vcsn::is_eps_acyclic(), vcsn::is_proper(), and vcsn::detail::is_properable().
|
inlinestaticprivate |
Definition at line 111 of file is-valid.hh.
|
inlinestaticprivate |
Definition at line 119 of file is-valid.hh.
References vcsn::is_eps_acyclic(), and vcsn::is_proper().