#ifndef RFL_INTERNAL_PROCESSORS_HPP_ #define RFL_INTERNAL_PROCESSORS_HPP_ #include #include "internal/is_no_optionals_v.hpp" namespace rfl { template struct Processors; template <> struct Processors<> { static constexpr bool all_required_ = false; template static auto process(NamedTupleType&& _named_tuple) { return _named_tuple; } }; template struct Processors { static constexpr bool all_required_ = std::disjunction_v, internal::is_no_optionals...>; template static auto process(NamedTupleType&& _named_tuple) { return Processors::template process( Head::template process(std::move(_named_tuple)) ); } }; } // namespace rfl #endif