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