# pqxx::basic_lostream< CHAR, TRAITS > Class Template Reference

Stream that reads and writes a large object. 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

## Public Member Functions

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

## 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 pqxx::basic_lostream< CHAR, TRAITS >::traits_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::pos_type pqxx::basic_lostream< CHAR, TRAITS >::pos_type

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

typedef traits_type::off_type pqxx::basic_lostream< CHAR, TRAITS >::off_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` |
| ) |  |  |

Create a basic_lostream.

Parameters:

  | T | Transaction in which this stream is to exist
  | O | Large object to access
  | BufSize | Size 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` |
| ) |  |  |

Create a basic_lostream.

Parameters:

  | T | Transaction in which this stream is to exist
  | O | Large object to access
  | BufSize | Size of buffer to use internally (optional)

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

pqxx::basic_lostream< CHAR, TRAITS >::~basic_lostream | ( |  | ) |

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

- largeobject.hxx