mlpack 3.4.2
print_serialize_util.hpp
Go to the documentation of this file.
1
13#ifndef MLPACK_BINDINGS_R_PRINT_SERIALIZE_UTIL_HPP
14#define MLPACK_BINDINGS_R_PRINT_SERIALIZE_UTIL_HPP
15
17
18namespace mlpack {
19namespace bindings {
20namespace r {
21
25template<typename T>
27 util::ParamData& /* d */,
28 const typename std::enable_if<!arma::is_arma_type<T>::value>::type* = 0,
29 const typename std::enable_if<!data::HasSerialize<T>::value>::type* = 0)
30{
31 // Do Nothing.
32}
33
37template<typename T>
39 util::ParamData& /* d */,
40 const typename std::enable_if<arma::is_arma_type<T>::value>::type* = 0)
41{
42 // Do Nothing.
43}
44
48template<typename T>
51 const typename std::enable_if<!arma::is_arma_type<T>::value>::type* = 0,
52 const typename std::enable_if<data::HasSerialize<T>::value>::type* = 0)
53{
61 MLPACK_COUT_STREAM << " " << d.name << " <- IO_GetParam"
62 << util::StripType(d.cppType) << "Ptr(\"" << d.name << "\")";
63 MLPACK_COUT_STREAM << std::endl;
64 MLPACK_COUT_STREAM << " attr(" << d.name << ", \"type\") <- \""
65 << util::StripType(d.cppType) << "\"";
66 MLPACK_COUT_STREAM << std::endl;
67}
68
74template<typename T>
76 const void* /*input*/,
77 void* /* output */)
78{
79 PrintSerializeUtil<typename std::remove_pointer<T>::type>(d);
80}
81
82} // namespace r
83} // namespace bindings
84} // namespace mlpack
85
86#endif
void PrintSerializeUtil(util::ParamData &, const typename std::enable_if<!arma::is_arma_type< T >::value >::type *=0, const typename std::enable_if<!data::HasSerialize< T >::value >::type *=0)
If the type is not serializable, print nothing.
std::string StripType(std::string cppType)
Given a C++ type name, turn it into something that has no special characters that can simply be print...
Definition: strip_type.hpp:27
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
#define MLPACK_COUT_STREAM
Definition: prereqs.hpp:45
This structure holds all of the information about a single parameter, including its value (which is s...
Definition: param_data.hpp:53
std::string name
Name of this parameter.
Definition: param_data.hpp:56
std::string cppType
The true name of the type, as it would be written in C++.
Definition: param_data.hpp:84