1#ifndef STAN_MATH_PRIM_FUNCTOR_MAKE_HOLDER_TUPLE_HPP
2#define STAN_MATH_PRIM_FUNCTOR_MAKE_HOLDER_TUPLE_HPP
31 = std::conditional_t<std::is_rvalue_reference_v<T>, std::decay_t<T>, T&&>;
65template <
typename... Types>
67 if constexpr (
sizeof...(Types) == 0) {
68 return std::tuple<>{};
70 return std::tuple<internal::deduce_cvr_t<Types&&>...>{
71 std::forward<Types>(args)...};
typename deduce_cvr< T >::type deduce_cvr_t
constexpr auto make_holder_tuple(Types &&... args)
Holds ownership of rvalues and forwards lvalues into a tuple.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
std::conditional_t< std::is_rvalue_reference_v< T >, std::decay_t< T >, T && > type
Helper template to deduce the correct type for tuple elements.