Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
MapTools Class Reference

General purpose tools for handling values and keys of std::map<> More...

#include <MapTools.h>

Inheritance diagram for MapTools:
Inheritance graph
[legend]

Public Types

typedef std::list< std::string > keylist_t
 

Static Public Member Functions

template<class M >
static const M::mapped_type & get (const M &m, const typename M::key_type &key)
 If the key is found, the value is returned as a reference.
 
template<class M , class V , bool STRICT = true>
static void setValue (M &dst, const std::string &key, const V &value)
 Set value of an element. If not STRICT, set only if key exists ie update.
 
template<class M , class V >
static void setValue (M &dst, const std::string &key, const V &value, bool STRICT)
 
template<class M , class V >
static void updateValue (M &dst, const std::string &key, const V &value)
 Set value only if key exists.
 
template<class M , class S , bool STRICT = true>
static void setValues (M &dst, const std::map< std::string, S > &srcMap)
 
template<class M , class S >
static void updateValues (M &dst, const std::map< std::string, S > &src)
 
template<class M , bool STRICT = true>
static void setValues (M &dst, const std::list< std::string > &values, char equalSign='=', const std::string &trimChars="")
 Assign values from list, accepting strict "<key>=<value>" format, no positional arguments.
 
template<class M >
static void updateValues (M &dst, const std::list< std::string > &values, char equals='=')
 Assign values from list, accepting strict "<key>=<value>" format, no positional arguments.
 
template<class M , bool STRICT = true>
static void setValues (M &dst, const std::list< std::string > &keys, const std::list< std::string > &entries, char assignmentChar='=')
 Assign values from list, accepting keyword arguments <key>=,<key2>=<value2> and positional arguments ,<value2>... .
 
template<class M >
static void updateValues (M &dst, const std::list< std::string > &keys, const std::list< std::string > &entries, char equals='=')
 
template<class M , bool STRICT = true>
static void setValues (M &dst, const std::string &values, char split=',', char equals='=', const std::string &trimChars="")
 Assign values from string, assuming strict "<key>=<value>" format, no positional arguments.
 
template<class M >
static void updateValues (M &dst, const std::string &values, char split=',', char equals='=')
 
template<class M , bool STRICT = true>
static void setValues (M &dst, const std::list< std::string > &keys, const std::string &values, char split=',', char equals='=')
 Assign values from string, accepting keyword arguments <key>=,<key2>=<value2> and positional arguments ,<value2>... .
 
template<class M >
static void updateValues (M &dst, const std::list< std::string > &keys, const std::string &values, char split=',', char equals='=')
 
template<class M , class V , bool STRICT = true>
static void setValues (M &dst, const std::list< std::string > &keys, std::initializer_list< V > values)
 Assign values from string, accepting keyword arguments <key>=,<key2>=<value2> and positional arguments ,<value2>... .
 
template<class M , class V >
static void setValues (M &dst, std::initializer_list< V > values)
 
template<class M , typename K , typename V >
static void setValues (M &dst, std::initializer_list< std::pair< K, V > > values)
 NEW 2025.
 

Detailed Description

General purpose tools for handling values and keys of std::map<>

Member Function Documentation

◆ get()

template<class M >
static const M::mapped_type & get ( const M &  m,
const typename M::key_type &  key 
)
inlinestatic

If the key is found, the value is returned as a reference.

Parameters
m- map in which keys are searched
Template Parameters
M- map type
F- target value type

◆ setValue()

template<class M , class V , bool STRICT = true>
static void setValue ( M &  dst,
const std::string &  key,
const V &  value 
)
inlinestatic

Set value of an element. If not STRICT, set only if key exists ie update.

Template Parameters
M- map type
S- source element type

◆ setValues() [1/7]

template<class M , bool STRICT = true>
static void setValues ( M &  dst,
const std::list< std::string > &  keys,
const std::list< std::string > &  entries,
char  assignmentChar = '=' 
)
inlinestatic

Assign values from list, accepting keyword arguments <key>=,<key2>=<value2> and positional arguments ,<value2>... .

Template Parameters
M- map type
STRICT- assign always; create a new entry if key does not exist

\params keys - ordered key list of writable entries of destination map

◆ setValues() [2/7]

template<class M , bool STRICT = true>
static void setValues ( M &  dst,
const std::list< std::string > &  keys,
const std::string &  values,
char  split = ',',
char  equals = '=' 
)
inlinestatic

Assign values from string, accepting keyword arguments <key>=,<key2>=<value2> and positional arguments ,<value2>... .

Template Parameters
M- map type
STRICT- assign always; create a new entry if key does not exist

\params keys - ordered key list of writable entries of destination map

◆ setValues() [3/7]

template<class M , class V , bool STRICT = true>
static void setValues ( M &  dst,
const std::list< std::string > &  keys,
std::initializer_list< V >  values 
)
inlinestatic

Assign values from string, accepting keyword arguments <key>=,<key2>=<value2> and positional arguments ,<value2>... .

Template Parameters
M- map type
V- value type
STRICT- assign always; create a new entry if key does not exist

\params keys - ordered key list of the already existing entries

◆ setValues() [4/7]

template<class M , bool STRICT = true>
static void setValues ( M &  dst,
const std::list< std::string > &  values,
char  equalSign = '=',
const std::string &  trimChars = "" 
)
inlinestatic

Assign values from list, accepting strict "<key>=<value>" format, no positional arguments.

If the list contains a single empty value, the destination is cleared.

Template Parameters
M- map type
S- source type
T- destination type

◆ setValues() [5/7]

template<class M , class S , bool STRICT = true>
static void setValues ( M &  dst,
const std::map< std::string, S > &  srcMap 
)
inlinestatic
Template Parameters
S- source map type

◆ setValues() [6/7]

template<class M , bool STRICT = true>
static void setValues ( M &  dst,
const std::string &  values,
char  split = ',',
char  equals = '=',
const std::string &  trimChars = "" 
)
inlinestatic

Assign values from string, assuming strict "<key>=<value>" format, no positional arguments.

Template Parameters
S- source type
T- destination type
M- map type
STRICT- assign always; create a new entry if key does not exist

\params keys - ordered key list of writable entries of destination map

◆ setValues() [7/7]

template<class M , class V >
static void setValues ( M &  dst,
std::initializer_list< V >  values 
)
inlinestatic
Template Parameters
M- map type
V- value type

\params keys - ordered key list of writable entries of destination map

◆ updateValue()

template<class M , class V >
static void updateValue ( M &  dst,
const std::string &  key,
const V &  value 
)
inlinestatic

Set value only if key exists.

Template Parameters
M- map type
V- value type

◆ updateValues() [1/5]

template<class M >
static void updateValues ( M &  dst,
const std::list< std::string > &  keys,
const std::list< std::string > &  entries,
char  equals = '=' 
)
inlinestatic
Template Parameters
M- map type
STRICT- assign always; create a new entry if key does not exist

\params keys - ordered key list of writable entries of destination map

◆ updateValues() [2/5]

template<class M >
static void updateValues ( M &  dst,
const std::list< std::string > &  keys,
const std::string &  values,
char  split = ',',
char  equals = '=' 
)
inlinestatic
Template Parameters
M- map type
V- value type
STRICT- assign always; create a new entry if key does not exist

\params keys - ordered key list of writable entries of destination map

◆ updateValues() [3/5]

template<class M >
static void updateValues ( M &  dst,
const std::list< std::string > &  values,
char  equals = '=' 
)
inlinestatic

Assign values from list, accepting strict "<key>=<value>" format, no positional arguments.

Template Parameters
M- map type
S- source type
T- destination type

◆ updateValues() [4/5]

template<class M , class S >
static void updateValues ( M &  dst,
const std::map< std::string, S > &  src 
)
inlinestatic
Template Parameters
M- map type
S- source type

◆ updateValues() [5/5]

template<class M >
static void updateValues ( M &  dst,
const std::string &  values,
char  split = ',',
char  equals = '=' 
)
inlinestatic
Template Parameters
M- map type
STRICT- assign always; create a new entry if key does not exist

\params keys - ordered key list of writable entries of destination map


The documentation for this class was generated from the following file: