7namespace mim::plug::regex::detail {
8template<
class ConjOrDisj>
9void flatten_in_arg(
const Def* arg,
DefVec& new_args) {
10 for (
const auto* proj : arg->projs()) {
13 flatten_in_arg<ConjOrDisj>(seq_app->arg(), new_args);
15 if constexpr (std::is_same_v<ConjOrDisj, conj>)
17 new_args.push_back(proj);
22template<
class ConjOrDisj>
23DefVec flatten_in_arg(
const Def* arg) {
25 flatten_in_arg<ConjOrDisj>(arg, new_args);
static auto isa(const Def *def)
Vector< const Def * > DefVec