Stan Math Library  2.15.0
reverse mode automatic differentiation
scalar_type_pre.hpp
Go to the documentation of this file.
1 #ifndef STAN_MATH_PRIM_SCAL_META_SCALAR_TYPE_PRE_HPP
2 #define STAN_MATH_PRIM_SCAL_META_SCALAR_TYPE_PRE_HPP
3 
6 
7 namespace stan {
8  namespace {
9  template <bool is_vec, typename T, typename T_container>
10  struct scalar_type_helper_pre {
11  typedef T_container type;
12  };
13 
14  template <typename T, typename T_container>
15  struct scalar_type_helper_pre<true, T, T_container> {
16  typedef typename
17  scalar_type_helper_pre<is_vector<typename stan::math::value_type<T>::type>
18  ::value,
20  typename
22  type;
23  };
24  }
25 
32  template <typename T>
33  struct scalar_type_pre {
34  typedef typename
35  scalar_type_helper_pre<is_vector
36  <typename stan::math::value_type<T>::type>::value,
39  };
40 
41 }
42 #endif
43 
scalar_type_helper_pre< is_vector< typename stan::math::value_type< T >::type >::value, typename stan::math::value_type< T >::type, T >::type type
Metaprogram structure to determine the type of first container of the base scalar type of a template ...
Primary template class for metaprogram to compute the type of values stored in a container.
Definition: value_type.hpp:18

     [ Stan Home Page ] © 2011–2016, Stan Development Team.