8 namespace Databoard {
\r
11 struct ValueComparison {
\r
12 bool operator()(Value* const &a, Value* const &b) const;
\r
15 typedef std::map<Value*, Value*, ValueComparison> MKVMap;
\r
17 class DATABOARD_API MapValue : public Value {
\r
19 MapValue(Databoard::Type::DataType* dataBoard);
\r
20 virtual ~MapValue();
\r
22 virtual std::string writeOut(int indent = 0);
\r
23 virtual bool equals(const Value* other);
\r
24 virtual std::string isValid();
\r
26 bool put(Value* key, Value* value);
\r
29 Value* get(Value* key);
\r
30 bool containsKey(Value* key);
\r
31 Value* remove(Value* key);
\r
34 // startkey inclusive, endkey exclusive
\r
35 // https://www.simantics.org/wiki/index.php/Databoard_Specification#Order
\r
36 void removeRange(Value* startKey, Value* endKey);
\r
38 Value* getCeiling(Value* key);
\r
39 Value* getFlooring(Value* key);
\r
40 Value* getHighest();
\r
42 Value* getHigher(Value* key);
\r
43 Value* getLower(Value* key);
\r