diff options
Diffstat (limited to 'private/crt32/iostream/iostrini.cxx')
-rw-r--r-- | private/crt32/iostream/iostrini.cxx | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/private/crt32/iostream/iostrini.cxx b/private/crt32/iostream/iostrini.cxx new file mode 100644 index 000000000..e6bb83ba2 --- /dev/null +++ b/private/crt32/iostream/iostrini.cxx @@ -0,0 +1,83 @@ +/*** +*iostrini.cxx - definition and initialization for predefined stream cout. +* +* Copyright (c) 1991-1992, Microsoft Corporation. All rights reserved. +* +*Purpose: +* Definition and initialization of and predefined iostream cout. +* +*Revision History: +* 11-18-91 KRS Created. +* +*******************************************************************************/ +#include <cruntime.h> +#include <internal.h> +#include <iostream.h> +#include <fstream.h> +#pragma hdrstop + +// put contructors in special MS-specific XIFM segment +#pragma warning(disable:4074) // disable init_seg warning +#pragma init_seg(compiler) + +#if ((!defined(_WINDOWS)) || defined(_QWIN)) +ostream_withassign cout(new filebuf(1)); + +static Iostream_init __InitCout(cout,-1); + +#endif + +/*** +*Iostream_init::Iostream_init() - initialize predefined streams +* +*Purpose: +* For compatibility only. Not used. +*Entry: +* +*Exit: +* +*Exceptions: +* +*******************************************************************************/ + Iostream_init::Iostream_init() { } // do nothing + +/*** +*Iostream_init::Iostream_init() - initialize predefined streams +* +*Purpose: +* Initializes predefined streams: cin, cout, cerr, clog; +*Entry: +* pstrm = cin, cout, cerr, or clog +* sflg = 1 if cerr (unit buffered) +* sflg = -1 if cout +* +*Exit: +* +*Exceptions: +* +*******************************************************************************/ + Iostream_init::Iostream_init(ios& pstrm, int sflg) +{ +#if ((!defined(_WINDOWS)) || defined(_QWIN)) + pstrm.delbuf(1); + if (sflg>=0) // make sure not cout + pstrm.tie(&cout); + if (sflg>0) + pstrm.setf(ios::unitbuf); +#endif +} + +/*** +*Iostream_init::~Iostream_init() - destroy predefined streams on exit +* +*Purpose: +* Destroy predefined streams: cin, cout, cerr, clog; +*Entry: +* +*Exit: +* +*Exceptions: +* +*******************************************************************************/ + Iostream_init::~Iostream_init() { } // do nothing + |