diff --git a/src/stan/model/indexing/access_helpers.hpp b/src/stan/model/indexing/access_helpers.hpp index a40e71f1151..cdcb90ebfe7 100644 --- a/src/stan/model/indexing/access_helpers.hpp +++ b/src/stan/model/indexing/access_helpers.hpp @@ -146,21 +146,6 @@ void assign_impl(Mat1&& x, Mat2&& y, const char* name) { } } -template -struct is_tuple_impl : std::false_type {}; -template -struct is_tuple_impl> : std::true_type {}; - -template -struct is_tuple : is_tuple_impl> {}; - -template , - internal::is_tuple>* = nullptr> -inline void assign_impl(Tuple1&& x, Tuple2&& y, const char* name) { - x = std::forward(y); -} - } // namespace internal } // namespace model } // namespace stan diff --git a/src/stan/model/indexing/assign.hpp b/src/stan/model/indexing/assign.hpp index c18b62b104e..8e36646f241 100644 --- a/src/stan/model/indexing/assign.hpp +++ b/src/stan/model/indexing/assign.hpp @@ -44,8 +44,7 @@ namespace model { */ template , - internal::is_tuple>* = nullptr> + math::require_all_tuple_t* = nullptr> inline void assign(Tuple1&& x, Tuple2&& y, const char* name); /** @@ -60,7 +59,7 @@ inline void assign(Tuple1&& x, Tuple2&& y, const char* name); template < typename T, typename U, require_t&, std::decay_t>>* = nullptr, - require_all_not_t, internal::is_tuple>* = nullptr> + math::require_all_not_tuple_t* = nullptr> inline void assign(T&& x, U&& y, const char* name) { internal::assign_impl(x, std::forward(y), name); } @@ -913,9 +912,8 @@ inline constexpr auto make_tuple_seq(std::integer_sequence) { * @param y A tuple with elements to be assigned from * @param name The name of the tuple to assign to */ -template < - typename Tuple1, typename Tuple2, - require_all_t, internal::is_tuple>*> +template *> inline void assign(Tuple1&& x, Tuple2&& y, const char* name) { constexpr auto t1_size = std::tuple_size>::value; stan::math::for_each(