//--------------stuff below
here is for our internal use for now
--------------------------------//
(
Operations labelled with * are guaranteed to return normally if
all basic requirements have been met)
- all BoundIO public
member functions
- all BoundIOs public
member functions plus the operations from map<string,
BoundIO> which
provide the strong guarantee
- all CountedPtr<T>
public member functions
- all DB_iterator<DataObj,
ParamObj> public member functions (all iterator
operations, including all members in the derived classes
of DB_iterator<DataObj, ParamObj>, are guaranteed
not to throw if the IOHandler for that iterator always
returns dtl_ios_base::SUPPRESS_ERROR, see section on
IOHandler for further explanation. All iterator
guarantees assume that any IOHandler returns dtl_ios_base::THROW_EXCEPTION
as this worst case scenario defines what formal
guarantees we may have overall on iterators)
- DBView<DataObj,
ParamObj>::select_iterator - all strong
guaranteed methods inherited from DB_iterator<DataObj,
ParamObj> and member functions:
- operator==(const
DBView<DataObj>::select_iterator &other)*
- operator!=(const
DBView<DataObj>::select_iterator &other)*
- operator*()*
- operator->()*
- operator++()*
- swap(DBView<DataObj,
ParamObj>::select_iterator &other)
- operator=(const
DBView<DataObj, ParamObj>::select_iterator
&other)
- DBView<DataObj,
ParamObj>::insert_iterator - all strong
guaranteed methods inherited from DB_iterator<DataObj,
ParamObj> and member functions:
- operator=(const
DataObj &data)*
- operator++()
*
- operator=(DBView<DataObj,
ParamObj>::insert_iterator &other)
- operator*()
- swap(DBView<DataObj,
ParamObj>::insert_iterator &other)
- DBView<DataObj,
ParamObj>::update_iterator - all strong
guaranteed methods inherited from DB_iterator<DataObj,
ParamObj> and member functions:
- operator=(const
DataObj &data)*
- operator++()*
- operator=(DBView<DataObj,
ParamObj>::update_iterator &other)
- operator*()
- swap(DBView<DataObj,
ParamObj>::update_iterator &other)
- DBView<DataObj,
ParamObj>::delete_iterator - all strong guaranteed methods inherited from DB_iterator<DataObj, ParamObj> and member functions:
- operator=(const
DataObj &data)*
- operator++()*
- operator=(DBView<DataObj,
ParamObj>::delete_iterator &other)
- operator*()
- swap(DBView<DataObj,
ParamObj>::delete_iterator &other)
- DBConnection public member functions and all methods inherited from
ValidatedObject:
- CommitAll()
- Connect()
- Connect(const
string &DSN)
- GetDefaultConnection()
- GetHDBC()
- GetHENV()
- RollbackAll()
- SetAutoCommit(bool
auto_commit)
- GetAutoCommit()
- swap(DBConnection
&other)
- all DBEnvironment public member
functions
- all public
member functions of RootException and derived classes and all methods
inherited from std::exception
which carry the
strong guarantee
- DBIndex<View> public member
functions:
- begin()
- empty()
- end()
- equal_range(const
DataObj &data)
- template<class
DataField> find(const DataField &df)
- find(const
DataObj &data)
- GetIndexFields()
- insert(const
DataObj &data)
- erase(const
DataObj &data)
- IsUnique()
- max_size()
- size()
- swap(const
DBIndex<View> &idx)
- DBStmt public member
functions and all methods inherited from ValidatedObject:
- GetConnection()
- GetHSTMT()
- GetQuery()
- Initialize()
- IsAllocated()
- IsReady()
- SetConnection(const
DBConnection &conn)
- swap(DBStmt
&other)
- valid()
- DBView<DataObj,
ParamObj> public
member functions:
- begin()
- end()
- BuildQry(SQLQueryType
qryType)
- GetBCA()
- GetBoundParamCount()
- GetBPA()
- GetInsVal()
- GetSelVal()
- GetColNames()
- GetColumnCount()
- GetConnection()
- GetPostfixClause()
- GetTableNames()
- operator=(const
DBView<DataObj, ParamObj> &other)
- Params()
- ParsePostfixForParams()
- ParseTableList(string
tableList)
- set_io_handler(IOHandler<DataObj,
ParamObj> h)
- template<class
UserHandler> get_io_handler(const UserHandler
*dummy)
- swap(DBView<DataObj,
ParamObj> &other)
- all dtl_iostate public member
functions
- all dtl_ios_base public member
functions
- all DynamicBCA<DataObj,
BCA> public
member functions
- all DynamicDBView<ParamObj,
BPA> public
member functions
- all DynamicIndexedDBView<View>
public
member functions
- DynamicRowBCA public member
functions:
- operator=(const
DynamicRowBCA &other)
- swap(DynamicRowBCA
&other)
- ETI_Map - same as
map<string, TypeTranslation>
- all IndexedDBView<View> public member
functions except range insert() (Excludes call to fetch() -- most members call fetch() to initialize the object if it
is not already built from the database which technically
means the operation has a possibly non-atomic effect on
the object. We exclude fetch() effects for all
methods.)
- all MemPtr public member
functions
- all TypeTranslation public member
functions
- all ValidatedObject public member
functions
- all variant_cc_t public member
functions *
- all variant_field member functions
- all variant_row public member
functions
- all variant_row_fields
public
member functions
- all variant_t public member
functions
- all container const member
functions *
- all constructors, by language definition (included
for completeness)
- all destructors (no throw)*
Basic Client Requirements
- DB_iterator<DataObj,
ParamObj>: (all iterator operations,
including all members in the derived classes of
DB_iterator<DataObj, ParamObj>, are guaranteed not
to throw if the IOHandler for that iterator always
returns dtl_ios_base::SUPPRESS_ERROR, see section on
IOHandler for further explanation. All basic client
requirements below for iterators assume that any
IOHandler returns dtl_ios_base::THROW_EXCEPTION as this
worst case scenario defines what formal requirements we
must have overall on iterators)
- DBView<DataObj, ParamObj>::select_iterator
member
functions:
- operator*(), operator->(),
operator++() - weak guarantee as object mutated -
only consistency maintained
- DBView<DataObj, ParamObj>::insert_iterator
member
functions:
- operator=(const DataObj
&data) - weak guarantee as object mutated -
only consistency maintained - and
DataObj guaranteed copyable
- operator++() - weak
guarantee as object mutated - only consistency
maintained
- DBView<DataObj, ParamObj>::update_iterator
member
functions:
- operator=(const DataObj
&data) - weak guarantee as object mutated -
only consistency maintained - and
DataObj guaranteed copyable
- operator++() - weak
guarantee as object mutated - only consistency
maintained
- DBView<DataObj, ParamObj>::delete_iterator
member
functions:
- operator=(const DataObj
&data) - weak guarantee as object mutated -
only consistency maintained - and
DataObj guaranteed copyable
- operator++() - weak
guarantee as object mutated - only consistency
maintained
- all variant_cc_t
member functions -
guarantee is up to the client for function invokes,
otherwise strong guarantee
- all destructors (no
throw) - weak guarantee only as object mutated
Strong guarantee requirements for other
mutating container operations
Operations
labelled with * are guaranteed to return normally if all
additional requirements have been met)
Definition
of terms
Term |
Meaning, when
applied to a type T
(x and yof
type T) |
"guaranteed
copyable" |
T
z(x) and x = y may not exit via exception. |
"guaranteed
equality-comparable" |
x
== y may not exit via exception. |
"guaranteed
comparable" |
x < y
may not exit via exception. |