1#ifndef STAN_MATH_PRIM_META_COMMON_CONTAINER_TYPE_HPP
2#define STAN_MATH_PRIM_META_COMMON_CONTAINER_TYPE_HPP
16template <
typename T1,
typename T2,
typename =
void,
typename =
void>
19template <
typename T1,
typename T2>
25template <
typename T1,
typename T2>
31 using type = std::conditional_t<
36template <
typename T1,
typename T2>
42template <
typename T1,
typename T2>
49template <
typename... Ts>
66template <
typename T1,
typename... Ts>
72template <
typename... Ts>
require_t< is_container< std::decay_t< T > > > require_container_t
Require type satisfies is_container.
require_t< is_stan_scalar< std::decay_t< T > > > require_stan_scalar_t
Require type satisfies is_stan_scalar.
typename return_type< Ts... >::type return_type_t
Convenience type for the return type of the specified template parameters.
typename promote_scalar_type< std::decay_t< T >, std::decay_t< S > >::type promote_scalar_t
typename plain_type< std::decay_t< T > >::type plain_type_t
typename common_container_type< Ts... >::type common_container_t
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
typename internal::common_container_type_impl< T1, typename common_container_type< Ts... >::type >::type type
typename internal::common_container_type_impl< T, double >::type type
math::promote_scalar_t< return_type_t< T1, T2 >, plain_type_t< T1 > > type
math::promote_scalar_t< return_t, plain_type_t< T1 > > container_type_1
math::promote_scalar_t< return_t, plain_type_t< T2 > > container_type_2
std::conditional_t< std::is_same< container_type_1, container_type_2 >::value, container_type_1, void > type
return_type_t< T1, T2 > return_t
math::promote_scalar_t< return_type_t< T1, T2 >, plain_type_t< T2 > > type
return_type_t< T1, T2 > type