Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

pqxx::binarystring Class Reference

Reveals "unescaped" version of PostgreSQL bytea string. More...

#include <binarystring.hxx>

Inheritance diagram for pqxx::binarystring:

pqxx::internal::PQAlloc< unsigned char > List of all members.

Public Types

typedef content_type char_type
typedef PGSTD::char_traits<
char_type >::char_type 
value_type
typedef size_t size_type
typedef long difference_type
typedef const value_typeconst_reference
typedef const value_typeconst_pointer
typedef const_pointer const_iterator

Public Member Functions

 binarystring (const result::field &F)
 Read and unescape bytea field.
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_typedata () const throw ()
 Unescaped field contents.
const_reference operator[] (size_type i) const throw ()
bool 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 * c_ptr () const throw ()
 Raw character buffer (no terminating zero is added).
const PGSTD::string & str () const
 Read as regular C++ string (may include null characters).

Detailed Description

Reveals "unescaped" version of PostgreSQL bytea string.

This class represents a postgres-internal buffer containing the original, binary string represented by a field of type bytea. The raw value returned by such a field contains escape sequences for certain characters, which are filtered out by binarystring.

The resulting string is zero-terminated, but may also contain zero bytes (or indeed any other byte value) so don't assume that it can be treated as a C-style string unless you've made sure of this yourself.

The binarystring retains its value even if the result it was obtained from is destroyed, but it cannot be copied or assigned.


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 PGSTD::char_traits<char_type>::char_type pqxx::binarystring::value_type
 


Constructor & Destructor Documentation

pqxx::binarystring::binarystring const result::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


Member Function Documentation

pqxx::binarystring::const_reference pqxx::binarystring::at size_type   )  const
 

Index contained string, checking for valid index.

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

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

const char* pqxx::binarystring::c_ptr  )  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.

Reimplemented from pqxx::internal::PQAlloc< unsigned char >.

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

Unescaped field contents.

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

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

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

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

const string & pqxx::binarystring::str  )  const
 

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

Caches string buffer to speed up repeated reads.

void pqxx::binarystring::swap binarystring  ) 
 

Swap contents with other binarystring.


The documentation for this class was generated from the following files:
Generated on Mon Nov 15 11:28:02 2004 for libpqxx by  doxygen 1.3.9.1