--- /dev/null
+#pragma once\r
+\r
+#include "Value.h"\r
+\r
+#include <string>\r
+\r
+namespace Databoard {\r
+ namespace Value {\r
+\r
+ class DATABOARD_API OptionalValue : public Value {\r
+ public:\r
+ OptionalValue(Databoard::Type::DataType* dataBoard);\r
+ virtual ~OptionalValue();\r
+\r
+ virtual std::string writeOut(int indent = 0);\r
+ virtual bool equals(const Value* other);\r
+\r
+ void setValue(Value* value);\r
+ void setNoValue();\r
+\r
+ // Get the value or null if value doesn't exist\r
+ Value* getValue();\r
+ bool hasValue();\r
+\r
+ virtual std::string isValid();\r
+\r
+\r
+ protected:\r
+\r
+ Value* value;\r
+\r
+ };\r
+ }\r
+}\r