1#ifndef STAN_MATH_PRIM_META_PLAIN_TYPE_HPP
2#define STAN_MATH_PRIM_META_PLAIN_TYPE_HPP
16template <
typename T,
typename Enable =
void>
18 using type = std::decay_t<T>;
37 using type = std::conditional_t<std::is_same<std::decay_t<T>,
T1>::value,
46template <
class,
class =
void>
55template <
class,
class =
void>
73 using type = std::decay_t<decltype(std::declval<T&>().eval())>;
81 using type =
typename std::decay_t<T>::PlainObject;
std::integral_constant< bool, B > bool_constant
Alias for structs used for wraps a static constant of bool.
typename plain_type< T >::type plain_type_t
typename eval_return_type< T >::type eval_return_type_t
std::enable_if_t< Check::value > require_t
If condition is true, template is enabled.
typename make_void< Ts... >::type void_t
Utility metafunction that maps a sequence of any types to the type void This metafunction is used in ...
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
std::conditional_t< std::is_same< std::decay_t< T >, T1 >::value, const T1 &, T1 > type
Determines return type of calling .eval() on Eigen expression.
Check if type derives from EigenBase
std::decay_t< decltype(std::declval< T & >().eval())> type
typename std::decay_t< T >::PlainObject type
Determines plain (non expression) type associated with T.