1#ifndef STAN_MATH_PRIM_META_IS_TUPLE_HPP
2#define STAN_MATH_PRIM_META_IS_TUPLE_HPP
14template <
typename... Types>
17template <
typename... Types>
20template <
template <
class...>
class TypeCheck,
typename T>
23template <
template <
class...>
class TypeCheck,
typename... Types>
46template <
template <
class...>
class TypeCheck,
typename T>
57template <
typename... Types>
62template <
typename... Types>
80template <
typename T, std::
size_t N,
typename =
void>
83template <
typename T, std::
size_t N>
85 : std::bool_constant<std::tuple_size_v<std::decay_t<T>> == N> {};
87template <
typename T, std::
size_t N>
96template <std::
size_t N,
typename Tuple,
typename CheckType>
98 std::decay_t<CheckType>,
99 std::decay_t<std::tuple_element_t<N, std::decay_t<Tuple>>>>;
require_t< is_tuple< std::decay_t< T > > > require_tuple_t
Require type satisfies is_tuple.
require_all_not_t< is_tuple< std::decay_t< Types > >... > require_all_not_tuple_t
Require none of the types satisfy is_tuple.
require_t< internal::all_tuple_elements< TypeCheck, std::decay_t< T > > > require_all_tuple_elements_t
Require all elements of a tuple satisfy TypeCheck
require_all_t< is_tuple< std::decay_t< Types > >... > require_all_tuple_t
Require all of the types satisfy is_tuple.
require_not_t< is_tuple< std::decay_t< T > > > require_not_tuple_t
Require type does not satisfy is_tuple.
constexpr bool is_tuple_v
std::enable_if_t<!Check::value > require_not_t
If condition is false, template is disabled.
std::enable_if_t<!math::disjunction< Checks... >::value > require_all_not_t
If all conditions are false, template is enabled.
constexpr bool is_tuple_v
constexpr bool is_inner_tuple_type_v
Checks if the N-th element of a tuple is of the same type as CheckType.
constexpr bool is_tuple_of_size_v
std::enable_if_t< Check::value > require_t
If condition is true, template is enabled.
std::enable_if_t< math::conjunction< Checks... >::value > require_all_t
If all conditions are true, template is enabled Returns a type void if all conditions are true and ot...
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
Checks both that T is a tuple and that its size is N.
Extends std::true_type when instantiated with zero or more template parameters, all of which extend t...