|
A map of FlexVariable:s. More...
#include <VariableMap.h>
Public Member Functions | |
FlexVariableMap (char separator='\0') | |
FlexVariableMap (const FlexVariableMap &m) | |
Copies a map like VariableMap does - creates an own entry for every input entry. | |
FlexVariableMap & | operator= (const FlexVariableMap &v) |
template<class T > | |
FlexVariableMap & | link (const std::string &key, T &target) |
void | clearVariables () |
Public Member Functions inherited from SmartMap< FlexibleVariable > | |
SmartMap (char separator='\0', char arraySeparator=':') | |
SmartMap (const SmartMap &smap) | |
virtual void | clear () |
bool | hasKey (const std::string &key) const |
std::string | get (const std::string &key, const std::string &defaultValue) const |
Retrieves a value, or default value if value is unset. More... | |
std::string | get (const std::string &key, const char *defaultValue) const |
T2 | get (const std::string &key, const T2 &defaultValue) const |
Retrieves a value, if set, else returns the given default value. More... | |
virtual FlexibleVariable & | operator[] (const std::string &key) |
Returns an element. Creates one, conditionally. More... | |
virtual const FlexibleVariable & | operator[] (const std::string &key) const |
Unlike with std::map, operator[] const is defined, returning reference to a static empty instance. | |
virtual const keylist_t & | getKeyList () const |
Derived versions may produce an ordered set of keys. | |
const map_t & | getMap () const |
void | exportMap (std::map< std::string, T2 > &m) const |
Copies the contents to another map. | |
void | importEntries (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
Assigns a value to given key; if the entry does not exist, tries to create it with directly with operator[]. More... | |
void | importEntries (const std::list< std::string > &entries, char assignmentSymbol='=') |
void | importMap (const std::map< std::string, S > &m) |
Assign values from a map, overriding existing entries. More... | |
void | importCastableMap (const drain::SmartMap< T2 > &m) |
Assign values from a map, possibly extending the map. More... | |
void | updateFromMap (const std::map< std::string, T2 > &m) |
Assign values from a map. Updates existing entries only. More... | |
void | updateFromCastableMap (const drain::SmartMap< T2 > &m) |
Convenience. | |
void | setValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
Sets values. If strictness==STRICTLY_CLOSED, throws exception if tries to assign a non-existing entry. | |
void | setValues (const char *entries, char assignmentSymbol='=', char separatorSymbol=0) |
void | setValuesSEQ (const S &sequence) |
void | updateValues (const std::string &entries, char assignmentSymbol='=', char separatorSymbol=0) |
Sets applicable values ie. modifies existing entries only. In ordered maps, skips extra entries silently. | |
void | getKeys (std::ostream &ostr) const |
std::string | getKeys () const |
Convenience function for std::string output. | |
void | getValues (std::ostream &ostr) const |
Dumps the values. | |
std::string | getValues () const |
Convenience function for std::string output. | |
std::ostream & | toStream (std::ostream &ostr, char equal='=', char startChar='{', char endChar='}', char separatorChar=',') const |
Note: parameters discarded. | |
std::string | toStr (char equal='=', char start=0, char end=0, char separator=0) const |
void | dump (std::ostream &ostr=std::cout) const |
Write map as a JSON code. More... | |
Additional Inherited Members | |
Public Types inherited from SmartMap< FlexibleVariable > | |
typedef SmartMap< FlexibleVariable > | smap_t |
typedef std::map< std::string, FlexibleVariable > | map_t |
typedef map_t::key_type | key_t |
typedef map_t::mapped_type | value_t |
typedef map_t::value_type | entry_t |
typedef std::list< std::string > | keylist_t |
typedef map_t::iterator | iterator |
Needed? | |
typedef map_t::const_iterator | const_iterator |
Public Attributes inherited from SmartMap< FlexibleVariable > | |
char | separator |
Default character used for splitting input and output. See setValues. | |
char | arraySeparator |
Default separator character for array elements (std::vector's) | |
Protected Attributes inherited from SmartMap< FlexibleVariable > | |
std::list< std::string > | keyList |
Assigns values from std::string of type "value,value2,...valueN". More... | |
A map of FlexVariable:s.