libpqxx  4.0.1
pqxx::binarystring Class Reference

#include <binarystring.hxx>

Inheritance diagram for pqxx::binarystring:
pqxx::internal::PQAlloc< unsigned char, pqxx::internal::freemallocmem_templated< unsigned char > >

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_typeconst_reference
typedef const value_typeconst_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_typedata () 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 ()
PQAllocoperator= (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

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
Fthe 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: