Savarese Software Research Corporation
database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader > Struct Template Reference

#include <RowOperations.h>

Inheritance diagram for database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >:

List of all members.

Public Types

typedef Row row_type
typedef std::pair< bool, row_typefind_result_type
typedef ValueBinder binder_type
typedef ValueLoader loader_type

Public Member Functions

 RowOperationsReadOnly (Database &db, const binder_type &binder=DefaultValueBinder(), const loader_type &loader=DefaultValueLoader(), const bool explicit_columns=ImplicitColumns, const string &table_name=row_type::table_name())
bool exists (const typename row_type::primary_key_type &key) SSRC_DECL_THROW(DatabaseException)
bool exists (const row_type &row) SSRC_DECL_THROW(DatabaseException)
template<typename... P>
bool exists (const P &...p) SSRC_DECL_THROW(DatabaseException)
find_result_type find (const typename row_type::primary_key_type &key) SSRC_DECL_THROW(DatabaseException)
find_result_type find (const row_type &row) SSRC_DECL_THROW(DatabaseException)
bool find (const typename row_type::primary_key_type &key, row_type &result_row) SSRC_DECL_THROW(DatabaseException)
bool find (const row_type &row, row_type &result_row) SSRC_DECL_THROW(DatabaseException)
template<typename... P>
find_result_type find (const P &...p) SSRC_DECL_THROW(DatabaseException)

Public Attributes

prepared_statement_ptr find_statement
prepared_statement_ptr exists_statement
binder_type binder
loader_type loader

Static Public Attributes

static const bool ImplicitColumns = false
static const bool ExplicitColumns = true

Static Protected Member Functions

static string select_columns_expression (bool explicit_columns)

Detailed Description

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
struct database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >

Definition at line 142 of file RowOperations.h.


Member Typedef Documentation

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
typedef ValueBinder database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::binder_type

Definition at line 145 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
typedef std::pair<bool, row_type> database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::find_result_type

Definition at line 144 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
typedef ValueLoader database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::loader_type

Definition at line 146 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
typedef Row database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::row_type

Definition at line 143 of file RowOperations.h.


Constructor & Destructor Documentation

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::RowOperationsReadOnly ( Database db,
const binder_type binder = DefaultValueBinder(),
const loader_type loader = DefaultValueLoader(),
const bool  explicit_columns = ImplicitColumns,
const string &  table_name = row_type::table_name() 
) [inline]

Definition at line 171 of file RowOperations.h.

References database::Database::prepare().


Member Function Documentation

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
bool database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::exists ( const typename row_type::primary_key_type &  key) [inline]

Definition at line 195 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
bool database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::exists ( const row_type row) [inline]

Definition at line 204 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
template<typename... P>
bool database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::exists ( const P &...  p) [inline]

Definition at line 212 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
find_result_type database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::find ( const typename row_type::primary_key_type &  key) [inline]

Definition at line 219 of file RowOperations.h.

References database::value().

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
find_result_type database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::find ( const row_type row) [inline]

Definition at line 234 of file RowOperations.h.

References database::QueryResult::result_set, and database::value().

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
bool database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::find ( const typename row_type::primary_key_type &  key,
row_type result_row 
) [inline]

Definition at line 247 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
bool database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::find ( const row_type row,
row_type result_row 
) [inline]

Definition at line 263 of file RowOperations.h.

References database::QueryResult::result_set.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
template<typename... P>
find_result_type database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::find ( const P &...  p) [inline]

Definition at line 279 of file RowOperations.h.

References database::QueryResult::result_set, and database::value().

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
static string database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::select_columns_expression ( bool  explicit_columns) [inline, static, protected]

Definition at line 157 of file RowOperations.h.


Member Data Documentation

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
binder_type database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::binder

Definition at line 152 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
prepared_statement_ptr database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::exists_statement

Definition at line 151 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
const bool database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::ExplicitColumns = true [static]

Definition at line 149 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
prepared_statement_ptr database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::find_statement

Definition at line 151 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
const bool database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::ImplicitColumns = false [static]

Definition at line 148 of file RowOperations.h.

template<typename Row , typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
loader_type database::RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::loader

Definition at line 153 of file RowOperations.h.


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

Savarese Software Research Corporation
Copyright © 2006-2011 Savarese Software Research Corporation. All rights reserved.