|
|
1.1 root 1: /*ident "@(#)ctrans:incl/strstream.h 1.1.1.1" */
2: /**************************************************************************
3: Copyright (c) 1984 AT&T
4: All Rights Reserved
5:
6: THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF AT&T
7:
8: The copyright notice above does not evidence any
9: actual or intended publication of such source code.
10:
11: *****************************************************************************/
12: #ifndef STRSTREAMH
13: #define STRSTREAMH
14:
15: #include <iostream.h>
16: class strstreambuf : public streambuf
17: {
18: public:
19: strstreambuf() ;
20: strstreambuf(int) ;
21: strstreambuf(void* (*a)(long), void (*f)(void*)) ;
22: strstreambuf(char* b, int size, char* pstart = 0 ) ;
23: strstreambuf(unsigned char* b, int size, unsigned char* pstart = 0 ) ;
24: void freeze(int n=1) ;
25: char* str() ;
26: ~strstreambuf() ;
27:
28: public: /* virtuals */
29: virtual int doallocate() ;
30: virtual int overflow(int) ;
31: virtual int underflow() ;
32: virtual streambuf*
33: setbuf(char* p, int l) ;
34: virtual streampos
35: seekoff(streamoff,seek_dir,int) ;
36:
37: private:
38: void init(char*,int,char*) ;
39:
40: void* (*afct)(long) ;
41: void (*ffct)(void*) ;
42: int ignore_oflow ;
43: int froozen ;
44: int auto_extend ;
45:
46: public:
47: } ;
48:
49: class strstreambase : public virtual ios {
50: public:
51: strstreambuf* rdbuf() ;
52: protected:
53: strstreambase(char*, int, char*) ;
54: strstreambase() ;
55: ~strstreambase() ;
56: private:
57: strstreambuf buf ;
58: } ;
59:
60: class istrstream : public strstreambase, public istream {
61: public:
62: istrstream(char* str);
63: istrstream(char* str, int size ) ;
64: ~istrstream() ;
65: } ;
66:
67: class ostrstream : public strstreambase, public ostream {
68: public:
69: ostrstream(char* str, int size, int=ios::out) ;
70: ostrstream() ;
71: ~ostrstream() ;
72: char* str() ;
73: int pcount() ;
74: } ;
75:
76:
77: class strstream : public strstreambase, public iostream {
78: public:
79: strstream() ;
80: strstream(char* str, int size, int mode) ;
81: ~strstream() ;
82: char* str() ;
83: } ;
84:
85: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.