13#ifndef MLPACK_BINDINGS_R_GET_TYPE_HPP
14#define MLPACK_BINDINGS_R_GET_TYPE_HPP
29 const typename boost::disable_if<arma::is_arma_type<T>>::type* = 0,
30 const typename boost::disable_if<std::is_same<T,
31 std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0)
41 const typename boost::disable_if<arma::is_arma_type<int>>::type*,
42 const typename boost::disable_if<std::is_same<
int,
43 std::tuple<data::DatasetInfo, arma::mat>>>::type*)
53 const typename boost::disable_if<arma::is_arma_type<float>>::type*,
54 const typename boost::disable_if<std::is_same<
float,
55 std::tuple<data::DatasetInfo, arma::mat>>>::type*)
65 const typename boost::disable_if<arma::is_arma_type<double>>::type*,
66 const typename boost::disable_if<std::is_same<
double,
67 std::tuple<data::DatasetInfo, arma::mat>>>::type*)
73inline std::string GetType<std::string>(
77 const typename boost::disable_if<arma::is_arma_type<std::string>>::type*,
78 const typename boost::disable_if<std::is_same<std::string,
79 std::tuple<data::DatasetInfo, arma::mat>>>::type*)
89 const typename boost::disable_if<arma::is_arma_type<bool>>::type*,
90 const typename boost::disable_if<std::is_same<
bool,
91 std::tuple<data::DatasetInfo, arma::mat>>>::type*)
100 const typename boost::disable_if<std::is_same<T,
101 std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0)
103 return "Vec" + GetType<typename T::value_type>(d);
109 const typename boost::enable_if<arma::is_arma_type<T>>::type* = 0,
110 const typename boost::disable_if<std::is_same<T,
111 std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0)
113 std::string type =
"";
114 if (std::is_same<typename T::elem_type, double>::value)
123 else if (std::is_same<typename T::elem_type, size_t>::value)
139 const typename boost::enable_if<std::is_same<T,
140 std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0)
142 return "MatWithInfo";
148 const typename boost::disable_if<arma::is_arma_type<T>>::type* = 0,
169 *((std::string*) output) =
170 GetType<typename std::remove_pointer<T>::type>(d);
std::string GetType< int >(util::ParamData &, const typename boost::disable_if< util::IsStdVector< int > >::type *, const typename boost::disable_if< data::HasSerialize< int > >::type *, const typename boost::disable_if< arma::is_arma_type< int > >::type *, const typename boost::disable_if< std::is_same< int, std::tuple< data::DatasetInfo, arma::mat > > >::type *)
std::string GetType< float >(util::ParamData &, const typename boost::disable_if< util::IsStdVector< float > >::type *, const typename boost::disable_if< data::HasSerialize< float > >::type *, const typename boost::disable_if< arma::is_arma_type< float > >::type *, const typename boost::disable_if< std::is_same< float, std::tuple< data::DatasetInfo, arma::mat > > >::type *)
std::string GetType< double >(util::ParamData &, const typename boost::disable_if< util::IsStdVector< double > >::type *, const typename boost::disable_if< data::HasSerialize< double > >::type *, const typename boost::disable_if< arma::is_arma_type< double > >::type *, const typename boost::disable_if< std::is_same< double, std::tuple< data::DatasetInfo, arma::mat > > >::type *)
std::string GetType< bool >(util::ParamData &, const typename boost::disable_if< util::IsStdVector< bool > >::type *, const typename boost::disable_if< data::HasSerialize< bool > >::type *, const typename boost::disable_if< arma::is_arma_type< bool > >::type *, const typename boost::disable_if< std::is_same< bool, std::tuple< data::DatasetInfo, arma::mat > > >::type *)
std::string GetType(util::ParamData &, const typename boost::disable_if< util::IsStdVector< T > >::type *=0, const typename boost::disable_if< data::HasSerialize< T > >::type *=0, const typename boost::disable_if< arma::is_arma_type< T > >::type *=0, const typename boost::disable_if< std::is_same< T, std::tuple< data::DatasetInfo, arma::mat > > >::type *=0)
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.
Metaprogramming structure for vector detection.
This structure holds all of the information about a single parameter, including its value (which is s...
std::string cppType
The true name of the type, as it would be written in C++.