/* $Id: tblock.h,v 1.2 1997/03/21 20:20:53 dps Exp $ */ /* Dynamically grown text block */ #ifndef __tblock_h__ #define __tblock_h__ class tblock { private: struct block { int limit; int pos; char *text; struct block *next; }; struct block dummy_block; struct block *head; static const struct block dummy_init; static const int block_size=1024; const char *collect(void) const; public: inline tblock(void) { dummy_block=dummy_init; head=&dummy_block; } tblock(const tblock &); ~tblock(void); void zero(void); int add(char); int add(const char *, int); inline int add(const char *s) { return this->add(s, strlen(s)); } tblock &operator=(const tblock &); operator const char *(); }; #endif