libpqxx  v4.0-1
C++ library for PostgreSQL
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
pqxx::basic_lostream< CHAR, TRAITS > Class Template Reference

Stream that reads and writes a large object. More...

#include <largeobject.hxx>

Inheritance diagram for pqxx::basic_lostream< CHAR, TRAITS >:
Collaboration diagram for pqxx::basic_lostream< CHAR, TRAITS >:

Public Types

typedef CHAR char_type
 
typedef traits_type::int_type int_type
 
typedef traits_type::off_type off_type
 
typedef traits_type::pos_type pos_type
 
typedef TRAITS traits_type
 

Public Member Functions

 basic_lostream (dbtransaction &T, largeobject O, largeobject::size_type BufSize=512)
 Create a basic_lostream. More...
 
 basic_lostream (dbtransaction &T, oid O, largeobject::size_type BufSize=512)
 Create a basic_lostream. More...
 
 ~basic_lostream ()
 

Private Types

typedef PGSTD::iostream super
 

Private Attributes

largeobject_streambuf< CHAR,
TRAITS > 
m_Buf
 

Detailed Description

template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
class pqxx::basic_lostream< CHAR, TRAITS >

Stream that reads and writes a large object.

Use this class exactly as you would a std::iostream to read data from, or write data to a large object. All formatting and streaming operations of std::iostream are supported. What you'll typically want to use, however, is the lostream typedef (which defines a basic_lostream for char). This is similar to how e.g. std::fstream is related to std::basic_fstream.

Currently only works for <char, std::char_traits<char> >.

Member Typedef Documentation

template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
typedef CHAR pqxx::basic_lostream< CHAR, TRAITS >::char_type
template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
typedef traits_type::int_type pqxx::basic_lostream< CHAR, TRAITS >::int_type
template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
typedef traits_type::off_type pqxx::basic_lostream< CHAR, TRAITS >::off_type
template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
typedef traits_type::pos_type pqxx::basic_lostream< CHAR, TRAITS >::pos_type
template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
typedef PGSTD::iostream pqxx::basic_lostream< CHAR, TRAITS >::super
private
template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
typedef TRAITS pqxx::basic_lostream< CHAR, TRAITS >::traits_type

Constructor & Destructor Documentation

template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
pqxx::basic_lostream< CHAR, TRAITS >::basic_lostream ( dbtransaction T,
largeobject  O,
largeobject::size_type  BufSize = 512 
)
inline

Create a basic_lostream.

Parameters
TTransaction in which this stream is to exist
OLarge object to access
BufSizeSize of buffer to use internally (optional)
template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
pqxx::basic_lostream< CHAR, TRAITS >::basic_lostream ( dbtransaction T,
oid  O,
largeobject::size_type  BufSize = 512 
)
inline

Create a basic_lostream.

Parameters
TTransaction in which this stream is to exist
OLarge object to access
BufSizeSize of buffer to use internally (optional)
template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
pqxx::basic_lostream< CHAR, TRAITS >::~basic_lostream ( )
inline

Member Data Documentation

template<typename CHAR = char, typename TRAITS = PGSTD::char_traits<CHAR>>
largeobject_streambuf<CHAR,TRAITS> pqxx::basic_lostream< CHAR, TRAITS >::m_Buf
private

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