3 #include <unordered_map>
19 template <
typename A,
typename B>
29 template <
typename A,
typename B>
46 template <
typename Lhs,
typename Rhs>
51 const auto& l = lhs->as<Lhs>();
52 const auto&
r = rhs->as<Rhs>();
automaton union_a(const automaton &lhs, const automaton &rhs)
Bridge.
automaton make_automaton(const Aut &aut)
Build a dyn::automaton.
Provide a variadic mul on top of a binary mul(), and one().
std::shared_ptr< detail::automaton_base > automaton
void copy_into(const AutIn &in, AutOut &out, KeepState keep_state, KeepTrans keep_trans)
Copy selected states and transitions of an automaton.
A & union_here(A &res, const B &b)
Merge transitions of b into those of res.
auto join_automata(Auts &&...auts) -> decltype(make_mutable_automaton(join(auts->context()...)))
An automaton whose type is the join between those of auts.
auto union_a(const A &lhs, const B &rhs) -> decltype(join_automata(lhs, rhs))
Union of two automata.