Vcsn  2.3
Be Rational
automaton.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vcsn/ctx/traits.hh> // state_t_of
4 
5 namespace vcsn
6 {
7 #if defined __cpp_concepts
8  template <typename Aut>
9  concept bool Automaton()
10  {
11  return requires (Aut a)
12  {
13  typename state_t_of<Aut>;
14  { a->null_state() } -> state_t_of<Aut>;
15  { a->pre() } -> state_t_of<Aut>;
16  { a->post() } -> state_t_of<Aut>;
17 
18  typename transition_t_of<Aut>;
19  { a->null_transition() } -> transition_t_of<Aut>;
20  };
21  }
22 #else
23 # define Automaton typename
24 #endif
25 }
#define Automaton
Definition: automaton.hh:23
Definition: a-star.hh:8