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

struct  TBoundedParameter< T >::boundary< S >
 
struct  TBoundedParameter< T >::boundary< std::vector< S > >
 
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< int32_t > CSIBoundedParameter
 an signed int parameter (with possible boundaries) More...
 
typedef TBoundedParameter< int64_t > CSLBoundedParameter
 an signed long parameter (with possible boundaries) More...
 
typedef TBoundedParameter< int16_t > CSSBoundedParameter
 an signed short parameter (with possible boundaries) More...
 
typedef TBoundedParameter< uint32_t > CUIBoundedParameter
 an unsigned int parameter (with possible boundaries) More...
 
typedef TBoundedParameter< uint64_t > CULBoundedParameter
 an unsigned long parameter (with possible boundaries) More...
 
typedef TBoundedParameter< uint16_t > CUSBoundedParameter
 an unsigned short parameter (with possible boundaries) More...
 
typedef TBoundedParameter< std::vector< double > > CVDBoundedParameter
 an float parameter, double accuracy (with possible boundaries) More...
 
typedef TBoundedParameter< std::vector< float > > CVFBoundedParameter
 an float parameter, single accuracy (with possible boundaries) More...
 
typedef TBoundedParameter< std::vector< int32_t > > CVSIBoundedParameter
 an signed int parameter (with possible boundaries) More...
 
typedef TBoundedParameter< std::vector< int64_t > > CVSLBoundedParameter
 an signed long parameter (with possible boundaries) More...
 
typedef TBoundedParameter< std::vector< int16_t > > CVSSBoundedParameter
 an signed short parameter (with possible boundaries) More...
 
typedef TBoundedParameter< std::vector< uint32_t > > CVUIBoundedParameter
 an unsigned int parameter (with possible boundaries) More...
 
typedef TBoundedParameter< std::vector< uint64_t > > CVULBoundedParameter
 an unsigned long parameter (with possible boundaries) More...
 
typedef TBoundedParameter< std::vector< uint16_t > > CVUSBoundedParameter
 an unsigned short parameter (with possible boundaries) More...
 

Enumerations

enum  EParameterBounds : int {
  EParameterBounds::bf_none = 0, 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 553 of file parameter.hh.

◆ CDBoundedParameter

an float parameter, double accuracy (with possible boundaries)

Definition at line 573 of file parameter.hh.

◆ CFBoundedParameter

an float parameter, single accuracy (with possible boundaries)

Definition at line 571 of file parameter.hh.

◆ CSIBoundedParameter

an signed int parameter (with possible boundaries)

Definition at line 566 of file parameter.hh.

◆ CSLBoundedParameter

an signed long parameter (with possible boundaries)

Definition at line 568 of file parameter.hh.

◆ CSSBoundedParameter

an signed short parameter (with possible boundaries)

Definition at line 564 of file parameter.hh.

◆ CUIBoundedParameter

an unsigned int parameter (with possible boundaries)

Definition at line 559 of file parameter.hh.

◆ CULBoundedParameter

an unsigned long parameter (with possible boundaries)

Definition at line 561 of file parameter.hh.

◆ CUSBoundedParameter

an unsigned short parameter (with possible boundaries)

Definition at line 557 of file parameter.hh.

◆ CVDBoundedParameter

typedef TBoundedParameter<std::vector<double> > CVDBoundedParameter

an float parameter, double accuracy (with possible boundaries)

Definition at line 592 of file parameter.hh.

◆ CVFBoundedParameter

typedef TBoundedParameter<std::vector<float> > CVFBoundedParameter

an float parameter, single accuracy (with possible boundaries)

Definition at line 590 of file parameter.hh.

◆ CVSIBoundedParameter

typedef TBoundedParameter<std::vector<int32_t> > CVSIBoundedParameter

an signed int parameter (with possible boundaries)

Definition at line 585 of file parameter.hh.

◆ CVSLBoundedParameter

typedef TBoundedParameter<std::vector<int64_t> > CVSLBoundedParameter

an signed long parameter (with possible boundaries)

Definition at line 587 of file parameter.hh.

◆ CVSSBoundedParameter

typedef TBoundedParameter<std::vector<int16_t> > CVSSBoundedParameter

an signed short parameter (with possible boundaries)

Definition at line 583 of file parameter.hh.

◆ CVUIBoundedParameter

typedef TBoundedParameter<std::vector<uint32_t> > CVUIBoundedParameter

an unsigned int parameter (with possible boundaries)

Definition at line 578 of file parameter.hh.

◆ CVULBoundedParameter

typedef TBoundedParameter<std::vector<uint64_t> > CVULBoundedParameter

an unsigned long parameter (with possible boundaries)

Definition at line 580 of file parameter.hh.

◆ CVUSBoundedParameter

typedef TBoundedParameter<std::vector<uint16_t> > CVUSBoundedParameter

an unsigned short parameter (with possible boundaries)

Definition at line 576 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 326 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 340 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 297 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 284 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 305 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 347 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 333 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 291 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 319 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 312 of file parameter.hh.

References bf_min_open.

◆ operator<<()

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