Automatic Differentiation
 
Loading...
Searching...
No Matches
base_type.hpp
Go to the documentation of this file.
1#ifndef STAN_MATH_PRIM_META_BASE_TYPE_HPP
2#define STAN_MATH_PRIM_META_BASE_TYPE_HPP
3
9#include <type_traits>
10#include <vector>
11
12namespace stan {
13
24template <typename T, typename = void>
25struct base_type {
26 using type = std::decay_t<T>;
27};
28
29template <typename T>
31
39template <typename T>
40struct base_type<T, std::enable_if_t<is_std_vector<T>::value>> {
42};
43
51template <typename T>
52struct base_type<T, std::enable_if_t<is_eigen<T>::value>> {
54};
55
63template <typename T>
64struct base_type<T, std::enable_if_t<is_complex<T>::value>> {
66};
67
68} // namespace stan
69#endif
typename base_type< T >::type base_type_t
Definition base_type.hpp:30
The lgamma implementation in stan-math is based on either the reentrant safe lgamma_r implementation ...
Definition fvar.hpp:9
STL namespace.
base_type_t< typename std::decay_t< T >::value_type > type
Definition base_type.hpp:65
base_type_t< typename std::decay_t< T >::Scalar > type
Definition base_type.hpp:53
base_type_t< typename std::decay_t< T >::value_type > type
Definition base_type.hpp:41
std::decay_t< T > type
Definition base_type.hpp:26
Metaprogram structure to determine the base base type of a template argument.
Definition base_type.hpp:25