|
| map (char aShortName, const std::string &aLongName, const std::string &aExplanation, std::initializer_list< typename Container::value_type > aDefault={}) |
|
| map (const map &)=delete |
|
void | fWriteCfgLines (std::ostream &aStream, const char *aPrefix) const override |
|
void | fWriteValue (std::ostream &aStream) const override |
| write textual representation of value to a std::ostream More...
|
|
template<typename C = Container> |
std::enable_if< std::is_same< std::map< typename std::remove_const< typename Container::value_type::first_type >::type, typename Container::value_type::second_type >, C >::value, typename C::iterator >::type | insertOrUpdate (typename C::value_type aPair) |
|
template<typename C = Container> |
std::enable_if< !std::is_same< std::map< typename std::remove_const< typename Container::value_type::first_type >::type, typename Container::value_type::second_type >, C >::value, typename Container::iterator >::type | insertOrUpdate (typename C::value_type aPair) |
|
void | fSetMe (std::istream &aStream, const internal::sourceItem &aSource) override |
| function to set the value from a string, remembering the source More...
|
|
void | fCheckRange () const override |
|
std::add_rvalue_reference< std::add_const< Container > >::type | fGetValue () const |
|
| baseForMap (char aShortName, std::string aLongName, std::string aExplanation, short aNargs) |
|
void | fAddSource (const T *aValueLocation, const internal::sourceItem &aSource) |
|
const internal::sourceItem | fGetSource (const T *aValueLocation) const |
|
bool | fIsSet () const override |
| check if this option was set, regardless of from command line or config file More...
|
|
bool | fIsContainer () const override |
|
void | fAddDefaultFromStream (std::istream &aStream) override |
| special for use in the shellScriptOptionParser More...
|
|
| typed_base (Types ... args) |
|
virtual void | fAddToRange (rangeValueType aValue) |
| add a value to the range of allowed values More...
|
|
std::enable_if<(!std::is_same< rangeValueType, std::string >::value) &&std::is_same< TT, std::string >::value, void >::type | fAddToRange (const TT &aString) |
|
void | fAddToRange (InputIt aBegin, InputIt aEnd) |
| add values from the iterator range [aBegin,aEnd) to the range of allowed values More...
|
|
void | fAddToRange (const std::vector< TT > &aRange) |
| add values from a vector (may be given as initializer list) to the range of allowed values More...
|
|
void | fAddToRangeFromStream (std::istream &aStream) override |
|
void | fWriteRange (std::ostream &aStream) const override |
|
virtual void | fCheckValueForRange (const compareValueType &aValue) const |
|
| base (char aShortName, const std::string &aLongName, const std::string &aExplanation, short aNargs) |
| construct an object of type base More...
|
|
virtual | ~base () |
|
virtual void | fRequire (const base *aOtherOption) |
| require aOtherOption when this option is set More...
|
|
virtual void | fRequire (std::vector< const base * > aOtherOptions) |
| add vector of other options, particlularly nice for use with initializer list More...
|
|
template<typename InputIt > |
void | fRequire (InputIt aBegin, InputIt aEnd) |
| add all options from the pair of iterators [aBegin,aEnd) to the list of required options More...
|
|
virtual void | fForbid (const base *aOtherOption) |
| forbid aOtherOption when this option is set More...
|
|
virtual void | fForbid (std::vector< const base * > aOtherOptions) |
| add vector of other options, particlularly nice for use with initializer list More...
|
|
template<typename InputIt > |
void | fForbid (InputIt aBegin, InputIt aEnd) |
| add all options from the pair of iterators [aBegin,aEnd) to the list of forbidden options More...
|
|
const std::string & | fGetLongName () const |
| returns long name of option, usually only for internal use. More...
|
|
|
typedef T | valueType |
|
typedef std::conditional< std::is_same< T, const char * >::value||false, std::string, T >::type | rangeValueType |
|
typedef std::conditional< false, std::string, T >::type | compareValueType |
|
virtual void | fSetMeNoarg (const internal::sourceItem &) |
|
virtual void | fSetSource (const internal::sourceItem &aSource) |
| remember the source that provided the value, e.g. commandline or a config file More...
|
|
void | fSetPreserveWorthyStuff (std::vector< std::string > *aStuff) |
|
void | fHide () |
| hide option, will be respected by help More...
|
|
bool | fIsHidden () const |
|
void | fDisable () |
| disable option by removing it from the maps More...
|
|
static std::map< std::string, base * > & | fGetOptionMap () |
|
static std::map< char, base * > & | fGetShortOptionMap () |
|
std::map< const T *, const internal::sourceItem > | lSources |
|
std::multiset< rangeValueType > | lRange |
|
char | lShortName |
|
const std::string | lLongName |
|
const std::string | lExplanation |
|
internal::sourceItem | lSource |
|
short | lNargs |
|
bool | lHidden |
|
std::vector< std::string > * | lPreserveWorthyStuff |
|
std::vector< const base * > | lRequiredOptions |
|
std::vector< const base * > | lForbiddenOptions |
|
template<typename T, typename Container = std::map<std::string, T>>
class options::map< T, Container >
template for map-based options.
The map key is always a std::string but the mapped value is arbitrary. the container is by defalt a std::map. It is assumed that the container always contains std::pairs of a std::string as first and the value type T as second, e.g. a std::list<std::pair<std::string,int>> which, in contrast to the map would preserve the order in which the items were specified.
Definition at line 671 of file Options.h.