Automatic Differentiation
 
Loading...
Searching...
No Matches
is_tuple.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_META_IS_TUPLE_HPP
2#define STAN_MATH_PRIM_META_IS_TUPLE_HPP
3
5#include <tuple>
6#include <type_traits>
7
8namespace stan {
9namespace math {
10namespace internal {
11
12template <typename... Types>
13struct is_tuple_impl : std::false_type {};
14
15template <typename... Types>
16struct is_tuple_impl<std::tuple<Types...>> : std::true_type {};
17} // namespace internal
18
19template <typename T>
20struct is_tuple : internal::is_tuple_impl<std::decay_t<T>> {};
21
29template <typename T>
31
34template <typename T>
36
39template <typename... Types>
41
44template <typename... Types>
49} // namespace math
50} // namespace stan
51
52#endif
require_t< is_tuple< std::decay_t< T > > > require_tuple_t
Require type satisfies is_tuple.
Definition is_tuple.hpp:30
require_all_not_t< is_tuple< std::decay_t< Types > >... > require_all_not_tuple_t
Require none of the types satisfy is_tuple.
Definition is_tuple.hpp:46
require_all_t< is_tuple< std::decay_t< Types > >... > require_all_tuple_t
Require all of the types satisfy is_tuple.
Definition is_tuple.hpp:40
require_not_t< is_tuple< std::decay_t< T > > > require_not_tuple_t
Require type does not satisfy is_tuple.
Definition is_tuple.hpp:35
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.
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 ...
STL namespace.