Dynamic access interface for FIELD-valued parameters.
More...
#include <fieldParametersD.h>
|
virtual | ~AbstractParameters ()=default |
|
template<typename FIELD > |
bool | provides () const |
|
template<typename FIELD > |
auto | get () const |
|
template<typename FIELD > |
auto | getOrFallback (typename ParameterD< T, DESCRIPTOR, FIELD >::data_t &&fallback) const |
|
template<typename FIELD > |
void | set (FieldD< T, DESCRIPTOR, FIELD > &&value) |
|
template<typename FIELD > |
void | set (const FieldD< T, DESCRIPTOR, FIELD > &value) |
|
template<typename T, typename DESCRIPTOR>
struct olb::AbstractParameters< T, DESCRIPTOR >
Dynamic access interface for FIELD-valued parameters.
Definition at line 79 of file fieldParametersD.h.
◆ ~AbstractParameters()
template<typename T , typename DESCRIPTOR >
◆ get()
template<typename T , typename DESCRIPTOR >
template<typename FIELD >
Definition at line 92 of file fieldParametersD.h.
92 {
93 if (auto concrete = dynamic_cast<const ParameterD<T,DESCRIPTOR,FIELD>*>(this)) {
94 return concrete->read();
95 } else {
96 throw std::invalid_argument("FIELD not provided by this parameter set");
97 }
98 };
◆ getOrFallback()
template<typename T , typename DESCRIPTOR >
template<typename FIELD >
Definition at line 101 of file fieldParametersD.h.
101 {
102 if (auto concrete = dynamic_cast<const ParameterD<T,DESCRIPTOR,FIELD>*>(this)) {
103 return concrete->read();
104 } else {
105 return fallback;
106 }
107 }
◆ provides()
template<typename T , typename DESCRIPTOR >
template<typename FIELD >
Definition at line 83 of file fieldParametersD.h.
83 {
84 if (auto concrete = dynamic_cast<const ParameterD<T,DESCRIPTOR,FIELD>*>(this)) {
85 return true;
86 } else {
87 return false;
88 }
89 };
◆ set() [1/2]
template<typename T , typename DESCRIPTOR >
template<typename FIELD >
Definition at line 119 of file fieldParametersD.h.
119 {
120 if (auto concrete = dynamic_cast<ParameterD<T,DESCRIPTOR,FIELD>*>(this)) {
121 return concrete->write(value);
122 } else {
123 throw std::invalid_argument("FIELD not provided by this parameter set");
124 }
125 };
◆ set() [2/2]
template<typename T , typename DESCRIPTOR >
template<typename FIELD >
Definition at line 110 of file fieldParametersD.h.
110 {
111 if (auto concrete = dynamic_cast<ParameterD<T,DESCRIPTOR,FIELD>*>(this)) {
112 return concrete->write(std::forward<decltype(value)>(value));
113 } else {
114 throw std::invalid_argument("FIELD not provided by this parameter set");
115 }
116 };
The documentation for this struct was generated from the following file: