Savarese Software Research Corporation
RowOperations< Row, ValueBinder, ValueLoader > Struct Template Reference

#include <RowOperations.h>

Inheritance diagram for RowOperations< Row, ValueBinder, ValueLoader >:

List of all members.

Public Types

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

Public Member Functions

 WISP_IMPORT_T (super, row_type)
 WISP_IMPORT_T (super, find_result_type)
 WISP_IMPORT_T (super, binder_type)
 WISP_IMPORT_T (super, loader_type)
 RowOperations (Database &db, const binder_type &binder=DefaultValueBinder(), const loader_type &loader=DefaultValueLoader(), const bool explicit_columns=super::ImplicitColumns, const string &table_name=row_type::table_name())
bool insert (const row_type &row) SSRC_DECL_THROW(DatabaseException)
template<typename iterator_type >
unsigned int insert (const iterator_type &begin, const iterator_type &end) SSRC_DECL_THROW(DatabaseException)
bool save (const row_type &row) SSRC_DECL_THROW(DatabaseException)
template<typename iterator_type >
unsigned int save (const iterator_type &begin, const iterator_type &end) SSRC_DECL_THROW(DatabaseException)
unsigned int erase (const typename row_type::primary_key_type &key) SSRC_DECL_THROW(DatabaseException)
unsigned int erase (const row_type &row) SSRC_DECL_THROW(DatabaseException)
template<typename iterator_type >
unsigned int erase_range (const iterator_type &begin, const iterator_type &end) SSRC_DECL_THROW(DatabaseException)
template<typename... P>
unsigned int erase (const P &...p) SSRC_DECL_THROW(DatabaseException)
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 insert_statement
prepared_statement_ptr save_statement
prepared_statement_ptr erase_statement
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 RowOperations< Row, ValueBinder, ValueLoader >

Definition at line 295 of file RowOperations.h.


Member Typedef Documentation

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
typedef ValueBinder RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::binder_type [inherited]

Definition at line 145 of file RowOperations.h.

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

Definition at line 144 of file RowOperations.h.

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
typedef ValueLoader RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::loader_type [inherited]

Definition at line 146 of file RowOperations.h.

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
typedef Row RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::row_type [inherited]

Definition at line 143 of file RowOperations.h.

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
typedef RowOperationsReadOnly<Row, ValueBinder, ValueLoader> RowOperations< Row, ValueBinder, ValueLoader >::super

Definition at line 298 of file RowOperations.h.


Constructor & Destructor Documentation

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

Definition at line 308 of file RowOperations.h.


Member Function Documentation

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
unsigned int RowOperations< Row, ValueBinder, ValueLoader >::erase ( const typename row_type::primary_key_type &  key) [inline]

Definition at line 386 of file RowOperations.h.

Referenced by RowOperations< Member >::erase_range().

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
unsigned int RowOperations< Row, ValueBinder, ValueLoader >::erase ( const row_type row) [inline]

Definition at line 393 of file RowOperations.h.

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
template<typename... P>
unsigned int RowOperations< Row, ValueBinder, ValueLoader >::erase ( const P &...  p) [inline]

Definition at line 411 of file RowOperations.h.

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
template<typename iterator_type >
unsigned int RowOperations< Row, ValueBinder, ValueLoader >::erase_range ( const iterator_type &  begin,
const iterator_type &  end 
) [inline]

Definition at line 400 of file RowOperations.h.

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

Definition at line 195 of file RowOperations.h.

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

Definition at line 204 of file RowOperations.h.

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

Definition at line 212 of file RowOperations.h.

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

Definition at line 219 of file RowOperations.h.

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

Definition at line 234 of file RowOperations.h.

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

Definition at line 247 of file RowOperations.h.

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

Definition at line 263 of file RowOperations.h.

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

Definition at line 279 of file RowOperations.h.

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

Definition at line 352 of file RowOperations.h.

Referenced by RowOperations< Member >::insert().

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
template<typename iterator_type >
unsigned int RowOperations< Row, ValueBinder, ValueLoader >::insert ( const iterator_type &  begin,
const iterator_type &  end 
) [inline]

Definition at line 358 of file RowOperations.h.

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

Definition at line 369 of file RowOperations.h.

Referenced by RowOperations< Member >::save().

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
template<typename iterator_type >
unsigned int RowOperations< Row, ValueBinder, ValueLoader >::save ( const iterator_type &  begin,
const iterator_type &  end 
) [inline]

Definition at line 375 of file RowOperations.h.

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
static string RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::select_columns_expression ( bool  explicit_columns) [inline, static, protected, inherited]
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
RowOperations< Row, ValueBinder, ValueLoader >::WISP_IMPORT_T ( super  ,
row_type   
)
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
RowOperations< Row, ValueBinder, ValueLoader >::WISP_IMPORT_T ( super  ,
find_result_type   
)
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
RowOperations< Row, ValueBinder, ValueLoader >::WISP_IMPORT_T ( super  ,
binder_type   
)
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
RowOperations< Row, ValueBinder, ValueLoader >::WISP_IMPORT_T ( super  ,
loader_type   
)

Member Data Documentation

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
binder_type RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::binder [inherited]
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
prepared_statement_ptr RowOperations< Row, ValueBinder, ValueLoader >::erase_statement
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
prepared_statement_ptr RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::exists_statement [inherited]
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
const bool RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::ExplicitColumns = true [static, inherited]

Definition at line 149 of file RowOperations.h.

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

Definition at line 148 of file RowOperations.h.

template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
prepared_statement_ptr RowOperations< Row, ValueBinder, ValueLoader >::insert_statement
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
loader_type RowOperationsReadOnly< Row, ValueBinder, ValueLoader >::loader [inherited]
template<typename Row, typename ValueBinder = DefaultValueBinder, typename ValueLoader = DefaultValueLoader>
prepared_statement_ptr RowOperations< Row, ValueBinder, ValueLoader >::save_statement

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.