Annotation of mstools/h/iostream.h, revision 1.1.1.2

1.1       root        1: /***
                      2: *iostream.h - definitions/declarations for iostream classes
                      3: *
1.1.1.2 ! root        4: *      Copyright (c) 1990-1993, Microsoft Corporation.  All rights reserved.
1.1       root        5: *
                      6: *Purpose:
                      7: *      This file defines the classes, values, macros, and functions
                      8: *      used by the iostream classes.
                      9: *      [AT&T C++]
                     10: *
                     11: ****/
                     12: 
                     13: #ifndef _INC_IOSTREAM
                     14: #define _INC_IOSTREAM
                     15: 
                     16: typedef long streamoff, streampos;
                     17: 
                     18: #include <ios.h>               // Define ios.
                     19: 
                     20: #include <streamb.h>           // Define streambuf.
                     21: 
                     22: #include <istream.h>           // Define istream.
                     23: 
                     24: #include <ostream.h>           // Define ostream.
                     25: 
1.1.1.2 ! root       26: // C4505: "unreferenced local function has been removed"
        !            27: #pragma warning(disable:4505) // disable C4505 warning
        !            28: // #pragma warning(default:4505)       // use this to reenable, if desired
        !            29: 
        !            30: // C4103 : "used #pragma pack to change alignment"
        !            31: #pragma warning(disable:4103)  // disable C4103 warning
        !            32: // #pragma warning(default:4103)       // use this to reenable, if desired
        !            33: 
1.1       root       34: // Force word packing to avoid possible -Zp override
                     35: #pragma pack(4)
                     36: 
                     37: class iostream : public istream, public ostream {
                     38: public:
                     39:        iostream(streambuf*);
                     40:        virtual ~iostream();
                     41: protected:
                     42: // consider: make private??
                     43:        iostream();
                     44:        iostream(const iostream&);
                     45: inline iostream& operator=(streambuf*);
                     46: inline iostream& operator=(iostream&);
                     47: private:
                     48:        iostream(ios&);
                     49:        iostream(istream&);
                     50:        iostream(ostream&);
                     51: };
                     52: 
                     53: inline iostream& iostream::operator=(streambuf* _sb) { istream::operator=(_sb); ostream::operator=(_sb); return *this; }
                     54: 
                     55: inline iostream& iostream::operator=(iostream& _strm) { return operator=(_strm.rdbuf()); }
                     56: 
                     57: class Iostream_init {
                     58: public:
                     59:        Iostream_init();
                     60:        Iostream_init(ios &, int =0);   // treat as private
                     61:        ~Iostream_init();
                     62: };
                     63: 
                     64: // used internally
                     65: // static Iostream_init __iostreaminit;        // initializes cin/cout/cerr/clog
                     66: 
                     67: // Restore default packing
                     68: #pragma pack()
                     69: 
                     70: #endif /* !_INC_IOSTREAM */

unix.superglobalmegacorp.com

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