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>
96 to_expansion(
const ExpSet& rs,
const typename ExpSet::value_t& e);
101 template <Automaton Aut>
106 template <Automaton Aut>
108 = std::shared_ptr<detail::transpose_automaton_impl<Aut>>;
bool is_ambiguous(const Aut &aut)
Whether an automaton is ambiguous.
std::shared_ptr< detail::delay_automaton_impl< Aut > > delay_automaton
An automaton wrapper that presents the delay automaton.
std::shared_ptr< synchronized_automaton_impl< Aut > > synchronized_automaton
rat::expansionset< ExpSet >::value_t to_expansion(const ExpSet &rs, const typename ExpSet::value_t &e)
First order expansion.
std::shared_ptr< detail::focus_automaton_impl< Tape, Aut > > focus_automaton
A focus automaton as a shared pointer.
An automaton whose states may be qualified by delays and/or prefixes.
focus_automaton< Tape, Aut > focus(Aut aut)
bool in_situ_remover(Aut &aut, bool prune=true)
bool is_valid(const Aut &aut)
Abstract Builder (the design pattern) for automata.
size_t num_eps_transitions(const Aut &)
std::set< std::pair< std::string, std::string > > letter_class_t
A set of letter ranges.
bool is_proper(const Aut &aut)
Test whether an automaton is proper.
Read-write view on an automaton, that transposes everything.
An automaton whose states may be qualified by delays and/or prefixes.
std::shared_ptr< detail::transpose_automaton_impl< Aut > > transpose_automaton
An automaton wrapper that presents the transposed automaton.