1#ifndef STAN_MATH_PRIM_FUN_TO_REF_HPP
2#define STAN_MATH_PRIM_FUN_TO_REF_HPP
17template <
typename T, require_not_tuple_t<T>* =
nullptr>
19 return std::forward<T>(a);
28template <
typename T, require_tuple_t<T>* =
nullptr>
44template <
bool Cond,
typename T, std::enable_if_t<!Cond>* =
nullptr>
46 return std::forward<T>(a);
58template <
bool Cond,
typename T, std::enable_if_t<Cond>* =
nullptr>
60 return std::forward<T>(a);
T to_ref_if(T &&a)
No-op that should be optimized away.
constexpr auto make_holder_tuple(Types &&... args)
Holds ownership of rvalues and forwards lvalues into a tuple.
ref_type_t< T && > to_ref(T &&a)
This evaluates expensive Eigen expressions.
constexpr decltype(auto) apply(F &&f, Tuple &&t, PreArgs &&... pre_args)
typename ref_type_if< true, T >::type ref_type_t
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...