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

Enumerations

enum class  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 (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
 
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
 
template<typename T >
CParametermake_param (T &value, bool required, const char *descr)
 
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 561 of file parameter.hh.

◆ CDBoundedParameter

an float parameter, double accuracy (with possible boundaries)

Definition at line 581 of file parameter.hh.

◆ CFBoundedParameter

an float parameter, single accuracy (with possible boundaries)

Definition at line 579 of file parameter.hh.

◆ CSIBoundedParameter

an signed int parameter (with possible boundaries)

Definition at line 574 of file parameter.hh.

◆ CSLBoundedParameter

an signed long parameter (with possible boundaries)

Definition at line 576 of file parameter.hh.

◆ CSSBoundedParameter

an signed short parameter (with possible boundaries)

Definition at line 572 of file parameter.hh.

◆ CUIBoundedParameter

an unsigned int parameter (with possible boundaries)

Definition at line 567 of file parameter.hh.

◆ CULBoundedParameter

an unsigned long parameter (with possible boundaries)

Definition at line 569 of file parameter.hh.

◆ CUSBoundedParameter

an unsigned short parameter (with possible boundaries)

Definition at line 565 of file parameter.hh.

◆ CVDBoundedParameter

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

an float parameter, double accuracy (with possible boundaries)

Definition at line 600 of file parameter.hh.

◆ CVFBoundedParameter

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

an float parameter, single accuracy (with possible boundaries)

Definition at line 598 of file parameter.hh.

◆ CVSIBoundedParameter

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

an signed int parameter (with possible boundaries)

Definition at line 593 of file parameter.hh.

◆ CVSLBoundedParameter

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

an signed long parameter (with possible boundaries)

Definition at line 595 of file parameter.hh.

◆ CVSSBoundedParameter

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

an signed short parameter (with possible boundaries)

Definition at line 591 of file parameter.hh.

◆ CVUIBoundedParameter

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

an unsigned int parameter (with possible boundaries)

Definition at line 586 of file parameter.hh.

◆ CVULBoundedParameter

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

an unsigned long parameter (with possible boundaries)

Definition at line 588 of file parameter.hh.

◆ CVUSBoundedParameter

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

an unsigned short parameter (with possible boundaries)

Definition at line 584 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 329 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 343 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 300 of file parameter.hh.

References bf_min_closed, and required.

◆ make_lo_param()

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

Definition at line 287 of file parameter.hh.

References bf_min_open, and required.

◆ make_nonnegative_param()

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

Definition at line 308 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 350 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 336 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 294 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 322 of file parameter.hh.

References bf_min_closed, and required.

◆ make_uo_param()

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

Definition at line 315 of file parameter.hh.

References bf_min_open, and required.

◆ operator<<()

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