mlpack  3.1.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
print_input_param.hpp
Go to the documentation of this file.
1 
13 #ifndef MLPACK_BINDINGS_JULIA_PRINT_INPUT_PARAM_HPP
14 #define MLPACK_BINDINGS_JULIA_PRINT_INPUT_PARAM_HPP
15 
16 #include "get_julia_type.hpp"
17 
18 namespace mlpack {
19 namespace bindings {
20 namespace julia {
21 
26 template<typename T>
28  const void* /* input */,
29  void* /* output */)
30 {
31  // "type" is a reserved keyword or function.
32  const std::string juliaName = (d.name == "type") ? "type_" : d.name;
33 
34  std::cout << juliaName;
35 
36  if (!arma::is_arma_type<T>::value)
37  {
38  std::cout << "::";
39  // If it's required, then we need the type.
40  if (d.required)
41  {
42  std::cout << GetJuliaType<typename std::remove_pointer<T>::type>();
43  }
44  else
45  {
46  std::cout << "Union{"
47  << GetJuliaType<typename std::remove_pointer<T>::type>()
48  << ", Missing} = missing";
49  }
50  }
51  else if (!d.required)
52  {
53  std::cout << " = missing";
54  }
55 }
56 
57 } // namespace julia
58 } // namespace bindings
59 } // namespace mlpack
60 
61 #endif
This structure holds all of the information about a single parameter, including its value (which is s...
Definition: param_data.hpp:52
std::string name
Name of this parameter.
Definition: param_data.hpp:56
bool required
True if this option is required.
Definition: param_data.hpp:71
void PrintInputParam(const util::ParamData &d, const void *, void *)
Print the declaration of an input parameter as part of a line in a Julia function definition...
string(REGEX REPLACE".*#define MLPACK_VERSION_MINOR ([0-9]+).*""\\1"MLPACK_VERSION_MINOR"${VERSION_HPP_CONTENTS}") string(REGEX REPLACE".* "\\1" MLPACK_VERSION_PATCH "$
Definition: CMakeLists.txt:35