Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
is-valid.cc
Go to the documentation of this file.
1 #include <vcsn/dyn/automaton.hh>
2 #include <vcsn/algos/is-valid.hh>
4 #include <vcsn/dyn/algos.hh>
6 
7 namespace vcsn
8 {
9  namespace dyn
10  {
11  /*----------------------.
12  | is_valid(automaton). |
13  `----------------------*/
14 
15  REGISTER_DEFINE(is_valid);
16 
17  bool
18  is_valid(const automaton& a)
19  {
20  return detail::is_valid_registry().call(a);
21  }
22 
23  /*----------------.
24  | is_valid(exp). |
25  `----------------*/
26 
27  REGISTER_DEFINE(is_valid_ratexp);
28 
29  bool
30  is_valid(const ratexp& e)
31  {
32  return detail::is_valid_ratexp_registry().call(e);
33  }
34  }
35 }
std::shared_ptr< detail::automaton_base > automaton
Definition: automaton.hh:71
std::shared_ptr< detail::ratexp_base > ratexp
Definition: fwd.hh:64
bool is_valid(const automaton &e)
Whether automaton is valid (epsilon-cycles converge).
Definition: is-valid.cc:18
bool is_valid_ratexp(const ratexp &exp)
Bridge.