00001 #ifndef DATATYPE_H 00002 #define DATATYPE_H 00003 00004 #include "../DataPointer.h" 00005 #include "../readTypes.h" 00006 #include "../Reporter/Reporter.h" 00007 #include "../Block.h" 00008 00009 class DataType : public Block { 00010 public: 00011 DataType(const DataPointer& nstart); 00012 00013 friend Reporter& operator<<(Reporter& report, const DataType& d); 00014 virtual void printOn(Reporter& report) const = 0; 00015 virtual int size() const = 0; 00016 virtual bool operator==(const DataType& other) const; 00017 virtual bool operator!=(const DataType& other) const; 00018 virtual bool isDefaultValue() const; 00019 }; 00020 00021 #endif