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

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

`#include <largeobject.hxx>`

Inheritance diagram for pqxx::largeobject_streambuf< CHAR, TRAITS >:

## Public Types

typedef CHAR | char_type
typedef TRAITS | traits_type
typedef traits_type::int_type | int_type
typedef streamoff | off_type
typedef streampos | pos_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 () throw ()
void | process_notice (const std::string &s)
| For use by large object stream classes. More...
virtual int | sync ()

## Protected Member Functions

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

## 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

## char_type

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

typedef CHAR pqxx::largeobject_streambuf< CHAR, TRAITS >::char_type

## int_type

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

typedef traits_type::int_type pqxx::largeobject_streambuf< CHAR, TRAITS >::int_type

## off_type

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

typedef streamoff pqxx::largeobject_streambuf< CHAR, TRAITS >::off_type

## openmode

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

typedef largeobjectaccess::openmode pqxx::largeobject_streambuf< CHAR, TRAITS >::openmode

## pos_type

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

typedef streampos pqxx::largeobject_streambuf< CHAR, TRAITS >::pos_type

## seekdir

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

typedef largeobjectaccess::seekdir pqxx::largeobject_streambuf< CHAR, TRAITS >::seekdir

## traits_type

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

typedef TRAITS pqxx::largeobject_streambuf< CHAR, TRAITS >::traits_type

## Constructor & Destructor Documentation

## largeobject_streambuf() [1/2]

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`
| ) |  |

## largeobject_streambuf() [2/2]

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`
| ) |  |

## ~largeobject_streambuf()

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

virtual pqxx::largeobject_streambuf< CHAR, TRAITS >::~largeobject_streambuf | ( |  | ) |
throw | ( |
| ) |  |

virtual

## Member Function Documentation

## overflow()

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

## process_notice()

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.

## seekoff()

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

## seekpos()

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

## sync()

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

virtual int pqxx::largeobject_streambuf< CHAR, TRAITS >::sync | ( |  | ) |

virtual

## underflow()

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:

- largeobject.hxx