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 boost::disable_if<util::IsStdVector<T>>::type* = 0,
27  const typename boost::disable_if<data::HasSerialize<T>>::type* = 0,
28  const typename boost::disable_if<arma::is_arma_type<T>>::type* = 0,
29  const typename boost::disable_if<std::is_same<T,
30  std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0);
31 
32 template<>
33 inline std::string GetPrintableType<int>(
34  util::ParamData& /* d */,
35  const typename boost::disable_if<util::IsStdVector<int>>::type*,
36  const typename boost::disable_if<data::HasSerialize<int>>::type*,
37  const typename boost::disable_if<arma::is_arma_type<int>>::type*,
38  const typename boost::disable_if<std::is_same<int,
39  std::tuple<data::DatasetInfo, arma::mat>>>::type*);
40 
41 template<>
42 inline std::string GetPrintableType<double>(
43  util::ParamData& /* d */,
44  const typename boost::disable_if<util::IsStdVector<double>>::type*,
45  const typename boost::disable_if<data::HasSerialize<double>>::type*,
46  const typename boost::disable_if<arma::is_arma_type<double>>::type*,
47  const typename boost::disable_if<std::is_same<double,
48  std::tuple<data::DatasetInfo, arma::mat>>>::type*);
49 
50 template<>
51 inline std::string GetPrintableType<std::string>(
52  util::ParamData& /* d */,
53  const typename boost::disable_if<util::IsStdVector<std::string>>::type*,
54  const typename boost::disable_if<data::HasSerialize<std::string>>::type*,
55  const typename boost::disable_if<arma::is_arma_type<std::string>>::type*,
56  const typename boost::disable_if<std::is_same<std::string,
57  std::tuple<data::DatasetInfo, arma::mat>>>::type*);
58 
59 template<>
60 inline std::string GetPrintableType<bool>(
61  util::ParamData& /* d */,
62  const typename boost::disable_if<util::IsStdVector<bool>>::type*,
63  const typename boost::disable_if<data::HasSerialize<bool>>::type*,
64  const typename boost::disable_if<arma::is_arma_type<bool>>::type*,
65  const typename boost::disable_if<std::is_same<bool,
66  std::tuple<data::DatasetInfo, arma::mat>>>::type*);
67 
68 template<typename T>
69 inline std::string GetPrintableType(
70  util::ParamData& d,
71  const typename boost::enable_if<util::IsStdVector<T>>::type* = 0,
72  const typename boost::disable_if<std::is_same<T,
73  std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0);
74 
75 template<typename T>
76 inline std::string GetPrintableType(
77  util::ParamData& /* d */,
78  const typename boost::enable_if<arma::is_arma_type<T>>::type* = 0,
79  const typename boost::disable_if<std::is_same<T,
80  std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0);
81 
82 template<typename T>
83 inline std::string GetPrintableType(
84  util::ParamData& /* d */,
85  const typename boost::enable_if<std::is_same<T,
86  std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0);
87 
88 template<typename T>
89 inline std::string GetPrintableType(
90  util::ParamData& d,
91  const typename boost::disable_if<arma::is_arma_type<T>>::type* = 0,
92  const typename boost::enable_if<data::HasSerialize<T>>::type* = 0,
93  const typename boost::disable_if<std::is_same<T,
94  std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0);
95 
96 template<typename T>
97 void GetPrintableType(util::ParamData& d,
98  const void* /* input */,
99  void* output)
100 {
101  *((std::string*) output) =
102  GetPrintableType<typename std::remove_pointer<T>::type>(d);
103 }
104 
105 } // namespace go
106 } // namespace bindings
107 } // namespace mlpack
108 
109 #include "get_printable_type_impl.hpp"
110 
111 #endif
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.
std::string GetPrintableType(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)
go
Definition: CMakeLists.txt:6
std::string GetPrintableType< 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 GetPrintableType< 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 GetPrintableType< 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 *)