class template

<fstream>

std::basic_filebuf

template < class charT, class traits = char_traits<charT> >  class basic_filebuf;

File stream buffer


Stream buffer to read from and write to files.

Constructed without association, these objects are associated to a file by calling member open. Once open, all input/output operations performed on the object are reflected in the associated file.

Objects of this class may internally maintain an intermediate input buffer and/or an intermediate output buffer, where individual characters are read or written by i/o operations. These buffers are synchronized with the contents of the file once filled up, when explicitly requested to do so (sync), or when the object is closed.

Objects of this class may be explicitly made unbuffered by calling member pubsetbuf with both arguments set to zero (see member setbuf): Unbuffered file stream buffers perform the i/o operations directly on the file, without an intermediate buffer.

Access to the associated sequence of characters (i.e., the file) is given to streams by means of the interface offered by the virtual members inherited from basic_streambuf that are overriden in this class:


Template parameters

charT
Character type.
This shall be a non-array POD type.
Aliased as member type basic_filebuf::char_type.
traits
Character traits class that defines essential properties of the characters used by stream objects (see char_traits).
traits::char_type shall be the same as charT.
Aliased as member type basic_filebuf::traits_type.

Template instantiations

filebuf
File stream buffer (class)
wfilebuf
File stream buffer (wide) (class)
These instantiations are declared in <fstream>.

Member types

member typedefinitionnotes
char_typeThe first template parameter (charT)
traits_typeThe second template parameter (traits)defaults to: char_traits<charT>
int_typetraits_type::int_type
pos_typetraits_type::pos_typegenerally, the same as streampos
off_typetraits_type::off_typegenerally, the same as streamoff

Public member functions

(constructor)
Construct object (public member function)
(destructor)
Destruct object (public member function)
operator=
Move-assignment (public member function)
swap
Swap file buffers (public member function)

File association

open
Open file (public member function)
is_open
Check if file is open (public member function)
close
Close file (public member function)

Public member functions inherited from basic_streambuf

Locales:
pubimbue
Imbue locale (public member function)
getloc
Get current locale (public member function)
Buffer management and positioning:
pubsetbuf
Set buffer array (public member function)
pubseekoff
Set internal position pointer to relative position (public member function)
pubseekpos
Set internal position pointer to absolute position (public member function)
pubsync
Synchronize stream buffer (public member function)
Input functions (get):
in_avail
Get number of character available to read (public member function)
snextc
Advance to next position and get character (public member function)
sbumpc
Get current character and advance to next position (public member function)
sgetc
Get current character (public member function)
sgetn
Get sequence of characters (public member function)
sputbackc
Put character back (public member function)
sungetc
Decrease current position (public member function)
Output functions (put):
sputc
Put character and advance to next position (public member function)
sputn
Put sequence of characters (public member function)

Protected virtual function overrides

showmanyc
Get number of characters available (public member function)
underflow
Get character on underflow (protected virtual member function)
uflow
Get character on overflow and advance position (protected virtual member function)
pbackfail
Put character back on underflow (protected virtual member function)
overflow
Put character on overflow (protected virtual member function)
setbuf
Set buffer (protected virtual member function)
seekoff
Set internal position to relative position (protected virtual member function)
seekpos
Set position pointer to absolute position (protected virtual member function)
sync
Synchornize buffer (protected virtual member function)
imbue
Imbue locale (protected virtual member function)

The class also inherits other protected members that are non-virtual or not overridden. See base class basic_streambuf for more details.

Non-member function overloads

swap
Swap file buffers (function template)