ewmscp  ..
Public Member Functions | Private Attributes | List of all members
davixCfgEnum< T > Class Template Reference

#include <davixCommon.h>

Collaboration diagram for davixCfgEnum< T >:
[legend]

Public Member Functions

 davixCfgEnum (const std::string &parPrefix, const std::string &optName, const std::string &description, void(Davix::RequestParams::*setter)(T), const std::map< std::string, T > map)
 
void applySingle (Davix::RequestParams &params)
 

Private Attributes

options::single< std::string > option
 
void(Davix::RequestParams::* set )(T)
 
std::map< std::string, T > nameMap
 

Detailed Description

template<class T>
class davixCfgEnum< T >

Definition at line 114 of file davixCommon.h.

Constructor & Destructor Documentation

◆ davixCfgEnum()

template<class T >
davixCfgEnum< T >::davixCfgEnum ( const std::string &  parPrefix,
const std::string &  optName,
const std::string &  description,
void(Davix::RequestParams::*)(T)  setter,
const std::map< std::string, T >  map 
)
inline

Definition at line 119 of file davixCommon.h.

123  :
124  option('\0', parPrefix + optName, description),
125  set(setter),
126  nameMap(map) {
127  for (const auto& item : nameMap) {
128  option.fAddToRange(item.first);
129  }
130  }

Member Function Documentation

◆ applySingle()

template<class T >
void davixCfgEnum< T >::applySingle ( Davix::RequestParams &  params)
inline

Definition at line 131 of file davixCommon.h.

131  {
132  if (option.fIsSet()) {
133  (params.*set)(nameMap.at(option));
134  }
135  }

Referenced by davixConfigObject::apply().

Here is the caller graph for this function:

Member Data Documentation

◆ nameMap

template<class T >
std::map<std::string, T> davixCfgEnum< T >::nameMap
private

◆ option

template<class T >
options::single<std::string> davixCfgEnum< T >::option
private

◆ set

template<class T >
void(Davix::RequestParams::* davixCfgEnum< T >::set) (T)
private

The documentation for this class was generated from the following file:
options::internal::typed_base::fAddToRange
virtual void fAddToRange(rangeValueType aValue)
add a value to the range of allowed values
Definition: Options.h:458
options::base::fIsSet
virtual bool fIsSet() const
check if this option was set, regardless of from command line or config file
Definition: Options.h:263
parPrefix
static const std::string parPrefix("dCap")
davixCfgEnum::set
void(Davix::RequestParams::* set)(T)
Definition: davixCommon.h:116
davixCfgEnum::nameMap
std::map< std::string, T > nameMap
Definition: davixCommon.h:117
davixCfgEnum::option
options::single< std::string > option
Definition: davixCommon.h:115