parameter.hh File Reference
#include <string>
#include <map>
#include <ostream>
#include <istream>
#include <sstream>
#include <memory>
#include <mia/core/flags.hh>
#include <mia/core/dictmap.hh>
#include <mia/core/msgstream.hh>
#include <mia/core/handlerbase.hh>
#include <mia/core/factory_trait.hh>
#include <mia/core/cmdoptionflags.hh>
Include dependency graph for parameter.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  CDictParameter< T >
 Dictionary parameter. More...
 
class  CParameter
 The base class for parameters used in complex options. More...
 
class  CSetParameter< T >
 A parameter that can only assume values out of a limited set. More...
 
class  CStringParameter
 an string parameter More...
 
class  CTParameter< T >
 Generic type of a complex paramter. More...
 
class  TBoundedParameter< T >
 
class  TFactoryParameter< F >
 A parameter that get's initialized by a factory to a shared or unique pointer. More...
 
class  TParameter< T >
 A parameter that can assume any value of the given value type. More...
 

Typedefs

typedef CTParameter< bool > CBoolParameter
 boolean parameter More...
 
typedef TBoundedParameter< double > CDBoundedParameter
 an float parameter, double accuracy (with possible boundaries) More...
 
typedef TBoundedParameter< float > CFBoundedParameter
 an float parameter, single accuracy (with possible boundaries) More...
 
typedef TBoundedParameter< int > CSIBoundedParameter
 an signed int parameter (with possible boundaries) More...
 
typedef TBoundedParameter< long > CSLBoundedParameter
 an signed long parameter (with possible boundaries) More...
 
typedef TBoundedParameter< short > CSSBoundedParameter
 an signed short parameter (with possible boundaries) More...
 
typedef TBoundedParameter< unsigned int > CUIBoundedParameter
 an unsigned int parameter (with possible boundaries) More...
 
typedef TBoundedParameter< unsigned long > CULBoundedParameter
 an unsigned long parameter (with possible boundaries) More...
 
typedef TBoundedParameter< unsigned short > CUSBoundedParameter
 an unsigned short parameter (with possible boundaries) More...
 

Enumerations

enum  EParameterBounds : int {
  EParameterBounds::bf_min = 1, EParameterBounds::bf_min_open = 3, EParameterBounds::bf_min_closed = 5, EParameterBounds::bf_min_flags = 7,
  EParameterBounds::bf_max = 0x10, EParameterBounds::bf_max_open = 0x30, EParameterBounds::bf_max_closed = 0x50, EParameterBounds::bf_max_flags = 0x70,
  EParameterBounds::bf_closed_interval = 0x55, EParameterBounds::bf_open_interval = 0x33
}
 Scalar parameter with an expected value range. More...
 

Functions

 IMPLEMENT_FLAG_OPERATIONS (EParameterBounds)
 
template<typename T , typename S1 , typename S2 >
CParametermake_ci_param (T &value, S1 lower_bound, S2 upper_bound, bool required, const char *descr)
 
template<typename T , typename S1 , typename S2 >
CParametermake_coi_param (T &value, S1 lower_bound, S2 upper_bound, bool required, const char *descr)
 
template<typename T , typename S >
CParametermake_lc_param (T &value, S lower_bound, bool required, const char *descr)
 
template<typename T , typename S >
CParametermake_lo_param (T &value, S lower_bound, bool required, const char *descr)
 
template<typename T >
CParametermake_nonnegative_param (T &value, bool required, const char *descr)
 
template<typename T , typename S1 , typename S2 >
CParametermake_oci_param (T &value, S1 lower_bound, S2 upper_bound, bool required, const char *descr)
 
template<typename T , typename S1 , typename S2 >
CParametermake_oi_param (T &value, S1 lower_bound, S2 upper_bound, bool required, const char *descr)
 
template<typename T >
CParametermake_param (T &value, bool required, const char *descr)
 
template<typename T >
CParametermake_param (std::shared_ptr< T > &value, const std::string &init, bool required, const char *descr)
 create a factory parameter that initializes to a std::shared_ptr More...
 
template<typename T >
CParametermake_param (std::unique_ptr< T > &value, const std::string &init, bool required, const char *descr)
 create a factory parameter that initializes to a std::unique_ptr More...
 
template<typename T >
CParametermake_positive_param (T &value, bool required, const char *descr)
 
template<typename T , typename S >
CParametermake_uc_param (T &value, S upper_bound, bool required, const char *descr)
 
template<typename T , typename S >
CParametermake_uo_param (T &value, S upper_bound, bool required, const char *descr)
 
EXPORT_CORE std::ostream & operator<< (std::ostream &os, EParameterBounds flags)
 

Typedef Documentation

typedef CTParameter<bool> CBoolParameter

boolean parameter

Definition at line 532 of file parameter.hh.

an float parameter, double accuracy (with possible boundaries)

Definition at line 552 of file parameter.hh.

an float parameter, single accuracy (with possible boundaries)

Definition at line 550 of file parameter.hh.

an signed int parameter (with possible boundaries)

Definition at line 545 of file parameter.hh.

an signed long parameter (with possible boundaries)

Definition at line 547 of file parameter.hh.

an signed short parameter (with possible boundaries)

Definition at line 543 of file parameter.hh.

typedef TBoundedParameter<unsigned int> CUIBoundedParameter

an unsigned int parameter (with possible boundaries)

Definition at line 538 of file parameter.hh.

typedef TBoundedParameter<unsigned long> CULBoundedParameter

an unsigned long parameter (with possible boundaries)

Definition at line 540 of file parameter.hh.

typedef TBoundedParameter<unsigned short> CUSBoundedParameter

an unsigned short parameter (with possible boundaries)

Definition at line 536 of file parameter.hh.

Function Documentation

IMPLEMENT_FLAG_OPERATIONS ( EParameterBounds  )
template<typename T , typename S1 , typename S2 >
CParameter* make_ci_param ( T &  value,
S1  lower_bound,
S2  upper_bound,
bool  required,
const char *  descr 
)

Definition at line 305 of file parameter.hh.

References bf_closed_interval.

template<typename T , typename S1 , typename S2 >
CParameter* make_coi_param ( T &  value,
S1  lower_bound,
S2  upper_bound,
bool  required,
const char *  descr 
)

Definition at line 319 of file parameter.hh.

References bf_max_open.

Referenced by TWatershedFilterPlugin< dim >::TWatershedFilterPlugin().

template<typename T , typename S >
CParameter* make_lc_param ( T &  value,
lower_bound,
bool  required,
const char *  descr 
)

Definition at line 276 of file parameter.hh.

References bf_min_closed.

template<typename T , typename S >
CParameter* make_lo_param ( T &  value,
lower_bound,
bool  required,
const char *  descr 
)

Definition at line 263 of file parameter.hh.

References bf_min_open.

template<typename T >
CParameter* make_nonnegative_param ( T &  value,
bool  required,
const char *  descr 
)

Definition at line 284 of file parameter.hh.

References bf_min_closed.

template<typename T , typename S1 , typename S2 >
CParameter* make_oci_param ( T &  value,
S1  lower_bound,
S2  upper_bound,
bool  required,
const char *  descr 
)

Definition at line 326 of file parameter.hh.

References bf_max_closed, and bf_min_open.

template<typename T , typename S1 , typename S2 >
CParameter* make_oi_param ( T &  value,
S1  lower_bound,
S2  upper_bound,
bool  required,
const char *  descr 
)

Definition at line 312 of file parameter.hh.

References bf_open_interval.

template<typename T >
CParameter* make_param ( T &  value,
bool  required,
const char *  descr 
)
template<typename T >
CParameter* make_positive_param ( T &  value,
bool  required,
const char *  descr 
)

Definition at line 270 of file parameter.hh.

References bf_min_open.

template<typename T , typename S >
CParameter* make_uc_param ( T &  value,
upper_bound,
bool  required,
const char *  descr 
)

Definition at line 298 of file parameter.hh.

References bf_min_closed.

template<typename T , typename S >
CParameter* make_uo_param ( T &  value,
upper_bound,
bool  required,
const char *  descr 
)

Definition at line 291 of file parameter.hh.

References bf_min_open.

EXPORT_CORE std::ostream& operator<< ( std::ostream &  os,
EParameterBounds  flags 
)