MetricKnn API
Fast Similarity Search using the Metric Space Approach
Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
mknn::DistanceParams Class Reference

Stores parameters in an internal map, which associates a names with its value. More...

#include <mknn_params.hpp>

Public Member Functions

void parseString (std::string parameters_string)
 Parses a string in the format: ID_DISTANCE,parameter1=value1,parameter2=value2 More...
 
void copyAll (DistanceParams &params_from)
 Copies all the key-values pairs in params_from and adds them to params_to. More...
 
std::string toString ()
 Returns a string with the parameters which can be parsed. More...
 
 DistanceParams ()
 Default constructor.
 
virtual ~DistanceParams ()
 Default destructor.
 
 DistanceParams (const DistanceParams &other)
 Copy constructor.
 
DistanceParamsoperator= (const DistanceParams &other)
 Assignment operator.
 
MknnDistanceParams Add Methods
void addString (std::string name, std::string value)
 Adds a string to the parameters. More...
 
void addDouble (std::string name, double value)
 Adds a floating point number to the parameters. More...
 
void addInt (std::string name, long long value)
 Adds an integer number to the parameters. More...
 
void addBool (std::string name, bool value)
 Adds an boolean value to the parameters. More...
 
void addObject (std::string name, void *value)
 Adds an object number to the parameters. More...
 
MknnDistanceParams Get Methods
std::string getString (std::string name)
 Returns a string value. More...
 
double getDouble (std::string name)
 Returns a floating-point number. More...
 
long long getInt (std::string name)
 Returns an integer number. More...
 
bool getBool (std::string name)
 Returns a boolean value. More...
 
void * getObject (std::string name)
 Returns a object reference. More...
 
MknnDistanceParams Other Methods
void setDistanceId (std::string id_dist)
 
std::string getDistanceId ()
 

Static Public Member Functions

static DistanceParams newEmpty ()
 Creates an empty object. More...
 
static DistanceParams newParseString (std::string parameters_string)
 Creates an empty object and set parameters by calling method parseString. More...
 

Protected Attributes

std::unique_ptr< Impl > pimpl
 opaque object
 

Friends

class Distance
 
class PredefDistance
 

Detailed Description

Stores parameters in an internal map, which associates a names with its value.

The internal map only stores two type of objects: strings and void pointers. The getter and setter methods that use integer/double/boolean actually convert them to/from a string.

Member Function Documentation

void mknn::DistanceParams::addBool ( std::string  name,
bool  value 
)

Adds an boolean value to the parameters.

A copy of name is stored in params.

Parameters
namethe name of the parameter.
valuethe value of the parameter.
void mknn::DistanceParams::addDouble ( std::string  name,
double  value 
)

Adds a floating point number to the parameters.

A copy of name is stored in params.

Parameters
namethe name of the parameter.
valuethe value of the parameter.
void mknn::DistanceParams::addInt ( std::string  name,
long long  value 
)

Adds an integer number to the parameters.

A copy of name is stored in params.

Parameters
namethe name of the parameter.
valuethe value of the parameter.
void mknn::DistanceParams::addObject ( std::string  name,
void *  value 
)

Adds an object number to the parameters.

A copy of name is stored in params but the value pointer itself is stored in params. Therefore the value pointer must remain valid during all the lifetime of params.

Parameters
namethe name of the parameter.
valuethe value of the parameter.
void mknn::DistanceParams::addString ( std::string  name,
std::string  value 
)

Adds a string to the parameters.

A copy of name and value are stored in params.

Parameters
namethe name of the parameter.
valuethe value of the parameter.
void mknn::DistanceParams::copyAll ( DistanceParams params_from)

Copies all the key-values pairs in params_from and adds them to params_to.

Parameters
params_fromthe parameters from which the values are read.
bool mknn::DistanceParams::getBool ( std::string  name)

Returns a boolean value.

Parameters
namethe name of the parameter.
Returns
the stored value. If the stored value is not a boolean value, it will raise an error.
std::string mknn::DistanceParams::getDistanceId ( )
Returns
double mknn::DistanceParams::getDouble ( std::string  name)

Returns a floating-point number.

Parameters
namethe name of the parameter.
Returns
the stored number. If the stored value is not a number, it will raise an error.
long long mknn::DistanceParams::getInt ( std::string  name)

Returns an integer number.

Parameters
namethe name of the parameter.
Returns
the stored number. If the stored value is not a number, it will raise an error.
void* mknn::DistanceParams::getObject ( std::string  name)

Returns a object reference.

Parameters
namethe name of the parameter.
Returns
a pointer to the stored object.
std::string mknn::DistanceParams::getString ( std::string  name)

Returns a string value.

Parameters
namethe name of the parameter.
Returns
a pointer to the stored string (it must not be modified).
static DistanceParams mknn::DistanceParams::newEmpty ( )
static

Creates an empty object.

Returns
a new empty object.
static DistanceParams mknn::DistanceParams::newParseString ( std::string  parameters_string)
static

Creates an empty object and set parameters by calling method parseString.

Parameters
parameters_stringthe string with parameters.
Returns
a parameters object
void mknn::DistanceParams::parseString ( std::string  parameters_string)

Parses a string in the format: ID_DISTANCE,parameter1=value1,parameter2=value2

Each parsed parameter is added to params.

For example:

  • LP,order=0.5
  • DPF,order=1,pct_discard=0.1

The list of valid IDs can be listed by invoking PredefDistance::helpListDistances.

Parameters
parameters_stringthe string with parameters.
void mknn::DistanceParams::setDistanceId ( std::string  id_dist)
Parameters
id_dist
std::string mknn::DistanceParams::toString ( )

Returns a string with the parameters which can be parsed.

Returns
a string representation of parameters.

The documentation for this class was generated from the following file:
Powered by Download MetricKnn