1 #ifndef VCSN_DYN_AUTOMATON_HH
2 # define VCSN_DYN_AUTOMATON_HH
22 virtual std::string
vname(
bool full =
true)
const = 0;
25 template <
typename Aut>
32 template <
typename Aut>
40 template <
typename Aut>
50 virtual std::string
vname(
bool full =
true)
const override
71 using automaton = std::shared_ptr<detail::automaton_base>;
74 template <
typename Aut>
79 return std::make_shared<detail::automaton_wrapper<Aut>>(aut);
84 #endif // !VCSN_DYN_AUTOMATON_HH
std::shared_ptr< detail::automaton_base > automaton
automaton make_automaton(const Aut &aut)
Build a dyn::automaton.
automaton_wrapper(automaton_t aut)
Aut & as()
Extract wrapped typed automaton.
A wrapped typed automaton.
const Aut & as() const
Extract wrapped typed automaton.
automaton_t automaton_
The automaton.
const automaton_t & automaton() const
virtual std::string vname(bool full=true) const override
A description of the automaton, sufficient to build it.
automaton_t & automaton()