Standard library header <streambuf>
      From cppreference.net
     
     
     Cet en-tête fait partie de la bibliothèque d'Entrée/Sortie .
         
 Classes | 
       ||
| 
         abstrait un périphérique brut
          (modèle de classe)  | 
       ||
         
          
           streambuf
          
         
         | 
        
         
          
           
            std::
            
             basic_streambuf
            
           
          
          
           <
          
          
           char
          
          
           >
          
         
          (typedef)  | 
       |
         
          
           wstreambuf
          
         
         | 
        
         
          
           
            std::
            
             basic_streambuf
            
           
          
          
           <
          
          
           wchar_t
          
          
           >
          
         
          (typedef)  | 
       |
Synopsis
namespace std { template<class CharT, class Traits = char_traits<CharT>> class basic_streambuf; using streambuf = basic_streambuf<char>; using wstreambuf = basic_streambuf<wchar_t>; }
Modèle de classe std::basic_streambuf
namespace std { template<class CharT, class Traits = char_traits<CharT>> class basic_streambuf { public: using char_type = CharT; using int_type = typename Traits::int_type; using pos_type = typename Traits::pos_type; using off_type = typename Traits::off_type; using traits_type = Traits; virtual ~basic_streambuf(); // locales locale pubimbue(const locale& loc); locale getloc() const; // tampon et positionnement basic_streambuf* pubsetbuf(char_type* s, streamsize n); pos_type pubseekoff(off_type off, ios_base::seekdir way, ios_base::openmode which = ios_base::in | ios_base::out); pos_type pubseekpos(pos_type sp, ios_base::openmode which = ios_base::in | ios_base::out); int pubsync(); // zones de lecture et d'écriture // zone de lecture streamsize in_avail(); int_type snextc(); int_type sbumpc(); int_type sgetc(); streamsize sgetn(char_type* s, streamsize n); // remise en arrière int_type sputbackc(char_type c); int_type sungetc(); // zone d'écriture int_type sputc(char_type c); streamsize sputn(const char_type* s, streamsize n); protected: basic_streambuf(); basic_streambuf(const basic_streambuf& rhs); basic_streambuf& operator=(const basic_streambuf& rhs); void swap(basic_streambuf& rhs); // accès à la zone de lecture char_type* eback() const; char_type* gptr() const; char_type* egptr() const; void gbump(int n); void setg(char_type* gbeg, char_type* gnext, char_type* gend); // accès à la zone d'écriture char_type* pbase() const; char_type* pptr() const; char_type* epptr() const; void pbump(int n); void setp(char_type* pbeg, char_type* pend); // fonctions virtuelles // locales virtual void imbue(const locale& loc); // gestion du tampon et positionnement virtual basic_streambuf* setbuf(char_type* s, streamsize n); virtual pos_type seekoff(off_type off, ios_base::seekdir way, ios_base::openmode which = ios_base::in | ios_base::out); virtual pos_type seekpos(pos_type sp, ios_base::openmode which = ios_base::in | ios_base::out); virtual int sync(); // zone de lecture virtual streamsize showmanyc(); virtual streamsize xsgetn(char_type* s, streamsize n); virtual int_type underflow(); virtual int_type uflow(); // remise en arrière virtual int_type pbackfail(int_type c = Traits::eof()); // zone d'écriture virtual streamsize xsputn(const char_type* s, streamsize n); virtual int_type overflow(int_type c = Traits::eof()); }; }
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | S'applique à | Comportement publié | Comportement corrigé | 
|---|---|---|---|
| LWG 56 | C++98 | 
         le type de retour de
         
          showmanyc
         
         était
         
          
           
            int
           
          
         
         dans la synopsis
         | 
        corrigé en streamsize |