20 template <Automaton Aut>
25 template <Automaton Aut>
27 = std::shared_ptr<detail::delay_automaton_impl<Aut>>;
35 template <std::
size_t Tape, Automaton Aut>
36 class focus_automaton_impl;
40 template <std::
size_t Tape, Automaton Aut>
42 = std::shared_ptr<detail::focus_automaton_impl<Tape, Aut>>;
44 template <
unsigned Tape, Automaton Aut>
48 template <Automaton Aut>
54 template <Automaton Aut>
60 template <Automaton Aut>
64 template <Automaton Aut>
68 template <Automaton Aut>
71 template <
typename ExpSet>
72 bool is_valid(
const ExpSet&,
const typename ExpSet::value_t&);
77 template <Automaton Aut,
typename Tag>
84 template <Automaton Aut>
89 template <Automaton Aut>
91 = std::shared_ptr<detail::synchronized_automaton_impl<Aut>>;
94 template <
typename ExpSet>
101 template <Automaton Aut>
106 template <Automaton Aut>
108 = std::shared_ptr<detail::transpose_automaton_impl<Aut>>;
Abstract Builder (the design pattern) for automata.
std::shared_ptr< synchronized_automaton_impl< Aut >> synchronized_automaton
Read-write on an automaton, that transposes everything.
An automaton whose states may be qualified by delays and/or prefixes.
bool is_ambiguous(const Aut &aut)
size_t num_eps_transitions(const Aut &)
rat::expansionset< ExpSet >::value_t to_expansion(const ExpSet &rs, const typename ExpSet::value_t &e)
First order expansion.
std::shared_ptr< detail::transpose_automaton_impl< Aut >> transpose_automaton
An automaton wrapper that presents the transposed automaton.
std::shared_ptr< detail::focus_automaton_impl< Tape, Aut >> focus_automaton
A focus automaton as a shared pointer.
bool is_valid(const Aut &aut)
bool is_proper(const Aut &aut)
Test whether an automaton is proper.
focus_automaton< Tape, Aut > focus(Aut aut)
std::set< std::pair< std::string, std::string >> letter_class_t
A set of letter ranges.
bool in_situ_remover(Aut &aut, bool prune=true)
std::shared_ptr< detail::delay_automaton_impl< Aut >> delay_automaton
An automaton wrapper that presents the delay automaton.
An automaton whose states may be qualified by delays and/or prefixes.