diff --git a/phlex/core/CMakeLists.txt b/phlex/core/CMakeLists.txt index 36fd293a..38b017a8 100644 --- a/phlex/core/CMakeLists.txt +++ b/phlex/core/CMakeLists.txt @@ -21,7 +21,6 @@ cet_make_library( filter.cpp framework_graph.cpp glue.cpp - input_arguments.cpp message.cpp node_catalog.cpp index_router.cpp diff --git a/phlex/core/input_arguments.cpp b/phlex/core/input_arguments.cpp deleted file mode 100644 index d8d86011..00000000 --- a/phlex/core/input_arguments.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "phlex/core/input_arguments.hpp" - -#include "fmt/format.h" - -#include -#include -#include -#include - -namespace phlex::experimental::detail { - void verify_no_duplicate_input_products(std::string const& algorithm_name, - product_queries to_sort) - { - std::sort(begin(to_sort), end(to_sort)); - std::set unique_and_sorted(begin(to_sort), end(to_sort)); - product_queries duplicates; - std::set_difference(begin(to_sort), - end(to_sort), - begin(unique_and_sorted), - end(unique_and_sorted), - std::back_inserter(duplicates)); - if (empty(duplicates)) { - return; - } - - std::string error = - fmt::format("Algorithm '{}' uses the following products more than once:\n", algorithm_name); - for (auto const& label : duplicates) { - error += fmt::format(" - '{}'\n", label.to_string()); - } - throw std::runtime_error(error); - } -} diff --git a/phlex/core/input_arguments.hpp b/phlex/core/input_arguments.hpp index c2286787..774fd9d8 100644 --- a/phlex/core/input_arguments.hpp +++ b/phlex/core/input_arguments.hpp @@ -55,21 +55,15 @@ namespace phlex::experimental { return std::make_tuple(retriever>{args[Is]}...); } - namespace detail { - void verify_no_duplicate_input_products(std::string const& algorithm_name, - product_queries to_sort); - } - template - auto form_input_arguments(std::string const& algorithm_name, product_queries const& args) + auto form_input_arguments(product_queries const& args) { constexpr auto num_inputs = std::tuple_size_v; - detail::verify_no_duplicate_input_products(algorithm_name, args); return form_input_arguments_impl(args, std::make_index_sequence{}); } template - using input_retriever_types = decltype(form_input_arguments({}, {})); + using input_retriever_types = decltype(form_input_arguments({})); } #endif // PHLEX_CORE_INPUT_ARGUMENTS_HPP diff --git a/phlex/core/products_consumer.hpp b/phlex/core/products_consumer.hpp index c6ae79c0..a88e7e7f 100644 --- a/phlex/core/products_consumer.hpp +++ b/phlex/core/products_consumer.hpp @@ -37,7 +37,7 @@ namespace phlex::experimental { template auto input_arguments() { - return form_input_arguments(full_name(), input_products_); + return form_input_arguments(input_products_); } private: