X-Git-Url: https://deadsoftware.ru/gitweb?p=odcread.git;a=blobdiff_plain;f=textmodel.h;h=93fa5b7aeba80aabbbddad13534b784484322f11;hp=13a3d56df9803caf546a0907117f9d21e79e84f5;hb=63b438eb6e7c0e06bf37614c5de3c03f25301af5;hpb=9b0fce2b8ea23e4eb23485421e1d80a774c912b3 diff --git a/textmodel.h b/textmodel.h index 13a3d56..93fa5b7 100644 --- a/textmodel.h +++ b/textmodel.h @@ -20,6 +20,31 @@ namespace odc { virtual void internalize(Reader &reader); }; + class TextPiece { + public: + const size_t d_len; + TextPiece(size_t len); + virtual void read(Reader &reader) = 0; + }; + + class LongPiece : public TextPiece { + public: + LongPiece(size_t len); + virtual void read(Reader &reader); + }; + + class ShortPiece : public TextPiece { + public: + ShortPiece(size_t len); + virtual void read(Reader &reader); + }; + + class ViewPiece : public TextPiece { + public: + ViewPiece(); + virtual void read(Reader &reader); + }; + class StdTextModel : public TextModel { private: static const std::string TYPENAME;