pqxx::result::tuple Class Reference

Reference to one row in a result. More...

#include <result.hxx>

Inheritance diagram for pqxx::result::tuple:

Inheritance graph
[legend]

List of all members.

Public Types

typedef unsigned int size_type
typedef signed int difference_type
typedef const_fielditerator const_iterator
typedef const_iterator iterator
typedef field reference
typedef const_fielditerator pointer
typedef const_reverse_fielditerator const_reverse_iterator
typedef const_reverse_iterator reverse_iterator

Public Member Functions

 tuple (const result *r, result::size_type i) throw ()
 ~tuple () throw ()
const_iterator begin () const throw ()
const_iterator end () const throw ()
size_type size () const throw ()
void swap (tuple &) throw ()
result::size_type rownumber () const throw ()
result::size_type num () const
tuple slice (size_type Begin, size_type End) const
bool empty () const throw ()
Comparison
bool operator== (const tuple &) const throw ()
bool operator!= (const tuple &rhs) const throw ()
Field access
reference front () const throw ()
reference back () const throw ()
const_reverse_fielditerator rbegin () const
const_reverse_fielditerator rend () const
reference operator[] (size_type i) const throw ()
reference operator[] (int i) const throw ()
reference operator[] (const char f[]) const
reference operator[] (const std::string &s) const
reference at (size_type) const throw (range_error)
reference at (int i) const throw (range_error)
reference at (const char[]) const
reference at (const std::string &s) const
Column information
size_type column_number (const std::string &ColName) const
 Number of given column (throws exception if it doesn't exist).
size_type column_number (const char[]) const
 Number of given column (throws exception if it doesn't exist).
oid column_type (size_type ColNum) const
 Type of given column.
oid column_type (int ColNum) const
 Type of given column.
oid column_type (const std::string &ColName) const
 Type of given column.
oid column_type (const char ColName[]) const
 Type of given column.
oid column_table (size_type ColNum) const
 What table did this column come from? Requires PostgreSQL 7.4 C API.
oid column_table (int ColNum) const
 What table did this column come from? Requires PostgreSQL 7.4 C API.
oid column_table (const std::string &ColName) const
 What table did this column come from? Requires PostgreSQL 7.4 C API.
size_type table_column (size_type ColNum) const
 What column number in its table did this result column come from?
size_type table_column (int ColNum) const
 What column number in its table did this result column come from?
size_type table_column (const std::string &ColName) const
 What column number in its table did this result column come from?

Protected Attributes

const resultm_Home
result::size_type m_Index
size_type m_Begin
size_type m_End

Friends

class field


Detailed Description

Reference to one row in a result.

A tuple represents one row (also called a tuple) in a query result set. It also acts as a container mapping column numbers or names to field values (see below):

        cout << tuple["date"].c_str() << ": " << tuple["name"].c_str() << endl;

The tuple itself acts like a (non-modifyable) container, complete with its own const_iterator and const_reverse_iterator.


Member Typedef Documentation

typedef unsigned int pqxx::result::tuple::size_type

Reimplemented in pqxx::result::const_iterator.

Reimplemented in pqxx::result::const_iterator.

Reimplemented in pqxx::result::const_iterator.

Reimplemented in pqxx::result::const_iterator.


Constructor & Destructor Documentation

pqxx::result::tuple::tuple ( const result r,
result::size_type  i 
) throw ()

Deprecated:
Do not use this constructor. It will become private.

pqxx::result::tuple::~tuple (  )  throw ()


Member Function Documentation

bool pqxx::result::tuple::operator== ( const tuple rhs  )  const throw ()

bool pqxx::result::tuple::operator!= ( const tuple rhs  )  const throw ()

const_iterator pqxx::result::tuple::begin (  )  const throw ()

Referenced by rend().

const_iterator pqxx::result::tuple::end (  )  const throw ()

Referenced by rbegin().

reference pqxx::result::tuple::front (  )  const throw ()

reference pqxx::result::tuple::back (  )  const throw ()

result::tuple::const_reverse_iterator pqxx::result::tuple::rbegin (  )  const

References end().

result::tuple::const_reverse_iterator pqxx::result::tuple::rend (  )  const

References begin().

reference pqxx::result::tuple::operator[] ( size_type  i  )  const throw ()

Referenced by at().

reference pqxx::result::tuple::operator[] ( int  i  )  const throw ()

reference pqxx::result::tuple::operator[] ( const char  f[]  )  const

reference pqxx::result::tuple::operator[] ( const std::string &  s  )  const

pqxx::result::field pqxx::result::tuple::at ( size_type  i  )  const throw (range_error)

References operator[](), and size().

reference pqxx::result::tuple::at ( int  i  )  const throw (range_error)

pqxx::result::field pqxx::result::tuple::at ( const   char[]  )  const

References column_number(), field, and m_Begin.

reference pqxx::result::tuple::at ( const std::string &  s  )  const

size_type pqxx::result::tuple::size (  )  const throw ()

Referenced by at(), and slice().

void pqxx::result::tuple::swap ( tuple rhs  )  throw ()

result::size_type pqxx::result::tuple::rownumber (  )  const throw ()

size_type pqxx::result::tuple::column_number ( const std::string &  ColName  )  const

Number of given column (throws exception if it doesn't exist).

Referenced by at().

pqxx::result::tuple::size_type pqxx::result::tuple::column_number ( const   char[]  )  const

Number of given column (throws exception if it doesn't exist).

References pqxx::result::column_name(), pqxx::result::column_number(), m_Begin, m_End, m_Home, and pqxx::result::result().

oid pqxx::result::tuple::column_type ( size_type  ColNum  )  const

Type of given column.

oid pqxx::result::tuple::column_type ( int  ColNum  )  const

Type of given column.

oid pqxx::result::tuple::column_type ( const std::string &  ColName  )  const

Type of given column.

oid pqxx::result::tuple::column_type ( const char  ColName[]  )  const

Type of given column.

oid pqxx::result::tuple::column_table ( size_type  ColNum  )  const

What table did this column come from? Requires PostgreSQL 7.4 C API.

Only defined if the libpqxx library was compiled against a libpq version that supports the PQftable function.

If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The PQftable function first became available in PostgreSQL 7.4.

oid pqxx::result::tuple::column_table ( int  ColNum  )  const

What table did this column come from? Requires PostgreSQL 7.4 C API.

Only defined if the libpqxx library was compiled against a libpq version that supports the PQftable function.

If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The PQftable function first became available in PostgreSQL 7.4.

oid pqxx::result::tuple::column_table ( const std::string &  ColName  )  const

What table did this column come from? Requires PostgreSQL 7.4 C API.

Only defined if the libpqxx library was compiled against a libpq version that supports the PQftable function.

If you get a link error saying this function is undefined, that must be because libpqxx was compiled against an older version of libpq. The PQftable function first became available in PostgreSQL 7.4.

size_type pqxx::result::tuple::table_column ( size_type  ColNum  )  const

What column number in its table did this result column come from?

A meaningful answer can be given only if the column in question comes directly from a column in a table. If the column is computed in any other way, a logic_error will be thrown.

Parameters:
ColNum a zero-based column number in this result set
Returns:
a zero-based column number in originating table
Requires libpq from PostgreSQL 7.4 or better, as well as a server version of at least 7.4.

size_type pqxx::result::tuple::table_column ( int  ColNum  )  const

What column number in its table did this result column come from?

size_type pqxx::result::tuple::table_column ( const std::string &  ColName  )  const

What column number in its table did this result column come from?

result::size_type pqxx::result::tuple::num (  )  const

pqxx::result::tuple pqxx::result::tuple::slice ( size_type  Begin,
size_type  End 
) const

Produce a slice of this tuple, containing the given range of columns.

The slice runs from the range's starting column to the range's end column, exclusive. It looks just like a normal result tuple, except slices can be empty.

Warning:
Slicing is a relatively new feature, and not all software may be prepared to deal with empty slices. If there is any chance that your program might be creating empty slices and passing them to code that may not be designed with the possibility of empty tuples in mind, be sure to test for that case.

References m_Begin, m_End, pqxx::result::result(), and size().

bool pqxx::result::tuple::empty (  )  const throw ()

References m_Begin, and m_End.


Friends And Related Function Documentation

friend class field [friend]

Referenced by at().


Member Data Documentation

const result* pqxx::result::tuple::m_Home [protected]

Referenced by column_number().

Referenced by at(), column_number(), empty(), and slice().

Referenced by column_number(), empty(), and slice().


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

Generated on Mon Feb 15 18:22:53 2010 for libpqxx by  doxygen 1.5.5