19 template <
typename Aut>
24 template <
typename Aut>
26 = std::shared_ptr<detail::delay_automaton_impl<Aut>>;
34 template <std::
size_t Tape,
typename Aut>
35 class focus_automaton_impl;
39 template <std::
size_t Tape,
typename Aut>
41 = std::shared_ptr<detail::focus_automaton_impl<Tape, Aut>>;
43 template <
unsigned Tape,
typename Aut>
47 template <
typename Aut>
53 template <
typename Aut>
59 template <
typename Aut>
63 template <
typename Aut>
67 template <
typename Aut>
70 template <
typename ExpSet>
71 bool is_valid(
const ExpSet&,
const typename ExpSet::value_t&);
76 template <
typename Aut>
81 template <
typename Aut>
83 = std::shared_ptr<detail::synchronized_automaton_impl<Aut>>;
86 template <
typename ExpSet>
93 template <
typename Aut>
98 template <
typename Aut>
100 = std::shared_ptr<detail::transpose_automaton_impl<Aut>>;
std::set< std::pair< std::string, std::string >> letter_class_t
A set of letter ranges.
size_t num_eps_transitions(const Aut &)
An automaton whose states may be qualified by delays and/or prefixes.
bool is_ambiguous(const Aut &aut)
std::shared_ptr< detail::transpose_automaton_impl< Aut >> transpose_automaton
An automaton wrapper that presents the transposed automaton.
Read-write on an automaton, that transposes everything.
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::shared_ptr< detail::focus_automaton_impl< Tape, Aut >> focus_automaton
A focus automaton as a shared pointer.
std::shared_ptr< synchronized_automaton_impl< Aut >> synchronized_automaton
An automaton whose states may be qualified by delays and/or prefixes.
rat::expansionset< ExpSet >::value_t to_expansion(const ExpSet &rs, const typename ExpSet::value_t &e)
First order expansion.
std::shared_ptr< detail::delay_automaton_impl< Aut >> delay_automaton
An automaton wrapper that presents the delay automaton.
Abstract Builder (the design pattern) for automata.
bool in_situ_remover(Aut &aut, bool prune=true)