Loading [MathJax]/extensions/TeX/AMSsymbols.js
Automatic Differentiation
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
contains_tuple.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_META_CONTAINS_TUPLE_HPP
2#define STAN_MATH_PRIM_META_CONTAINS_TUPLE_HPP
5
6namespace stan {
7namespace internal {
8template <typename T>
10 static constexpr bool value = stan::math::is_tuple_v<T>;
11};
12
13template <typename T, typename... VecArgs>
14struct contains_tuple_impl<std::vector<T, VecArgs...>> {
15 static constexpr bool value = contains_tuple_impl<T>::value;
16};
17} // namespace internal
18
23template <typename T>
25 static constexpr bool value
27};
28template <typename T>
29inline constexpr bool contains_tuple_v = contains_tuple<std::decay_t<T>>::value;
30
34template <typename T>
36 = is_std_vector_v<std::decay_t<T>>&& contains_tuple_v<std::decay_t<T>>;
37
38} // namespace stan
39
40#endif
constexpr bool contains_tuple_v
constexpr bool is_std_vector_containing_tuple_v
Check if the type is a std::vector containing a tuple.
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
STL namespace.
static constexpr bool value
Check if the type is a tuple or contains a tuple.