32static auto filter_with_params_by_name(std::string&&
name)
34 return std::views::filter([
name = std::move(
name)](
auto const& spec)
mutable {
return std::ranges::any_of(spec.metadata, checks::has_params_with_name(std::move(
name))); });
37static auto filter_with_params_by_name_starting(std::string&&
name)
39 return std::views::filter([
name = std::move(
name)](
auto const& spec)
mutable {
return std::ranges::any_of(spec.metadata, checks::has_params_with_name_starting(std::move(
name))); });
42static auto partial_match_filter(
auto what)
47static auto exclude_by_name(std::string
name)
49 return std::views::filter([
name](
auto const& t) ->
bool {
return t.name !=
name; });
52static auto filter_not_matching(
auto const& provided)
54 return std::views::filter([&provided](
auto const& input) {
return std::none_of(provided.begin(), provided.end(), [&input](
auto const&
output) { return DataSpecUtils::match(input, output); }); });
57static auto filter_matching(
auto const& provided)
59 return std::views::filter([&provided](
auto const& input) {
return std::any_of(provided.begin(), provided.end(), [&input](
auto const&
output) { return DataSpecUtils::match(input, output); }); });
62static auto filter_string_params_with(std::string
match)
64 return std::views::filter([
match](
auto const&
param) {
69static auto filter_string_params_starts_with(std::string
match)
71 return std::views::filter([
match](
auto const&
param) {
76static auto input_to_output_specs()
78 return std::views::transform([](
auto const& input) {
80 return OutputSpec{concrete.origin, concrete.description, concrete.subSpec, input.
lifetime, input.metadata};
84static auto params_to_input_specs()
86 return std::views::transform([](
auto const&
param) {