print_input_param.hpp
Go to the documentation of this file.
1 
8 #ifndef MLPACK_BINDINGS_JULIA_PRINT_INPUT_PARAM_HPP
9 #define MLPACK_BINDINGS_JULIA_PRINT_INPUT_PARAM_HPP
10 
11 #include "get_julia_type.hpp"
12 
13 namespace mlpack {
14 namespace bindings {
15 namespace julia {
16 
21 template<typename T>
23  const void* /* input */,
24  void* /* output */)
25 {
26  // "type" is a reserved keyword or function.
27  const std::string juliaName = (d.name == "type") ? "type_" : d.name;
28 
29  std::cout << juliaName;
30 
31  if (!arma::is_arma_type<T>::value)
32  {
33  std::cout << "::";
34  // If it's required, then we need the type.
35  if (d.required)
36  {
37  std::cout << GetJuliaType<typename std::remove_pointer<T>::type>();
38  }
39  else
40  {
41  std::cout << "Union{"
42  << GetJuliaType<typename std::remove_pointer<T>::type>()
43  << ", Missing} = missing";
44  }
45  }
46  else if (!d.required)
47  {
48  std::cout << " = missing";
49  }
50 }
51 
52 } // namespace julia
53 } // namespace bindings
54 } // namespace mlpack
55 
56 #endif
strip_type.hpp
Definition: add_to_po.hpp:21
This structure holds all of the information about a single parameter, including its value (which is s...
Definition: param_data.hpp:52
if(BUILD_GO_BINDINGS) find_package(Go 1.11.0) if(NOT GO_FOUND) macro(add_go_binding name) endmacro() return() endif() find_package(Gonum) if(NOT GONUM_FOUND) macro(add_go_binding name) endmacro() endif() set(BINDING_SOURCES get_type.hpp get_param.hpp get_printable_param.hpp go_option.hpp mlpack/arma_util.h mlpack/arma_util.hpp mlpack/cli_util.h mlpack/cli_util.hpp print_class_defn.hpp print_cpp.cpp print_cpp.hpp print_defn_input.hpp print_defn_output.hpp print_doc.hpp print_doc_functions.hpp print_doc_functions_impl.hpp print_go.hpp print_go.cpp print_h.hpp print_h.cpp print_import_decl.hpp print_input_processing.hpp print_method_config.hpp print_method_init.hpp print_output_processing.hpp camel_case.hpp strip_type.hpp) set(CGO_SOURCES mlpack/arma_util.go mlpack/cli_util.go mlpack/doc.go) set(CAPI_SOURCES mlpack/capi/arma_util.cpp mlpack/capi/arma_util.h mlpack/capi/arma_util.hpp mlpack/capi/cli_util.cpp mlpack/capi/cli_util.h mlpack/capi/cli_util.hpp) set(UTIL_SOURCES mlpack/capi/arma_util.cpp mlpack/capi/cli_util.cpp) set(TEST_SOURCES tests/go_binding_test.go) add_custom_target(go ALL DEPENDS mlpack) add_custom_target(go_copy ALL DEPENDS mlpack) if(BUILD_TESTS) foreach(test_file $
Definition: CMakeLists.txt:1
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...