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

§ CBoolParameter

typedef CTParameter<bool> CBoolParameter

boolean parameter

Definition at line 532 of file parameter.hh.

§ CDBoundedParameter

an float parameter, double accuracy (with possible boundaries)

Definition at line 552 of file parameter.hh.

§ CFBoundedParameter

an float parameter, single accuracy (with possible boundaries)

Definition at line 550 of file parameter.hh.

§ CSIBoundedParameter

an signed int parameter (with possible boundaries)

Definition at line 545 of file parameter.hh.

§ CSLBoundedParameter

an signed long parameter (with possible boundaries)

Definition at line 547 of file parameter.hh.

§ CSSBoundedParameter

an signed short parameter (with possible boundaries)

Definition at line 543 of file parameter.hh.

§ CUIBoundedParameter

typedef TBoundedParameter<unsigned int> CUIBoundedParameter

an unsigned int parameter (with possible boundaries)

Definition at line 538 of file parameter.hh.

§ CULBoundedParameter

typedef TBoundedParameter<unsigned long> CULBoundedParameter

an unsigned long parameter (with possible boundaries)

Definition at line 540 of file parameter.hh.

§ CUSBoundedParameter

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()

IMPLEMENT_FLAG_OPERATIONS ( EParameterBounds  )

§ make_ci_param()

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, and required.

§ make_coi_param()

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, bf_min_closed, and required.

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

§ make_lc_param()

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.

§ make_lo_param()

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.

§ make_nonnegative_param()

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, and required.

§ make_oci_param()

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, bf_min_open, and required.

§ make_oi_param()

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, and required.

§ make_param()

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

§ make_positive_param()

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, and required.

§ make_uc_param()

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.

§ make_uo_param()

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.

§ operator<<()

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