Streambuf to use large objects in standard I/O streams. More...
#include <largeobject.hxx>
Public Types | |
typedef CHAR | char_type |
typedef traits_type::int_type | int_type |
typedef streamoff | off_type |
typedef largeobjectaccess::openmode | openmode |
typedef streampos | pos_type |
typedef largeobjectaccess::seekdir | seekdir |
typedef TRAITS | traits_type |
Public Member Functions | |
largeobject_streambuf (dbtransaction &T, largeobject O, openmode mode=PGSTD::ios::in|PGSTD::ios::out, size_type BufSize=512) | |
largeobject_streambuf (dbtransaction &T, oid O, openmode mode=PGSTD::ios::in|PGSTD::ios::out, size_type BufSize=512) | |
virtual | ~largeobject_streambuf () throw () |
void | process_notice (const PGSTD::string &s) |
For use by large object stream classes. More... | |
virtual int | sync () |
Protected Member Functions | |
virtual int_type | overflow (int_type ch=EoF()) |
virtual pos_type | seekoff (off_type offset, seekdir dir, openmode) |
virtual pos_type | seekpos (pos_type pos, openmode) |
virtual int_type | underflow () |
Private Types | |
typedef long | size_type |
Private Member Functions | |
void | initialize (openmode mode) |
Static Private Member Functions | |
template<typename INTYPE > | |
static PGSTD::streampos | AdjustEOF (INTYPE pos) |
Helper: change error position of -1 to EOF (probably a no-op) More... | |
static int_type | EoF () |
Shortcut for traits_type::eof() More... | |
Private Attributes | |
const size_type | m_BufSize |
char_type * | m_G |
largeobjectaccess | m_Obj |
char_type * | m_P |
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 provides similar access to large objects, so they can be read and written using the same stream classes.
typedef CHAR pqxx::largeobject_streambuf< CHAR, TRAITS >::char_type |
typedef traits_type::int_type pqxx::largeobject_streambuf< CHAR, TRAITS >::int_type |
typedef streamoff pqxx::largeobject_streambuf< CHAR, TRAITS >::off_type |
typedef largeobjectaccess::openmode pqxx::largeobject_streambuf< CHAR, TRAITS >::openmode |
typedef streampos pqxx::largeobject_streambuf< CHAR, TRAITS >::pos_type |
typedef largeobjectaccess::seekdir pqxx::largeobject_streambuf< CHAR, TRAITS >::seekdir |
|
private |
typedef TRAITS pqxx::largeobject_streambuf< CHAR, TRAITS >::traits_type |
|
inline |
|
inline |
|
inlinevirtual |
|
inlinestaticprivate |
Helper: change error position of -1 to EOF (probably a no-op)
|
inlinestaticprivate |
Shortcut for traits_type::eof()
|
inlineprivate |
|
inlineprotectedvirtual |
|
inline |
For use by large object stream classes.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlinevirtual |
|
inlineprotectedvirtual |
|
private |
|
private |
|
private |
|
private |