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