pqxx::largeobject_streambuf< CHAR, TRAITS > Class Template Reference

Streambuf to use large objects in standard I/O streams. More...

#include <largeobject.hxx>

List of all members.

Public Types

typedef CHAR char_type
typedef TRAITS traits_type
typedef traits_type::int_type int_type
typedef traits_type::pos_type pos_type
typedef traits_type::off_type off_type
typedef largeobjectaccess::openmode openmode
typedef largeobjectaccess::seekdir seekdir

Public Member Functions

 largeobject_streambuf (dbtransaction &T, largeobject O, openmode mode=std::ios::in|std::ios::out, size_type BufSize=512)
 largeobject_streambuf (dbtransaction &T, oid O, openmode mode=std::ios::in|std::ios::out, size_type BufSize=512)
virtual ~largeobject_streambuf () PQXX_NOEXCEPT
void process_notice (const std::string &s)
 For use by large object stream classes.

Protected Member Functions

virtual int sync () PQXX_OVERRIDE
virtual pos_type seekoff (off_type offset, seekdir dir, openmode) PQXX_OVERRIDE
virtual pos_type seekpos (pos_type pos, openmode) PQXX_OVERRIDE
virtual int_type overflow (int_type ch=EoF()) PQXX_OVERRIDE
virtual int_type underflow () PQXX_OVERRIDE

Detailed Description

template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
class pqxx::largeobject_streambuf< CHAR, TRAITS >

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.

Warning:
This class may not work properly in compiler environments that don't fully support Standard-compliant streambufs, such as g++ 2.95 or older.

Member Typedef Documentation

template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
typedef CHAR pqxx::largeobject_streambuf< CHAR, TRAITS >::char_type
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
typedef traits_type::int_type pqxx::largeobject_streambuf< CHAR, TRAITS >::int_type
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
typedef traits_type::off_type pqxx::largeobject_streambuf< CHAR, TRAITS >::off_type
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
typedef largeobjectaccess::openmode pqxx::largeobject_streambuf< CHAR, TRAITS >::openmode
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
typedef traits_type::pos_type pqxx::largeobject_streambuf< CHAR, TRAITS >::pos_type
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
typedef largeobjectaccess::seekdir pqxx::largeobject_streambuf< CHAR, TRAITS >::seekdir
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
typedef TRAITS pqxx::largeobject_streambuf< CHAR, TRAITS >::traits_type

Constructor & Destructor Documentation

template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
pqxx::largeobject_streambuf< CHAR, TRAITS >::largeobject_streambuf ( dbtransaction T,
largeobject  O,
openmode  mode = std::ios::in|std::ios::out,
size_type  BufSize = 512 
)
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
pqxx::largeobject_streambuf< CHAR, TRAITS >::largeobject_streambuf ( dbtransaction T,
oid  O,
openmode  mode = std::ios::in|std::ios::out,
size_type  BufSize = 512 
)
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
virtual pqxx::largeobject_streambuf< CHAR, TRAITS >::~largeobject_streambuf (  )  [virtual]

Member Function Documentation

template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
virtual int_type pqxx::largeobject_streambuf< CHAR, TRAITS >::overflow ( int_type  ch = EoF()  )  [protected, virtual]
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
void pqxx::largeobject_streambuf< CHAR, TRAITS >::process_notice ( const std::string &  s  ) 

For use by large object stream classes.

template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
virtual pos_type pqxx::largeobject_streambuf< CHAR, TRAITS >::seekoff ( off_type  offset,
seekdir  dir,
openmode   
) [protected, virtual]
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
virtual pos_type pqxx::largeobject_streambuf< CHAR, TRAITS >::seekpos ( pos_type  pos,
openmode   
) [protected, virtual]
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
virtual int pqxx::largeobject_streambuf< CHAR, TRAITS >::sync (  )  [protected, virtual]
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
virtual int_type pqxx::largeobject_streambuf< CHAR, TRAITS >::underflow (  )  [protected, virtual]

The documentation for this class was generated from the following file:

Generated on 16 Mar 2017 for libpqxx by  doxygen 1.6.1