⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ostream.h

📁 早期freebsd实现
💻 H
字号:
// This may look like C code, but it is really -*- C++ -*-/* Copyright (C) 1989, 1992 Free Software Foundation    written by Doug Lea (dl@rocky.oswego.edu)This file is part of the GNU C++ Library.  This library is freesoftware; you can redistribute it and/or modify it under the terms ofthe GNU Library General Public License as published by the FreeSoftware Foundation; either version 2 of the License, or (at youroption) any later version.  This library is distributed in the hopethat it will be useful, but WITHOUT ANY WARRANTY; without even theimplied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE.  See the GNU Library General Public License for more details.You should have received a copy of the GNU Library General PublicLicense along with this library; if not, write to the Free SoftwareFoundation, 675 Mass Ave, Cambridge, MA 02139, USA.*//* *** Version 1.2 -- nearly 100% AT&T 1.2 compatible *** *//* ostream.h now  separately includable */#ifndef _ostream_h#ifdef __GNUG__#pragma interface#endif#define _ostream_h 1/* uncomment the next line to disable    ostream << char *///#define NO_OUTPUT_CHAR#include <File.h>#include <streambuf.h>#include <filebuf.h>#include <Filebuf.h>class istream;class ostream{  friend class istream;protected:  streambuf*    bp;  state_value   state;           // _good/_eof/_fail/_bad  char          ownbuf;          // true if we own *bp  public:                ostream(const char* filename, io_mode m, access_mode a);                ostream(const char* filename, const char* m);                ostream(int filedesc, io_mode m);                ostream(FILE* fileptr);                ostream(int sz, char* buf);                ostream(int filedesc, char* buf, int buflen);                ostream(int filedesc);                ostream(streambuf* s);               ~ostream();  ostream&      open(const char* filename, io_mode m, access_mode a);  ostream&      open(const char* filename, const char* m);  ostream&      open(int  filedesc, io_mode m);  ostream&      open(FILE* fileptr);  ostream&      open(const char* filenam, open_mode m);  ostream&      close();  ostream&      flush();// stream status  int           rdstate();  int           eof();  int           fail();  int           bad();  int           good();// other status queries  int           readable();  int           writable();  int           is_open();                operator void*();  int           operator !();  const char*   name();  char*         bufptr();// error handling  void          error();  void          clear(state_value f = _good); // poorly named  void          set(state_value f); // set corresponding bit  void          unset(state_value); // clear corresponding bit  ostream&      failif(int cond);// unformatted IO  ostream&      put(char  c);  ostream&      put(const char* s);  ostream&      put(const char* s, int slen);           // formatted IO  ostream&      form(const char* fmt, ...);             ostream&      operator << (short  n);  ostream&      operator << (unsigned short n);  ostream&      operator << (int    n);  ostream&      operator << (unsigned int n);  ostream&      operator << (long   n);  ostream&      operator << (unsigned long n);#ifdef __GNUG__  ostream&      operator << (long long n);  ostream&      operator << (unsigned long long n);#endif /* __GNUG__ */  ostream&      operator << (float  n);  ostream&      operator << (double n);  ostream&      operator << (const char* s);  ostream&      operator << (const void* ptr);#ifndef NO_OUTPUT_CHAR  ostream&      operator << (char   c);#endif};extern ostream  cout;            // stdoutextern ostream  cerr;            // stderr#if defined(__OPTIMIZE__) || defined(USE_LIBGXX_INLINES)inline void ostream::clear(state_value flag){  state = flag;}inline void ostream::set(state_value flag){  state = state_value(int(state) | int(flag));}inline void ostream::unset(state_value flag){  state = state_value(int(state) & ~int(flag));}inline int ostream::rdstate(){  return int(state);}inline int ostream::good(){  return state == _good;}inline int ostream::eof(){  return int(state) & int(_eof);}inline int ostream::fail(){  return int(state) & int(_fail);}inline int ostream::bad(){  return int(state) & int(_bad);}inline ostream::operator void*(){  return (state == _good)? this : 0;}inline int ostream::operator !(){  return (state != _good);}inline ostream& ostream::failif(int cond){  if (cond) set(_fail); return *this;}inline int ostream::is_open(){  return bp->is_open();}inline int ostream::readable(){  return 0;}inline int ostream::writable(){  return (bp != 0) && (state == _good);}inline char* ostream::bufptr(){  return bp->base;}inline ostream& ostream::flush(){  bp->overflow(); return *this;}inline ostream& ostream::close(){  bp->overflow(); bp->close();  return *this;}inline ostream& ostream::put(char ch){  return failif((state != _good) || bp->sputc((int)ch &0xff) == EOF);}#ifndef NO_OUTPUT_CHARinline ostream& ostream::operator << (char ch){  return failif((state != _good) || bp->sputc((int)ch &0xff) == EOF);}#endifinline ostream& ostream::put(const char* s){  return failif((state != _good) || bp->sputs(s) == EOF);}inline ostream& ostream::put(const char* s, int len){  return failif((state != _good) || bp->sputsn(s, len) == EOF);}inline ostream& ostream::operator << (const char* s){  return failif((state != _good) || bp->sputs(s) == EOF);}#endif#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -