libpqxx: pqxx::binarystring Class Reference

libpqxx 4.0.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Related Functions | List of all members
pqxx::binarystring Class Reference

`#include <binarystring.hxx>`

Inheritance diagram for pqxx::binarystring:

## Public Types
typedef content_type | char_type
typedef std::char_traits < char_type >::char_type | value_type
typedef size_t | size_type
typedef long | difference_type
typedef const value_type & | const_reference
typedef const value_type * | const_pointer
typedef const_pointer | const_iterator

## Public Member Functions
| binarystring (const field &)
| Read and unescape bytea field.
| binarystring (const std::string &)
| Copy binary data from std::string.
| binarystring (const void *, size_t)
| Copy binary data of given length straight out of memory.
size_type | size () const throw ()
| Size of converted string in bytes.
size_type | length () const throw ()
| Size of converted string in bytes.
bool | empty () const throw ()
const_iterator | begin () const throw ()
const_iterator | end () const throw ()
const_reference | front () const throw ()
const_reference | back () const throw ()
const value_type * | data () const throw ()
| Unescaped field contents.
const_reference | operator[] (size_type i) const throw ()
bool PQXX_PURE | operator== (const binarystring &) const throw ()
bool | operator!= (const binarystring &rhs) const throw ()
const_reference | at (size_type) const
| Index contained string, checking for valid index.
void | swap (binarystring &)
| Swap contents with other binarystring.
const char * | get () const throw ()
| Raw character buffer (no terminating zero is added)
std::string | str () const
| Read as regular C++ string (may include null characters)

## Related Functions
(Note that these are not member functions.)
std::string | escape_binary (const std::string &bin)
| Escape binary string for inclusion in SQL.
std::string | escape_binary (const char bin[])
| Escape binary string for inclusion in SQL.
std::string | escape_binary (const char bin[], size_t len)
| Escape binary string for inclusion in SQL.
std::string | escape_binary (const unsigned char bin[])
| Escape binary string for inclusion in SQL.
std::string | escape_binary (const unsigned char bin[], size_t len)
| Escape binary string for inclusion in SQL.

## Additional Inherited Members
Private Types inherited from pqxx::internal::PQAlloc< unsigned char, pqxx::internal::freemallocmem_templated< unsigned char > >
typedef unsigned char | content_type
Private Member Functions inherited from pqxx::internal::PQAlloc< unsigned char, pqxx::internal::freemallocmem_templated< unsigned char > >
| PQAlloc () throw ()
| PQAlloc (const PQAlloc &rhs) throw ()
| PQAlloc (unsigned char *obj) throw ()
| Assume ownership of a pointer.
| ~PQAlloc () throw ()
PQAlloc & | operator= (const PQAlloc &rhs) throw ()
void | swap (PQAlloc &rhs) throw ()
| operator bool () const throw ()
| Is this pointer non-null?
bool | operator! () const throw ()
| Is this pointer null?
unsigned char * | operator-> () const throw (std::logic_error)
| Dereference pointer.
unsigned char & | operator* () const throw (std::logic_error)
| Dereference pointer.
unsigned char * | get () const throw ()
| Obtain underlying pointer.
void | reset () throw ()

## Member Typedef Documentation

typedef content_type pqxx::binarystring::char_type

typedef const_pointer pqxx::binarystring::const_iterator

typedef const value_type* pqxx::binarystring::const_pointer

typedef const value_type& pqxx::binarystring::const_reference

typedef long pqxx::binarystring::difference_type

typedef size_t pqxx::binarystring::size_type

typedef std::char_traits<char_type>::char_type pqxx::binarystring::value_type

## Constructor & Destructor Documentation

pqxx::binarystring::binarystring | ( | const field & | F | ) |
| explicit

Read and unescape bytea field.

The field will be zero-terminated, even if the original bytea field isn't.

Parameters

  F | the field to read; must be a bytea field

References pqxx::field::c_str(), pqxx::internal::PQAlloc< T, DELETER >::operator=(), and pqxx::field::size().

pqxx::binarystring::binarystring | ( | const std::string & | s | ) |
| explicit

Copy binary data from std::string.

References pqxx::internal::PQAlloc< T, DELETER >::operator=().

pqxx::binarystring::binarystring | ( | const void * | binary_data,
|  | size_t | len
| ) |  |

Copy binary data of given length straight out of memory.

References pqxx::internal::PQAlloc< T, DELETER >::operator=().

## Member Function Documentation

pqxx::binarystring::const_reference pqxx::binarystring::at | ( | size_type | n | ) | const

Index contained string, checking for valid index.

References pqxx::to_string().

const_reference pqxx::binarystring::back | ( |  | ) | const throw ()

const_iterator pqxx::binarystring::begin | ( |  | ) | const throw ()

const value_type* pqxx::binarystring::data | ( |  | ) | const throw ()

Unescaped field contents.

Referenced by pqxx::connection_base::quote().

bool pqxx::binarystring::empty | ( |  | ) | const throw ()

const_iterator pqxx::binarystring::end | ( |  | ) | const throw ()

const_reference pqxx::binarystring::front | ( |  | ) | const throw ()

const char* pqxx::binarystring::get | ( |  | ) | const throw ()

Raw character buffer (no terminating zero is added)

Warning
  No terminating zero is added! If the binary data did not end in a null character, you will not find one here.

size_type pqxx::binarystring::length | ( |  | ) | const throw ()

Size of converted string in bytes.

bool pqxx::binarystring::operator!= | ( | const binarystring & | rhs | ) | const throw ()

bool pqxx::binarystring::operator== | ( | const binarystring & | rhs | ) | const throw ()

const_reference pqxx::binarystring::operator[] | ( | size_type | i | ) | const throw ()

size_type pqxx::binarystring::size | ( |  | ) | const throw ()

Size of converted string in bytes.

Referenced by pqxx::connection_base::quote().

string pqxx::binarystring::str | ( |  | ) | const

Read as regular C++ string (may include null characters)

Warning
  libpqxx releases before 3.1 stored the string and returned a reference to it. This is no longer the case! It now creates and returns a new string object. Avoid repeated use of this function; retrieve your string once and keep it in a local variable. Also, do not expect to be able to compare the string's address to that of an earlier invocation.

void pqxx::binarystring::swap | ( | binarystring & | rhs | ) |

Swap contents with other binarystring.

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

- binarystring.hxx
- binarystring.cxx