#pragma once namespace Databoard { namespace Value { class Value { public: Value(); virtual ~Value() = 0; // meniks tää näin.. }; class Integer : public Value { public: Integer(); Integer(int value); virtual ~Integer(); int getValue(); void setValue(int value); protected: int value; }; class Array : public Value { public: virtual int size() = 0; virtual Value get(int index) = 0; }; class GenericArray : public Array { public: Value get(int index) { return values.get(index); } private: std::vector values; }; class ByteArray : public Array { public: Value get(int index) { return null; } char* getPrimitiveArray() { return null; } private: std::vector values; }; class Double : public Value { public: double getValue() { return value; } private: double value; } } }