Automatic Differentiation
 
Loading...
Searching...
No Matches
is_matrix_cl.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_META_IS_MATRIX_CL_HPP
2#define STAN_MATH_PRIM_META_IS_MATRIX_CL_HPP
3
5#include <type_traits>
6
7namespace stan {
8namespace math {
9
10template <typename T>
11class arena_matrix_cl;
12
18
19} // namespace math
20
24template <typename T>
26 : public std::is_base_of<math::matrix_cl_base, std::decay_t<T>> {};
27
35template <typename T>
37
40template <typename T>
42
45template <typename... Types>
48
51template <typename... Types>
54
57template <typename... Types>
60
63template <typename... Types>
78template <template <class...> class TypeCheck, class... Check>
81
87template <template <class...> class TypeCheck, class... Check>
90
96template <template <class...> class TypeCheck, class... Check>
99
106template <template <class...> class TypeCheck, class... Check>
109
115template <template <class...> class TypeCheck, class... Check>
118
124template <template <class...> class TypeCheck, class... Check>
127
133template <template <class...> class TypeCheck, class... Check>
136 TypeCheck, Check...>>;
139namespace internal {
140
141template <typename T>
142struct is_arena_matrix_cl_impl : public std::false_type {};
143
144template <typename T>
145struct is_arena_matrix_cl_impl<math::arena_matrix_cl<T>>
146 : public std::true_type {};
147
148} // namespace internal
149
150template <typename T>
152 : public internal::is_arena_matrix_cl_impl<std::decay_t<T>> {};
153
154} // namespace stan
155#endif
Non-templated base class for matrix_cl simplifies checking if something is matrix_cl.
require_not_t< is_matrix_cl< std::decay_t< T > > > require_not_matrix_cl_t
Require type does not satisfy is_matrix_cl.
require_t< container_type_check_base< is_matrix_cl, value_type_t, TypeCheck, Check... > > require_matrix_cl_vt
Require type satisfies is_matrix_cl.
require_any_t< container_type_check_base< is_matrix_cl, value_type_t, TypeCheck, Check >... > require_any_matrix_cl_vt
Require any of the types satisfy is_matrix_cl.
require_any_not_t< container_type_check_base< is_matrix_cl, value_type_t, TypeCheck, Check >... > require_any_not_matrix_cl_vt
Require at least one of the types does not satisfy is_matrix_cl.
require_any_not_t< is_matrix_cl< std::decay_t< Types > >... > require_any_not_matrix_cl_t
Require at least one of the types do not satisfy is_matrix_cl.
require_all_t< is_matrix_cl< std::decay_t< Types > >... > require_all_matrix_cl_t
Require all of the types satisfy is_matrix_cl.
require_any_t< is_matrix_cl< std::decay_t< Types > >... > require_any_matrix_cl_t
Require any of the types satisfy is_matrix_cl.
require_not_t< container_type_check_base< is_matrix_cl, value_type_t, TypeCheck, Check... > > require_not_matrix_cl_vt
Require type does not satisfy is_matrix_cl or.
require_all_t< container_type_check_base< is_matrix_cl, value_type_t, TypeCheck, Check >... > require_all_matrix_cl_vt
Require all of the types satisfy is_matrix_cl.
require_all_not_t< container_type_check_base< is_matrix_cl, value_type_t, TypeCheck, Check >... > require_all_not_matrix_cl_vt
Require none of the types satisfy is_matrix_cl.
require_t< container_type_check_base< is_matrix_cl, scalar_type_t, TypeCheck, Check... > > require_matrix_cl_st
Require type satisfies is_matrix_cl.
require_t< is_matrix_cl< std::decay_t< T > > > require_matrix_cl_t
Require type satisfies is_matrix_cl.
require_all_not_t< is_matrix_cl< std::decay_t< Types > >... > require_all_not_matrix_cl_t
Require none of the types satisfy is_matrix_cl.
typename value_type< T >::type value_type_t
Helper function for accessing underlying type.
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_any_t
If any condition is true, template is enabled.
std::enable_if_t<!math::disjunction< Checks... >::value > require_all_not_t
If all conditions are false, template is enabled.
bool_constant< math::conjunction< ContainerCheck< std::decay_t< Check > >..., TypeCheck< ValueCheck< Check > >... >::value > container_type_check_base
Used as the base for checking whether a type is a container with an underlying scalar type.
typename scalar_type< T >::type scalar_type_t
std::enable_if_t<!math::conjunction< Checks... >::value > require_any_not_t
If any condition is 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 ...
Checks if the decayed type of T is a matrix_cl.