23 template <
typename Aut>
30 template <
typename Aut>
38 template <
typename Aut>
69 using automaton = std::shared_ptr<detail::automaton_base>;
72 template <
typename Aut>
77 return std::make_shared<detail::automaton_wrapper<Aut>>(aut);
auto & as()
Extract wrapped typed automaton.
automaton make_automaton(const Aut &aut)
Build a dyn::automaton.
std::shared_ptr< detail::automaton_base > automaton
automaton_t & automaton()
A wrapped typed automaton.
virtual symbol vname() const override
A description of the automaton, sufficient to build it.
auto & as() const
Extract wrapped typed automaton.
automaton_wrapper(automaton_t aut)
boost::flyweight< std::string, boost::flyweights::no_tracking, boost::flyweights::intermodule_holder > symbol
An internalized string.
automaton_t automaton_
The automaton.
To dyn_cast(From &&from)
A dynamic_cast in debug mode, static_cast with NDEBUG.
const automaton_t & automaton() const