Public Member Functions | List of all members
VariableMap Class Reference

A map of Variables. More...

#include <VariableMap.h>

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

Public Member Functions

 VariableMap (char separator=',')
 Default constructor.
 
 VariableMap (const VariableMap &v)
 Copy constructor.
 
 VariableMap (std::initializer_list< Variable::init_pair_t > inits)
 Constructor for initializer lists. More...
 
 VariableMap (Variable::init_pair_t &entry)
 Experimental constructor.
 
template<class T >
VariableMapoperator= (const std::map< std::string, T > &m)
 
- Public Member Functions inherited from SmartMap< Variable >
 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 Variableoperator[] (const std::string &key)
 Returns an element. Creates one, conditionally. More...
 
virtual const Variableoperator[] (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< Variable >
typedef SmartMap< Variablesmap_t
 
typedef std::map< std::string, Variablemap_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< Variable >
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< Variable >
std::list< std::string > keyList
 Assigns values from std::string of type "value,value2,...valueN". More...
 

Detailed Description

A map of Variables.

Constructor & Destructor Documentation

◆ VariableMap()

VariableMap ( std::initializer_list< Variable::init_pair_t >  inits)
inline

Constructor for initializer lists.

VariableMap vmap = {{"name": "Julian"}, {"number": 123.45}};
VariableMap(char separator=',')
Default constructor.
Definition: VariableMap.h:67

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