The class templates basic_file_source
, basic_file_sink
and basic_file
are wrappers for std::basic_filebuf
which are CopyConstructible and Assignable. They are useful whenever one wants to access a file without managing the lifetime of a standard file stream or stream buffer. This is because when a stream or stream buffer is added to a filtering_streambuf
or filtering_stream
it is stored as a reference which must remain valid until that stream or stream buffer is removed from the chain.
The most common specializations are accessible via the typedefs file_source
, file_sink
, file
, wfile_source
, wfile_sink
and wfile
.
<boost/iostreams/device/file.hpp>
basic_file_source
CopyConstructible and Assignable wrapper for a std::basic_filebuf
opened in read-only mode.
namespace boost { namespace iostreams { template<typename Ch> class basic_file_source { public: typedef Ch char_type; typedef implementation-defined category; basic_file_source( const std::string& path, std::ios_base::openmode mode = std::ios_base::in ); bool is_open() const; ... }; typedef basic_file_source<char> file_source; typedef basic_file_source<wchar_t> wfile_source; } } // End namespace boost::iostreams
Ch | - | The character type. |
basic_file_source::basic_file_source
basic_file_source( const std::string& path,
std::ios_base::openmode mode );
Constructs a basic_file_source
which wraps a std::basic_filebuf
buf
opened as follows:
mode |= std::ios_base::in; mode &= ~std::ios_base::out; buf.open(path.c_str(), mode);
basic_file_source::is_open
bool is_open() const;
Returns true
if the underlying instance of basic_filebuf
was opened successfully.
basic_file_sink
CopyConstructible and Assignable wrapper for a std::basic_filebuf
opened in write-only mode.
namespace boost { namespace iostreams { template<typename Ch> class basic_file_sink { public: typedef Ch char_type; typedef implementation-defined category; basic_file_sink( const std::string& path, std::ios_base::openmode mode = std::ios_base::out ); bool is_open() const; ... }; typedef basic_file_sink<char> file_sink; typedef basic_file_sink<wchar_t> wfile_sink; } } // End namespace boost::iostreams
Ch | - | The character type. |
basic_file_sink::basic_file_sink
basic_file_sink( const std::string& path,
std::ios_base::openmode mode );
Constructs a basic_file_sink
which wraps a std::basic_filebuf
buf
opened as follows:
mode |= std::ios_base::out; mode &= ~std::ios_base::in; buf.open(path.c_str(), mode);
basic_file_sink::is_open
bool is_open() const;
Returns true
if the underlying instance of basic_filebuf
was opened successfully.
basic_file
CopyConstructible and Assignable wrapper for a std::basic_filebuf
opened in read-write mode by default.
namespace boost { namespace iostreams { template<typename Ch> class basic_file { public: typedef Ch char_type; typedef implementation-defined category; basic_file( const std::string& path, std::ios_base::openmode mode = std::ios_base::in | std::ios_base::out ); bool is_open() const; ... }; typedef basic_file<char> file; typedef basic_file<wchar_t> wfile; } } // End namespace boost::iostreams
Ch | - | The character type. |
basic_file_::basic_file
basic_file( const std::string& path,
std::ios_base::openmode mode );
Constructs a basic_file
which wraps a std::basic_filebuf
buf
opened as follows:
mode |= std::ios_base::in | std::ios_base::out; buf.open(path.c_str(), mode);
basic_file::is_open
bool is_open() const;
Returns true
if the underlying instance of basic_filebuf
was opened successfully.
Revised 02 Feb 2008
© Copyright 2008 CodeRage, LLC
© Copyright 2004-2007 Jonathan Turkanis
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)