libpqxx
7.9.0
|
Streambuf to use large objects in standard I/O streams. More...
#include <largeobject.hxx>
Public Types | |
using | char_type = CHAR |
using | traits_type = TRAITS |
using | int_type = typename traits_type::int_type |
using | pos_type = typename traits_type::pos_type |
using | off_type = typename traits_type::off_type |
using | openmode = largeobjectaccess::openmode |
using | seekdir = largeobjectaccess::seekdir |
Public Member Functions | |
largeobject_streambuf (dbtransaction &t, largeobject o, openmode mode=default_mode, size_type buf_size=512) | |
largeobject_streambuf (dbtransaction &t, oid o, openmode mode=default_mode, size_type buf_size=512) | |
virtual | ~largeobject_streambuf () noexcept |
void | process_notice (zview const &s) |
For use by large object stream classes. More... | |
Static Public Attributes | |
static constexpr auto | default_mode |
Default open mode: in, out, binary. More... | |
Protected Member Functions | |
virtual int | sync () override |
virtual pos_type | seekoff (off_type offset, seekdir dir, openmode) override |
virtual pos_type | seekpos (pos_type pos, openmode) override |
virtual int_type | overflow (int_type ch) override |
virtual int_type | overflow () |
virtual int_type | underflow () override |
Streambuf to use large objects in standard I/O streams.
The standard streambuf classes provide uniform access to data storage such as files or string buffers, so they can be accessed using standard input or output streams. This streambuf implementation provided similar access to large objects, so they could be read and written using the same stream classes.
This functionality was considered too fragile and complex, so it has been replaced with a single, much simpler class.
using pqxx::largeobject_streambuf< CHAR, TRAITS >::char_type = CHAR |
using pqxx::largeobject_streambuf< CHAR, TRAITS >::int_type = typename traits_type::int_type |
using pqxx::largeobject_streambuf< CHAR, TRAITS >::off_type = typename traits_type::off_type |
using pqxx::largeobject_streambuf< CHAR, TRAITS >::openmode = largeobjectaccess::openmode |
using pqxx::largeobject_streambuf< CHAR, TRAITS >::pos_type = typename traits_type::pos_type |
using pqxx::largeobject_streambuf< CHAR, TRAITS >::seekdir = largeobjectaccess::seekdir |
using pqxx::largeobject_streambuf< CHAR, TRAITS >::traits_type = TRAITS |
pqxx::largeobject_streambuf< CHAR, TRAITS >::largeobject_streambuf | ( | dbtransaction & | t, |
largeobject | o, | ||
openmode | mode = default_mode , |
||
size_type | buf_size = 512 |
||
) |
pqxx::largeobject_streambuf< CHAR, TRAITS >::largeobject_streambuf | ( | dbtransaction & | t, |
oid | o, | ||
openmode | mode = default_mode , |
||
size_type | buf_size = 512 |
||
) |
|
virtualnoexcept |
|
protectedvirtual |
References pqxx::largeobject_streambuf< CHAR, TRAITS >::overflow().
Referenced by pqxx::largeobject_streambuf< CHAR, TRAITS >::overflow().
|
overrideprotectedvirtual |
References pqxx::internal::cmp_less_equal().
void pqxx::largeobject_streambuf< CHAR, TRAITS >::process_notice | ( | zview const & | s | ) |
For use by large object stream classes.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
|
staticconstexpr |
Default open mode: in, out, binary.