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>
CParameter * | make_ci_param (T &value, S1 lower_bound, S2 upper_bound, bool required, const char *descr)
template<typename T, typename S1, typename S2>
CParameter * | make_coi_param (T &value, S1 lower_bound, S2 upper_bound, bool required, const char *descr)
template<typename T, typename S>
CParameter * | make_lc_param (T &value, S lower_bound, bool required, const char *descr)
template<typename T, typename S>
CParameter * | make_lo_param (T &value, S lower_bound, bool required, const char *descr)
template<typename T>
CParameter * | make_nonnegative_param (T &value, bool required, const char *descr)
template<typename T, typename S1, typename S2>
CParameter * | make_oci_param (T &value, S1 lower_bound, S2 upper_bound, bool required, const char *descr)
template<typename T, typename S1, typename S2>
CParameter * | make_oi_param (T &value, S1 lower_bound, S2 upper_bound, bool required, const char *descr)
template<typename T>
CParameter * | make_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>
CParameter * | make_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>
CParameter * | make_param (T &value, bool required, const char *descr)
template<typename T>
CParameter * | make_positive_param (T &value, bool required, const char *descr)
template<typename T, typename S>
CParameter * | make_uc_param (T &value, S upper_bound, bool required, const char *descr)
template<typename T, typename S>
CParameter * | make_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

typedef TBoundedParameter<double> CDBoundedParameter

an float parameter, double accuracy (with possible boundaries)

Definition at line 581 of file parameter.hh.

## CFBoundedParameter

typedef TBoundedParameter<float> CFBoundedParameter

an float parameter, single accuracy (with possible boundaries)

Definition at line 579 of file parameter.hh.

## CSIBoundedParameter

typedef TBoundedParameter<int32_t> CSIBoundedParameter

an signed int parameter (with possible boundaries)

Definition at line 574 of file parameter.hh.

## CSLBoundedParameter

typedef TBoundedParameter<int64_t> CSLBoundedParameter

an signed long parameter (with possible boundaries)

Definition at line 576 of file parameter.hh.

## CSSBoundedParameter

typedef TBoundedParameter<int16_t> CSSBoundedParameter

an signed short parameter (with possible boundaries)

Definition at line 572 of file parameter.hh.

## CUIBoundedParameter

typedef TBoundedParameter<uint32_t> CUIBoundedParameter

an unsigned int parameter (with possible boundaries)

Definition at line 567 of file parameter.hh.

## CULBoundedParameter

typedef TBoundedParameter<uint64_t> CULBoundedParameter

an unsigned long parameter (with possible boundaries)

Definition at line 569 of file parameter.hh.

## CUSBoundedParameter

typedef TBoundedParameter<uint16_t> 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,
|  | S | 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,
|  | S | 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 )

Definition at line 280 of file parameter.hh.

References required.

Referenced by TImageCombinerFilterPlugin< Image >::TImageCombinerFilterPlugin(), and TWatershedFilterPlugin< dim >::TWatershedFilterPlugin().

## 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,
|  | S | 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,
|  | S | 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 )

References EXPORT_CORE.