mlpack 3.4.2
get_printable_param.hpp
Go to the documentation of this file.
1
13#ifndef MLPACK_BINDINGS_CLI_GET_PRINTABLE_PARAM_HPP
14#define MLPACK_BINDINGS_CLI_GET_PRINTABLE_PARAM_HPP
15
16#include <mlpack/prereqs.hpp>
19
20namespace mlpack {
21namespace bindings {
22namespace cli {
23
27template<typename T>
29 util::ParamData& data,
30 const typename boost::disable_if<arma::is_arma_type<T>>::type* = 0,
31 const typename boost::disable_if<util::IsStdVector<T>>::type* = 0,
32 const typename boost::disable_if<data::HasSerialize<T>>::type* = 0,
33 const typename boost::disable_if<std::is_same<T,
34 std::tuple<data::DatasetInfo, arma::mat>>>::type* = 0);
35
39template<typename T>
41 util::ParamData& data,
42 const typename std::enable_if<util::IsStdVector<T>::value>::type* = 0);
43
47template<typename T>
49 util::ParamData& data,
50 const typename std::enable_if<arma::is_arma_type<T>::value ||
51 std::is_same<T,
52 std::tuple<data::DatasetInfo, arma::mat>>::value>::type* = 0);
53
57template<typename T>
59 util::ParamData& data,
60 const typename boost::disable_if<arma::is_arma_type<T>>::type* = 0,
61 const typename boost::enable_if<data::HasSerialize<T>>::type* = 0);
62
68template<typename T>
70 const void* /* input */,
71 void* output)
72{
73 *((std::string*) output) =
74 GetPrintableParam<typename std::remove_pointer<T>::type>(data);
75}
76
77} // namespace cli
78} // namespace bindings
79} // namespace mlpack
80
81// Include implementation.
82#include "get_printable_param_impl.hpp"
83
84#endif
std::string GetPrintableParam(util::ParamData &data, const typename boost::disable_if< arma::is_arma_type< T > >::type *=0, 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< std::is_same< T, std::tuple< data::DatasetInfo, arma::mat > > >::type *=0)
Print an option.
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
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...
Definition: param_data.hpp:53