X-Git-Url: https://deadsoftware.ru/gitweb?p=odcread.git;a=blobdiff_plain;f=store.h;h=be351b70ea70092709155aa9b1c2e750d95e7ceb;hp=381cca7907670fe4565ad135eae331d52aa6319d;hb=121a58d72f3b5e537007072f93397f6e6661fb90;hpb=4618e826a4ebe5e60e1d2c419fca7da71657bf9b diff --git a/store.h b/store.h index 381cca7..be351b7 100644 --- a/store.h +++ b/store.h @@ -4,6 +4,8 @@ #include #include +#include + namespace odc { /** @@ -14,6 +16,9 @@ namespace odc { * Stores are used as base types for all objects that must be both extensible and persistent. */ class Store { + private: + INTEGER d_id; + public: static const SHORTCHAR NEWBASE = 0xF0; // (* new base type (level = 0), i.e. not yet in dict *) static const SHORTCHAR NEWEXT = 0xF1; // (* new extension type (level = 1), i.e. not yet in dict *) @@ -23,6 +28,12 @@ namespace odc { static const SHORTCHAR STORE = 0x82; // (* general store *) static const SHORTCHAR ELEM = 0x83; // (* elem store *) static const SHORTCHAR NEWLINK = 0x84; // (* link to another non-elem store in same file *) + + Store(INTEGER id); + + INTEGER getId(); + + /** * PROCEDURE (s: Store) Domain (): Domain * NEW @@ -87,6 +98,8 @@ namespace odc { * s1 = s guaranteed */ // FIXME + + virtual std::string toString() = 0; }; }