C标准库源代码

源代码在线查看: iostream.h

软件大小: 1707 K
上传用户: yl810406
关键词: 标准库 源代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				/***
				*iostream.h - definitions/declarations for iostream classes
				*
				*       Copyright (c) 1990-1997, Microsoft Corporation.  All rights reserved.
				*
				*Purpose:
				*       This file defines the classes, values, macros, and functions
				*       used by the iostream classes.
				*       [AT&T C++]
				*
				*       [Public]
				*
				****/
				
				#if _MSC_VER > 1000
				#pragma once
				#endif  /* _MSC_VER > 1000 */
				
				#ifdef __cplusplus
				
				#ifndef _INC_IOSTREAM
				#define _INC_IOSTREAM
				
				#if !defined (_WIN32) && !defined (_MAC)
				#error ERROR: Only Mac or Win32 targets supported!
				#endif  /* !defined (_WIN32) && !defined (_MAC) */
				
				#ifndef _CRTBLD
				/* This version of the header files is NOT for user programs.
				 * It is intended for use when building the C runtimes ONLY.
				 * The version intended for public use will not have this message.
				 */
				#error ERROR: Use of C runtime library internal header file.
				#endif  /* _CRTBLD */
				
				#ifdef _MSC_VER
				// Currently, all MS C compilers for Win32 platforms default to 8 byte
				// alignment.
				#pragma pack(push,8)
				
				#include 
				
				#endif  /* _MSC_VER */
				
				#ifndef _INTERNAL_IFSTRIP_
				#include 
				#ifndef _WINSTATIC
				#define _WINSTATIC
				#endif  /* _WINSTATIC */
				
				#endif  /* _INTERNAL_IFSTRIP_ */
				
				/* Define _CRTIMP */
				
				#ifndef _CRTIMP
				#ifdef CRTDLL
				#define _CRTIMP __declspec(dllexport)
				#else  /* CRTDLL */
				#ifdef _DLL
				#define _CRTIMP __declspec(dllimport)
				#else  /* _DLL */
				#define _CRTIMP
				#endif  /* _DLL */
				#endif  /* CRTDLL */
				#endif  /* _CRTIMP */
				
				#ifndef _INTERNAL_IFSTRIP_
				/* Define _CRTIMP1 */
				
				#ifndef _CRTIMP1
				#ifdef CRTDLL1
				#define _CRTIMP1 __declspec(dllexport)
				#else  /* CRTDLL1 */
				#define _CRTIMP1 _CRTIMP
				#endif  /* CRTDLL1 */
				#endif  /* _CRTIMP1 */
				#endif  /* _INTERNAL_IFSTRIP_ */
				
				typedef long streamoff, streampos;
				
				#include                 // Define ios.
				
				#include             // Define streambuf.
				
				#include             // Define istream.
				
				#include             // Define ostream.
				
				#ifdef _MSC_VER
				// C4514: "unreferenced inline function has been removed"
				#pragma warning(disable:4514) // disable C4514 warning
				// #pragma warning(default:4514)        // use this to reenable, if desired
				#endif  /* _MSC_VER */
				
				class _CRTIMP1 iostream : public istream, public ostream {
				public:
				        iostream(streambuf*);
				        virtual ~iostream();
				protected:
				        iostream();
				        iostream(const iostream&);
				inline iostream& operator=(streambuf*);
				inline iostream& operator=(iostream&);
				private:
				        iostream(ios&);
				        iostream(istream&);
				        iostream(ostream&);
				};
				
				inline iostream& iostream::operator=(streambuf* _sb) { istream::operator=(_sb); ostream::operator=(_sb); return *this; }
				
				inline iostream& iostream::operator=(iostream& _strm) { return operator=(_strm.rdbuf()); }
				
				class _CRTIMP1 Iostream_init {
				public:
				        Iostream_init();
				        Iostream_init(ios &, int =0);   // treat as private
				        ~Iostream_init();
				};
				
				// used internally
				// static Iostream_init __iostreaminit; // initializes cin/cout/cerr/clog
				
				#ifdef _MSC_VER
				// Restore previous packing
				#pragma pack(pop)
				#endif  /* _MSC_VER */
				
				#endif  /* _INC_IOSTREAM */
				
				#endif  /* __cplusplus */
							

相关资源