mlpack 3.4.2
print_doc.hpp
Go to the documentation of this file.
1
12#ifndef MLPACK_BINDINGS_PYTHON_PRINT_DOC_HPP
13#define MLPACK_BINDINGS_PYTHON_PRINT_DOC_HPP
14
15#include <mlpack/prereqs.hpp>
18
19namespace mlpack {
20namespace bindings {
21namespace python {
22
35template<typename T>
37 const void* input,
38 void* /* output */)
39{
40 const size_t indent = *((size_t*) input);
41 std::ostringstream oss;
42 oss << " - ";
43 if (d.name == "lambda") // Don't print Python keywords.
44 oss << d.name << "_ (";
45 else
46 oss << d.name << " (";
47 oss << GetPrintableType<typename std::remove_pointer<T>::type>(d) << "): "
48 << d.desc;
49
50 // Print a default, if possible.
51 if (!d.required)
52 {
53 // Call the correct overload to get the default value directly.
54 if (d.cppType == "std::string" || d.cppType == "double" ||
55 d.cppType == "int" || d.cppType == "std::vector<int>" ||
56 d.cppType == "std::vector<std::string>" ||
57 d.cppType == "std::vector<double>")
58 {
59 std::string defaultValue = DefaultParamImpl<T>(d);
60 oss << " Default value " << defaultValue << ".";
61 }
62 }
63
64 std::cout << util::HyphenateString(oss.str(), indent + 4);
65}
66
67} // namespace python
68} // namespace bindings
69} // namespace mlpack
70
71#endif
if(NOT BUILD_GO_SHLIB) macro(add_go_binding name) endmacro() return() endif() endmacro() macro(post_go_setup) if(BUILD_GO_BINDINGS) file(APPEND "$
Definition: CMakeLists.txt:3
python
Definition: CMakeLists.txt:6
void PrintDoc(util::ParamData &d, const void *input, void *)
Print the docstring documentation for a given parameter.
Definition: print_doc.hpp:36
std::string HyphenateString(const std::string &str, const std::string &prefix, const bool force=false)
Hyphenate a string or split it onto multiple 80-character lines, with some amount of padding on each ...
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.
This structure holds all of the information about a single parameter, including its value (which is s...
Definition: param_data.hpp:53
std::string desc
Description of this parameter, if any.
Definition: param_data.hpp:58
bool required
True if this option is required.
Definition: param_data.hpp:71
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