356{
359 dynamic_cast<const package *>(&e) != nullptr) {
362 if (std::holds_alternative<namespace_>(nsit.value())) {
363 const auto &ns_pattern = std::get<namespace_>(nsit.value());
364
365 auto element_full_name_starts_with_namespace =
366 namespace_{e.name_and_ns()}.starts_with(ns_pattern);
367
368 auto element_full_name_equals_pattern =
370
371 auto pattern_starts_with_element_full_name =
373
374 auto result = element_full_name_starts_with_namespace ||
375 element_full_name_equals_pattern;
376
378 result =
379 result || pattern_starts_with_element_full_name;
380
381 return result;
382 }
383
384 return std::get<common::regex>(nsit.value()) %=
385 e.full_name(false);
386 });
387
391 "Element {} rejected by namespace_filter", e.full_name(false));
392 }
393
394 return res;
395 }
396
400 if (std::holds_alternative<namespace_>(nsit.value())) {
401 auto e_ns = namespace_{e.full_name(false)};
402 auto nsit_ns = std::get<namespace_>(nsit.value());
403
405 return e_ns.starts_with(nsit_ns) ||
406 nsit_ns.starts_with(e_ns) || e_ns == nsit_ns;
407
408 return e_ns.starts_with(nsit_ns) || e_ns == nsit_ns;
409 }
410
411 return std::get<common::regex>(nsit.value()) %=
412 e.full_name(false);
413 });
414
418 "Element {} rejected by namespace_filter", e.full_name(false));
419 }
420 return res;
421 }
422
425 if (std::holds_alternative<namespace_>(nsit.value())) {
426 return e.get_namespace().starts_with(
427 std::get<namespace_>(nsit.value()));
428 }
429
430 return std::get<common::regex>(nsit.value()) %= e.full_name(false);
431 });
432
436 "Element {} rejected by namespace_filter", e.full_name(false));
437 }
438 return res;
439}