@@ -200,15 +200,17 @@ using cpo::reset_default;
200200
201201struct reset_t {
202202private:
203- template <typename Dut> static constexpr bool is_nothrow =
204- tag_invocable<reset_t , Dut&> ? nothrow_tag_invocable<reset_t , Dut&>
205- : nothrow_reset_default_ok<Dut>;
203+ template <typename Dut, typename ... Args> static constexpr bool is_nothrow =
204+ tag_invocable<reset_t , Dut&, Args...>
205+ ? nothrow_tag_invocable<reset_t , Dut&, Args...>
206+ : nothrow_reset_default_ok<Dut>;
206207
207208public:
208- template <typename Dut> constexpr decltype (auto ) operator()(Dut& dut) const
209- noexcept (is_nothrow<Dut>) {
210- if constexpr (tag_invocable<reset_t , Dut&>) {
211- return tag_invoke (*this , dut);
209+ template <typename Dut, typename ... Args>
210+ constexpr decltype (auto ) operator()(Dut& dut, Args&&... args) const
211+ noexcept (is_nothrow<Dut, Args...>) {
212+ if constexpr (tag_invocable<reset_t , Dut&, Args...>) {
213+ return tag_invoke (*this , dut, std::forward<Args>(args)...);
212214 } else {
213215 return reset_default (dut);
214216 }
0 commit comments