1 #ifndef VCSN_ALGOS_FWD_HH
2 # define VCSN_ALGOS_FWD_HH
17 template <std::
size_t Tape,
typename Aut>
18 class blind_automaton_impl;
22 template <std::
size_t Tape,
typename Aut>
24 = std::shared_ptr<detail::blind_automaton_impl<Tape, Aut>>;
29 template <
typename Aut>
32 template <
typename Aut>
35 template <
typename Aut>
38 template <
typename Aut>
41 template <
typename RatExpSet>
42 bool is_valid(
const RatExpSet&,
const typename RatExpSet::value_t&);
46 template <
typename Aut>
54 template <
typename Aut>
59 template <
typename Aut>
61 = std::shared_ptr<detail::transpose_automaton_impl<Aut>>;
64 #endif // !VCSN_ALGOS_FWD_HH
Read-write on an automaton, that transposes everything.
bool is_ambiguous(const Aut &aut)
std::shared_ptr< detail::transpose_automaton_impl< Aut >> transpose_automaton
An automaton wrapper that presents the transposed automaton.
std::shared_ptr< detail::blind_automaton_impl< Tape, Aut >> blind_automaton
A blind automaton as a shared pointer.
bool is_valid(const Aut &aut)
bool in_situ_remover(Aut &aut, bool prune=true)
Blindly eliminate epsilon transitions without checking for the validity of the automaton.
bool is_proper(const Aut &aut)
Test whether an automaton is proper.
size_t num_eps_transitions(const Aut &)
Abstract Builder (the design pattern) for automata.