mlpack
Namespaces | Functions
in_place_copy.hpp File Reference
#include <mlpack/prereqs.hpp>
Include dependency graph for in_place_copy.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::InPlaceCopyInternal (util::ParamData &, util::ParamData &, 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)
 This overload is called when nothing special needs to happen to make something an in-place copy. More...
 
template<typename T >
void mlpack::bindings::cli::InPlaceCopyInternal (util::ParamData &d, util::ParamData &input, const typename std::enable_if< arma::is_arma_type< T >::value||std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *=0)
 Modify the filename for any type that needs to be loaded from disk to match the filename of the input parameter, for a matrix/DatasetInfo parameter. More...
 
template<typename T >
void mlpack::bindings::cli::InPlaceCopyInternal (util::ParamData &d, util::ParamData &input, const typename std::enable_if< data::HasSerialize< T >::value >::type *=0)
 Modify the filename for any type that needs to be loaded from disk to match the filename of the input parameter. More...
 
template<typename T >
void mlpack::bindings::cli::InPlaceCopy (util::ParamData &d, const void *input, void *)
 Make the given ParamData be an in-place copy of the input. More...
 

Detailed Description

Author
Ryan Curtin

Use template metaprogramming to set filenames correctly for in-place copy arguments.

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

◆ InPlaceCopy()

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

Make the given ParamData be an in-place copy of the input.

Parameters
dParameter information.
inputInput ParamData we would like be the source of the in-place copy.
*(output) Unused parameter.

◆ InPlaceCopyInternal() [1/3]

template<typename T >
void mlpack::bindings::cli::InPlaceCopyInternal ( util::ParamData ,
util::ParamData ,
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 
)

This overload is called when nothing special needs to happen to make something an in-place copy.

Parameters
*(d) ParamData object to get parameter value from. (Unused.)
*(input) ParamData object that represents the option we are making a copy of. (Unused.)

◆ InPlaceCopyInternal() [2/3]

template<typename T >
void mlpack::bindings::cli::InPlaceCopyInternal ( util::ParamData d,
util::ParamData input,
const typename std::enable_if< arma::is_arma_type< T >::value||std::is_same< T, std::tuple< mlpack::data::DatasetInfo, arma::mat >>::value >::type *  = 0 
)

Modify the filename for any type that needs to be loaded from disk to match the filename of the input parameter, for a matrix/DatasetInfo parameter.

Parameters
dParamData object we want to make into an in-place copy.
inputParamData object whose filename we should copy.

◆ InPlaceCopyInternal() [3/3]

template<typename T >
void mlpack::bindings::cli::InPlaceCopyInternal ( util::ParamData d,
util::ParamData input,
const typename std::enable_if< data::HasSerialize< T >::value >::type *  = 0 
)

Modify the filename for any type that needs to be loaded from disk to match the filename of the input parameter.

For serializable objects.

Parameters
dParamData object we want to make into an in-place copy.
inputParamData object whose filename we should copy.