40 #ifndef __OPENFLUID_CORE_MAPVALUE_HPP__
41 #define __OPENFLUID_CORE_MAPVALUE_HPP__
57 namespace openfluid {
namespace core {
138 typedef std::map<std::string,std::shared_ptr<Value> >
Map_t;
175 void writeToStream(std::ostream& OutStm)
const;
178 { writeToStream(OutStm); }
185 void set(
const std::string& Key,
Value* Element);
192 inline void setDouble(
const std::string& Key,
const double& Val)
201 inline void setInteger(
const std::string& Key,
const long& Val)
209 inline void setBoolean(
const std::string& Key,
const bool& Val)
217 inline void setString(
const std::string& Key,
const std::string& Val)
248 Value& operator[](
const std::string& Key);
255 Value& at(
const std::string& Key);
262 const Value& at(
const std::string& Key)
const;
270 {
return at(Key).asDoubleValue().get(); };
278 {
return at(Key).asIntegerValue().get(); };
286 {
return at(Key).asBooleanValue().get(); };
293 inline std::string
getString(
const std::string& Key)
const
294 {
return at(Key).asStringValue().get(); };
324 bool remove(
const std::string& Key);
330 inline unsigned long getSize()
const {
return m_Value.size(); };
336 unsigned long size()
const {
return m_Value.size(); };
343 inline bool isKeyExist(
const std::string& Key)
const {
return (m_Value.find(Key) != m_Value.end()); };
349 std::vector<std::string> getKeys()
const;
361 {
return m_Value.begin(); }
368 {
return m_Value.begin(); }
375 {
return m_Value.end(); }
382 {
return m_Value.end(); }
Definition: VectorValue.hpp:118
void writeQuotedToStream(std::ostream &OutStm) const
Definition: MapValue.hpp:177
void setVectorValue(const std::string &Key, const VectorValue &Val)
Definition: MapValue.hpp:225
Value * clone() const
Definition: MapValue.hpp:172
MatrixValue getMatrixValue(const std::string &Key) const
Definition: MapValue.hpp:309
const MatrixValue & asMatrixValue() const
void setMapValue(const std::string &Key, const MapValue &Val)
Definition: MapValue.hpp:241
VectorValue getVectorValue(const std::string &Key) const
Definition: MapValue.hpp:301
Definition: CompoundValue.hpp:50
MapValue getMapValue(const std::string &Key) const
Definition: MapValue.hpp:317
const MapValue & asMapValue() const
bool isKeyExist(const std::string &Key) const
Definition: MapValue.hpp:343
double getDouble(const std::string &Key) const
Definition: MapValue.hpp:269
Type getType() const
Definition: MapValue.hpp:169
Definition: MapValue.hpp:134
Definition: DoubleValue.hpp:102
unsigned long getSize() const
Definition: MapValue.hpp:330
std::string getString(const std::string &Key) const
Definition: MapValue.hpp:293
const_iterator end() const
Definition: MapValue.hpp:381
const_iterator begin() const
Definition: MapValue.hpp:367
Map_t::const_iterator const_iterator
Definition: MapValue.hpp:142
bool getBoolean(const std::string &Key) const
Definition: MapValue.hpp:285
long getInteger(const std::string &Key) const
Definition: MapValue.hpp:277
Definition: BooleanValue.hpp:103
unsigned long size() const
Definition: MapValue.hpp:336
iterator begin()
Definition: MapValue.hpp:360
Definition: StringValue.hpp:91
Type
Definition: Value.hpp:68
MapValue(const Map_t &Val)
Definition: MapValue.hpp:162
const VectorValue & asVectorValue() const
void setBoolean(const std::string &Key, const bool &Val)
Definition: MapValue.hpp:209
void setMatrixValue(const std::string &Key, const MatrixValue &Val)
Definition: MapValue.hpp:233
void setDouble(const std::string &Key, const double &Val)
Definition: MapValue.hpp:192
void setString(const std::string &Key, const std::string &Val)
Definition: MapValue.hpp:217
Map_t::iterator iterator
Definition: MapValue.hpp:140
Definition: MatrixValue.hpp:114
std::map< std::string, std::shared_ptr< Value > > Map_t
Definition: MapValue.hpp:138
#define OPENFLUID_API
Definition: dllexport.hpp:87
Definition: IntegerValue.hpp:105
iterator end()
Definition: MapValue.hpp:374
MapValue()
Definition: MapValue.hpp:155
void setInteger(const std::string &Key, const long &Val)
Definition: MapValue.hpp:201