Dv::Sql::Row< database_table >::Column Struct Reference

A Row<T>::Column object should be considered as a reference to a Table::Column object. More...

#include <row.h>

Inheritance diagram for Dv::Sql::Row< database_table >::Column:
Inheritance graph
[legend]
Collaboration diagram for Dv::Sql::Row< database_table >::Column:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Column (size_t i)
 Constructor.
const Dv::Sql::Table::Columnconvert () const
 Convert this object to a (reference to a) Table::Column object.
 operator const Dv::Sql::Table::Column & () const
 Convert this object to a (reference to a) Table::Column object.

Detailed Description

template<Dv::Sql::Table::Ref & database_table>
struct Dv::Sql::Row< database_table >::Column

A Row<T>::Column object should be considered as a reference to a Table::Column object.

This class is useful because a Row<T>::Column object can be meaningfully initialized (i.e. with static storage) before the associated database is actually opened while Table::Column objects need an open database.

See also:
Dv::Sql::Table::Column.
Examples:

example-database.C.

Definition at line 130 of file row.h.


Constructor & Destructor Documentation

template<Dv::Sql::Table::Ref & database_table>
Dv::Sql::Row< database_table >::Column::Column ( size_t  i  )  [inline]

Constructor.

Parameters:
i 0-based index of the column

Reimplemented from Dv::Sql::Column.

Definition at line 131 of file row.h.


Member Function Documentation

template<Dv::Sql::Table::Ref & database_table>
const Dv::Sql::Table::Column& Dv::Sql::Row< database_table >::Column::convert (  )  const [inline]

Convert this object to a (reference to a) Table::Column object.

Precondition:
the database_table template parameter has been initialized (which can only be done after opening the database).

Definition at line 136 of file row.h.

References Dv::Sql::Column::index().

Referenced by Dv::Sql::Row< database_table >::Column::operator const Dv::Sql::Table::Column &().

template<Dv::Sql::Table::Ref & database_table>
Dv::Sql::Row< database_table >::Column::operator const Dv::Sql::Table::Column & (  )  const [inline]

Convert this object to a (reference to a) Table::Column object.

Precondition:
the database_table template parameter has been initialized (which can only be done after opening the database).

Note that this conversion function is necessary in order to support select expressions such as in

Returns:
a reference to the Table::Column object that represents this column.
Exceptions:
std::logic_error if the database_table (template parameter) is 0.
See also:
Dv::Sql::Table::Column.
Dv::Sql::SelectExp

Definition at line 158 of file row.h.

References Dv::Sql::Row< database_table >::Column::convert().


The documentation for this struct was generated from the following file:

dvmysql-1.0.3 [17 November, 2010]