mlpack
Namespaces | Functions
map_parameter_name.hpp File Reference
#include <mlpack/core/util/param_data.hpp>
Include dependency graph for map_parameter_name.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 >
std::string mlpack::bindings::cli::MapParameterName (const std::string &identifier, 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)
 If needed, map the parameter name to the name that is used by CLI11. More...
 
template<typename T >
std::string mlpack::bindings::cli::MapParameterName (const std::string &identifier, const typename std::enable_if< arma::is_arma_type< T >::value||std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value||data::HasSerialize< T >::value >::type *=0)
 Map the parameter name to the name that is used by CLI11. More...
 
template<typename T >
void mlpack::bindings::cli::MapParameterName (util::ParamData &d, const void *, void *output)
 Map the parameter name to the name seen by CLI. More...
 

Detailed Description

Author
Ryan Curtin

Map a parameter name to what it seen by CLI11 using template metaprogramming.

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

◆ MapParameterName() [1/3]

template<typename T >
std::string mlpack::bindings::cli::MapParameterName ( const std::string &  identifier,
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 
)

If needed, map the parameter name to the name that is used by CLI11.

This overload simply returns the same name, so it is used for primitive types.

◆ MapParameterName() [2/3]

template<typename T >
std::string mlpack::bindings::cli::MapParameterName ( const std::string &  identifier,
const typename std::enable_if< arma::is_arma_type< T >::value||std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value||data::HasSerialize< T >::value >::type *  = 0 
)

Map the parameter name to the name that is used by CLI11.

This overload addresses matrices and models, where the parameter name has "_file" appended to it (since a filename will be provided).

◆ MapParameterName() [3/3]

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

Map the parameter name to the name seen by CLI.

Parameters
dParameter data.
*(input) Unused parameter.
outputPointer to std::string that will hold the mapped name.