13 #ifndef MLPACK_BINDINGS_PYTHON_GET_PYTHON_TYPE_HPP 14 #define MLPACK_BINDINGS_PYTHON_GET_PYTHON_TYPE_HPP 28 const typename boost::disable_if<arma::is_arma_type<T>>::type* = 0)
36 const typename boost::disable_if<util::IsStdVector<int>>::type*,
37 const typename boost::disable_if<data::HasSerialize<int>>::type*,
38 const typename boost::disable_if<arma::is_arma_type<int>>::type*)
45 const util::ParamData& ,
46 const typename boost::disable_if<util::IsStdVector<float>>::type*,
47 const typename boost::disable_if<data::HasSerialize<float>>::type*,
48 const typename boost::disable_if<arma::is_arma_type<float>>::type*)
55 const util::ParamData& ,
56 const typename boost::disable_if<util::IsStdVector<double>>::type*,
57 const typename boost::disable_if<data::HasSerialize<double>>::type*,
58 const typename boost::disable_if<arma::is_arma_type<double>>::type*)
64 inline std::string GetPythonType<std::string>(
65 const util::ParamData& ,
66 const typename boost::disable_if<util::IsStdVector<std::string>>::type*,
67 const typename boost::disable_if<data::HasSerialize<std::string>>::type*,
68 const typename boost::disable_if<arma::is_arma_type<std::string>>::type*)
75 const util::ParamData& ,
76 const typename boost::disable_if<util::IsStdVector<size_t>>::type*,
77 const typename boost::disable_if<data::HasSerialize<size_t>>::type*,
78 const typename boost::disable_if<arma::is_arma_type<size_t>>::type*)
85 const util::ParamData& ,
86 const typename boost::disable_if<util::IsStdVector<bool>>::type*,
87 const typename boost::disable_if<data::HasSerialize<bool>>::type*,
88 const typename boost::disable_if<arma::is_arma_type<bool>>::type*)
95 const util::ParamData& d,
98 return "list of " + GetPythonType<typename T::value_type>(d) +
"s";
103 const util::ParamData& ,
104 const typename boost::enable_if<arma::is_arma_type<T>>::type* = 0)
106 std::string type =
"matrix";
110 type =
"column vector";
117 const util::ParamData& d,
118 const typename boost::disable_if<arma::is_arma_type<T>>::type* = 0,
std::string GetPythonType< float >(const 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 *)
std::string GetPythonType< bool >(const 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 *)
std::string GetPythonType< size_t >(const util::ParamData &, const typename boost::disable_if< util::IsStdVector< size_t >>::type *, const typename boost::disable_if< data::HasSerialize< size_t >>::type *, const typename boost::disable_if< arma::is_arma_type< size_t >>::type *)
The core includes that mlpack expects; standard C++ includes and Armadillo.
This structure holds all of the information about a single parameter, including its value (which is s...
Metaprogramming structure for vector detection.
std::string cppType
The true name of the type, as it would be written in C++.
std::string GetPythonType(const 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)
std::string GetPythonType< double >(const 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 *)
std::string GetPythonType< int >(const 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 *)