Annotation of researchv10no/cmd/cfront/libC/oiostream/strstream.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.