mlpack
Namespaces | Functions
add_to_cli11.hpp File Reference
#include <mlpack/core/util/param_data.hpp>
#include <mlpack/core/util/is_std_vector.hpp>
#include "map_parameter_name.hpp"
#include "third_party/CLI/CLI11.hpp"
Include dependency graph for add_to_cli11.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 mlpack
 Linear algebra utility functions, generally performed on matrices or vectors.
 

Functions

template<typename T >
void mlpack::bindings::cli::AddToCLI11 (const std::string &cliName, util::ParamData &param, CLI::App &app, const typename std::enable_if<!std::is_same< T, bool >::value >::type *=0, const typename std::enable_if<! arma::is_arma_type< T >::value >::type *=0, const typename std::enable_if<! data::HasSerialize< T >::value >::type *=0, const typename std::enable_if< std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *=0)
 Add a tuple option to CLI11. More...
 
template<typename T >
void mlpack::bindings::cli::AddToCLI11 (const std::string &cliName, util::ParamData &param, CLI::App &app, const typename std::enable_if<!std::is_same< T, bool >::value >::type *=0, const typename std::enable_if<! arma::is_arma_type< T >::value >::type *=0, const typename std::enable_if< data::HasSerialize< T >::value >::type *=0, const typename std::enable_if<!std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *=0)
 Add a serializable option to CLI11. More...
 
template<typename T >
void mlpack::bindings::cli::AddToCLI11 (const std::string &cliName, util::ParamData &param, CLI::App &app, const typename std::enable_if<! std::is_same< T, bool >::value >::type *=0, const typename std::enable_if< arma::is_arma_type< T >::value >::type *=0, const typename std::enable_if<!std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *=0)
 Add an arma matrix to CLI11. More...
 
template<typename T >
void mlpack::bindings::cli::AddToCLI11 (const std::string &cliName, util::ParamData &param, CLI::App &app, const typename std::enable_if<! std::is_same< T, bool >::value >::type *=0, const typename std::enable_if<! arma::is_arma_type< T >::value >::type *=0, const typename std::enable_if<! data::HasSerialize< T >::value >::type *=0, const typename std::enable_if<!std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *=0)
 Add an option to CLI11. More...
 
template<typename T >
void mlpack::bindings::cli::AddToCLI11 (const std::string &cliName, util::ParamData &param, CLI::App &app, const typename std::enable_if< std::is_same< T, bool >::value >::type *=0, const typename std::enable_if<! arma::is_arma_type< T >::value >::type *=0, const typename std::enable_if<! data::HasSerialize< T >::value >::type *=0, const typename std::enable_if<!std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *=0)
 Add a boolean option to CLI11. More...
 
template<typename T >
void mlpack::bindings::cli::AddToCLI11 (util::ParamData &param, const void *, void *output)
 Add an option to CLI11. More...
 

Detailed Description

Author
Ryan Curtin

Utility functions to add options to CLI11 based on their type.

mlpack is free software; you may redistribute it and/or modify it under the terms of the 3-clause BSD license. You should have received a copy of the 3-clause BSD license along with mlpack. If not, see http://www.opensource.org/licenses/BSD-3-Clause for more information.

Function Documentation

◆ AddToCLI11() [1/6]

template<typename T >
void mlpack::bindings::cli::AddToCLI11 ( const std::string &  cliName,
util::ParamData param,
CLI::App app,
const typename std::enable_if<!std::is_same< T, bool >::value >::type *  = 0,
const typename std::enable_if<! arma::is_arma_type< T >::value >::type *  = 0,
const typename std::enable_if<! data::HasSerialize< T >::value >::type *  = 0,
const typename std::enable_if< std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *  = 0 
)

Add a tuple option to CLI11.

Parameters
cliNameThe name of the option to add to CLI11.
paraman object of util::ParamData.
appA CLI11 object to add parameter to.

◆ AddToCLI11() [2/6]

template<typename T >
void mlpack::bindings::cli::AddToCLI11 ( const std::string &  cliName,
util::ParamData param,
CLI::App app,
const typename std::enable_if<!std::is_same< T, bool >::value >::type *  = 0,
const typename std::enable_if<! arma::is_arma_type< T >::value >::type *  = 0,
const typename std::enable_if< data::HasSerialize< T >::value >::type *  = 0,
const typename std::enable_if<!std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *  = 0 
)

Add a serializable option to CLI11.

Parameters
cliNameThe name of the option to add to CLI11.
paraman object of util::ParamData.
appa CLI11 object to add parameter to.

◆ AddToCLI11() [3/6]

template<typename T >
void mlpack::bindings::cli::AddToCLI11 ( const std::string &  cliName,
util::ParamData param,
CLI::App app,
const typename std::enable_if<! std::is_same< T, bool >::value >::type *  = 0,
const typename std::enable_if< arma::is_arma_type< T >::value >::type *  = 0,
const typename std::enable_if<!std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *  = 0 
)

Add an arma matrix to CLI11.

Parameters
cliNameThe name of the option to add to CLI11.
paraman object of util::ParamData.
appa CLI11 object to add parameter to.

◆ AddToCLI11() [4/6]

template<typename T >
void mlpack::bindings::cli::AddToCLI11 ( const std::string &  cliName,
util::ParamData param,
CLI::App app,
const typename std::enable_if<! std::is_same< T, bool >::value >::type *  = 0,
const typename std::enable_if<! arma::is_arma_type< T >::value >::type *  = 0,
const typename std::enable_if<! data::HasSerialize< T >::value >::type *  = 0,
const typename std::enable_if<!std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *  = 0 
)

Add an option to CLI11.

Parameters
cliNameThe name of the option to add to CLI11.
paraman object of util::ParamData.
appa CLI11 object to add parameter to.

◆ AddToCLI11() [5/6]

template<typename T >
void mlpack::bindings::cli::AddToCLI11 ( const std::string &  cliName,
util::ParamData param,
CLI::App app,
const typename std::enable_if< std::is_same< T, bool >::value >::type *  = 0,
const typename std::enable_if<! arma::is_arma_type< T >::value >::type *  = 0,
const typename std::enable_if<! data::HasSerialize< T >::value >::type *  = 0,
const typename std::enable_if<!std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *  = 0 
)

Add a boolean option to CLI11.

Parameters
cliNameThe name of the option to add to CLI11.
paraman object of util::ParamData.
appa CLI11 object to add parameter to.

◆ AddToCLI11() [6/6]

template<typename T >
void mlpack::bindings::cli::AddToCLI11 ( util::ParamData param,
const void *  ,
void *  output 
)

Add an option to CLI11.

This is the function meant to be used in the CLI function map.

Parameters
paramParameter data.
*(input) Unused void pointer.
outputVoid pointer to options_description object.