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

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

#include <SmartMapTools.h>

Inheritance diagram for SmartMapTools:
Inheritance graph
[legend]
Collaboration diagram for SmartMapTools:
Collaboration graph
[legend]

Public Types

typedef std::list< std::string > keylist_t
 
- Public Types inherited from MapTools
typedef std::list< std::string > keylist_t
 

Static Public Member Functions

template<class M , class F >
static void get (const M &m, const typename M::key_type &key, F &value)
 If the key is found, the value is returned as a reference.
 
template<class M , class S , bool STRICT = true>
static void setCastableValues (M &dst, const std::map< std::string, S > &srcMap)
 
template<class M , class S >
static void updateCastableValues (M &dst, const std::map< std::string, S > &src)
 
template<class M , bool STRICT = true>
static void setValues (M &dst, const std::initializer_list< Variable::init_pair_t > &l)
 
- Static Public Member Functions inherited from MapTools
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 , class F >
static void get ( const M &  m,
const typename M::key_type &  key,
F &  value 
)
inlinestatic

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

\param m - map in which keys are searched

\tparam M - map type
\tparam F - target value type

template <class M> static const typename M::mapped_type & get(const M & m, const typename M::key_type & key){ typename M::const_iterator it = m.find(key); if (it != m.end()){ return it->second; } else { static const typename M::mapped_type empty; return empty; } } If the key is found, the value is assigned.

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

◆ updateCastableValues()

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

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