get_printable_type.hpp
Go to the documentation of this file.
1 
13 #ifndef MLPACK_BINDINGS_GO_GET_PRINTABLE_TYPE_HPP
14 #define MLPACK_BINDINGS_GO_GET_PRINTABLE_TYPE_HPP
15 
16 #include <mlpack/prereqs.hpp>
18 
19 namespace mlpack {
20 namespace bindings {
21 namespace go {
22 
23 template<typename T>
24 inline std::string GetPrintableType(
25  util::ParamData& /* d */,
26  const typename std::enable_if<!util::IsStdVector<T>::value>::type* = 0,
27  const typename std::enable_if<!data::HasSerialize<T>::value>::type* = 0,
28  const typename std::enable_if<!arma::is_arma_type<T>::value>::type* = 0,
29  const typename std::enable_if<!std::is_same<T,
30  std::tuple<data::DatasetInfo, arma::mat>>::value>::type* = 0);
31 
32 template<>
33 inline std::string GetPrintableType<int>(
34  util::ParamData& /* d */,
35  const typename std::enable_if<!util::IsStdVector<int>::value>::type*,
36  const typename std::enable_if<!data::HasSerialize<int>::value>::type*,
37  const typename std::enable_if<!arma::is_arma_type<int>::value>::type*,
38  const typename std::enable_if<!std::is_same<int,
39  std::tuple<data::DatasetInfo, arma::mat>>::value>::type*);
40 
41 template<>
42 inline std::string GetPrintableType<double>(
43  util::ParamData& /* d */,
44  const typename std::enable_if<!util::IsStdVector<double>::value>::type*,
45  const typename std::enable_if<!data::HasSerialize<double>::value>::type*,
46  const typename std::enable_if<!arma::is_arma_type<double>::value>::type*,
47  const typename std::enable_if<!std::is_same<double,
48  std::tuple<data::DatasetInfo, arma::mat>>::value>::type*);
49 
50 template<>
51 inline std::string GetPrintableType<std::string>(
52  util::ParamData& /* d */,
53  const typename std::enable_if<
55  const typename std::enable_if<
57  const typename std::enable_if<
58  !arma::is_arma_type<std::string>::value>::type*,
59  const typename std::enable_if<!std::is_same<std::string,
60  std::tuple<data::DatasetInfo, arma::mat>>::value>::type*);
61 
62 template<>
63 inline std::string GetPrintableType<bool>(
64  util::ParamData& /* d */,
65  const typename std::enable_if<!util::IsStdVector<bool>::value>::type*,
66  const typename std::enable_if<!data::HasSerialize<bool>::value>::type*,
67  const typename std::enable_if<!arma::is_arma_type<bool>::value>::type*,
68  const typename std::enable_if<!std::is_same<bool,
69  std::tuple<data::DatasetInfo, arma::mat>>::value>::type*);
70 
71 template<typename T>
72 inline std::string GetPrintableType(
73  util::ParamData& d,
74  const typename std::enable_if<util::IsStdVector<T>::value>::type* = 0,
75  const typename std::enable_if<!std::is_same<T,
76  std::tuple<data::DatasetInfo, arma::mat>>::value>::type* = 0);
77 
78 template<typename T>
79 inline std::string GetPrintableType(
80  util::ParamData& /* d */,
81  const typename std::enable_if<arma::is_arma_type<T>::value>::type* = 0,
82  const typename std::enable_if<!std::is_same<T,
83  std::tuple<data::DatasetInfo, arma::mat>>::value>::type* = 0);
84 
85 template<typename T>
86 inline std::string GetPrintableType(
87  util::ParamData& /* d */,
88  const typename std::enable_if<std::is_same<T,
89  std::tuple<data::DatasetInfo, arma::mat>>::value>::type* = 0);
90 
91 template<typename T>
92 inline std::string GetPrintableType(
93  util::ParamData& d,
94  const typename std::enable_if<!arma::is_arma_type<T>::value>::type* = 0,
95  const typename std::enable_if<data::HasSerialize<T>::value>::type* = 0,
96  const typename std::enable_if<!std::is_same<T,
97  std::tuple<data::DatasetInfo, arma::mat>>::value>::type* = 0);
98 
99 template<typename T>
100 void GetPrintableType(util::ParamData& d,
101  const void* /* input */,
102  void* output)
103 {
104  *((std::string*) output) =
105  GetPrintableType<typename std::remove_pointer<T>::type>(d);
106 }
107 
108 } // namespace go
109 } // namespace bindings
110 } // namespace mlpack
111 
112 #include "get_printable_type_impl.hpp"
113 
114 #endif
std::string GetPrintableType< int >(util::ParamData &, const typename std::enable_if<!util::IsStdVector< int >::value >::type *, const typename std::enable_if<!data::HasSerialize< int >::value >::type *, const typename std::enable_if<!arma::is_arma_type< int >::value >::type *, const typename std::enable_if<!std::is_same< int, std::tuple< data::DatasetInfo, arma::mat >>::value >::type *)
static const bool value
Linear algebra utility functions, generally performed on matrices or vectors.
std::string GetPrintableType< bool >(util::ParamData &, const typename std::enable_if<!util::IsStdVector< bool >::value >::type *, const typename std::enable_if<!data::HasSerialize< bool >::value >::type *, const typename std::enable_if<!arma::is_arma_type< bool >::value >::type *, const typename std::enable_if<!std::is_same< bool, std::tuple< data::DatasetInfo, arma::mat >>::value >::type *)
The core includes that mlpack expects; standard C++ includes and Armadillo.
go
Definition: CMakeLists.txt:6
std::string GetPrintableType< double >(util::ParamData &, const typename std::enable_if<!util::IsStdVector< double >::value >::type *, const typename std::enable_if<!data::HasSerialize< double >::value >::type *, const typename std::enable_if<!arma::is_arma_type< double >::value >::type *, const typename std::enable_if<!std::is_same< double, std::tuple< data::DatasetInfo, arma::mat >>::value >::type *)
std::string GetPrintableType(util::ParamData &, const typename std::enable_if<!util::IsStdVector< T >::value >::type *=0, const typename std::enable_if<!data::HasSerialize< T >::value >::type *=0, const typename std::enable_if<!arma::is_arma_type< T >::value >::type *=0, const typename std::enable_if<!std::is_same< T, std::tuple< data::DatasetInfo, arma::mat >>::value >::type *=0)