Bdb packages | Design docs | Source docs | Guidelines | Recent releases

Search | Site Map .

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

CdbItr< T > Class Template Reference
[CdbBase]

The generic implementation for the public iterators. More...

#include <CdbItr.hh>

Inheritance diagram for CdbItr< T >:

CdbIItr< T > List of all members.

Public Types

typedef CdbIItr< T >::ValueType ValueType
 Introduce a type definition for the purpose of easier reference.

typedef CdbIItr< T >::InterfaceType InterfaceType

Public Methods

 CdbItr ()
 The default constructor.

 CdbItr (const CdbItr< T > &theItr)
 The copy constructor.

 CdbItr (InterfaceType *thePtr)
 The constructor.

CdbItr & operator= (const CdbItr< T > &theItr)
 The assignment operator.

virtual ~CdbItr ()
 The destructor.

virtual CdbStatus reset ()
 Reset an iterator to its initial state.

virtual bool next ()
 Advance an iterator to the next position.

virtual ValueType value ()
 Obtain the currently reffered value.

virtual bool isValid ()
 Check if an iterator is valid.

virtual InterfaceTypeclone () const
 Make a clone of itself.


Private Methods

CdbItr & operator= (const InterfaceType *thePtr)
 The assignment operator (NOT IMPLEMENTED).

void set (const InterfaceType *thePtr)
 Set up the internal context.


Private Attributes

InterfaceType_myItr
 This is a pointer onto an object providing the real iterator.


Detailed Description

template<typename T>
class CdbItr< T >

The generic implementation for the public iterators.

The class takes the only template parameter: T - a type of the values operated by the iterator.

See also:
CdbIItr

Definition at line 15 of file CdbItr.hh.


Member Typedef Documentation

template<typename T>
typedef CdbIItr<T>::InterfaceType CdbItr< T >::InterfaceType
 

This is a type of a base iterator interface

Reimplemented from CdbIItr< T >.

Definition at line 20 of file CdbItr.hh.

template<typename T>
typedef CdbIItr<T>::ValueType CdbItr< T >::ValueType
 

Introduce a type definition for the purpose of easier reference.

This definition provides access to the type of the parameter used for the concrete template instantiation.

Reimplemented from CdbIItr< T >.

Definition at line 19 of file CdbItr.hh.


Constructor & Destructor Documentation

template<typename T>
CdbItr< T >::CdbItr  
 

The default constructor.

Leaves the iterator in the invalid state.

See also:
CdbIItr::isValid()

Definition at line 15 of file CdbItr.cc.

template<typename T>
CdbItr< T >::CdbItr const CdbItr< T > &    theItr
 

The copy constructor.

More details to come...

Definition at line 21 of file CdbItr.cc.

References CdbItr< T >::set().

template<typename T>
CdbItr< T >::CdbItr InterfaceType   thePtr [explicit]
 

The constructor.

Initialize the iterator by a pointer onto a base class's object.

NOTE: That we're taking over the ownership of the passed object.

Definition at line 28 of file CdbItr.cc.

template<typename T>
CdbItr< T >::~CdbItr   [virtual]
 

The destructor.

Details...

Definition at line 33 of file CdbItr.cc.

References CdbItr< T >::_myItr.


Member Function Documentation

template<typename T>
CdbItr< T >::InterfaceType * CdbItr< T >::clone   [virtual]
 

Make a clone of itself.

See also:
CdbIItr::clone()

Implements CdbIItr< T >.

Definition at line 95 of file CdbItr.cc.

template<typename T>
bool CdbItr< T >::isValid   [virtual]
 

Check if an iterator is valid.

This implements the corresponding method of the base class.

See also:
CdbIItr::isValid

Implements CdbIItr< T >.

Definition at line 88 of file CdbItr.cc.

References CdbItr< T >::_myItr, and InterfaceType::isValid().

template<typename T>
bool CdbItr< T >::next   [virtual]
 

Advance an iterator to the next position.

This implements the corresponding method of the base class.

See also:
CdbIItr::next

Implements CdbIItr< T >.

Definition at line 66 of file CdbItr.cc.

References CdbItr< T >::_myItr, and InterfaceType::next().

Referenced by CdbBdbSRallocatorP< RT, RT_OPERATIONS_POLICY >::allocate(), autoconfigure_folder(), autoconfigure_view(), CdbBdbSViewP::cloneComponents(), CdbBdbSPartitionP::close(), cmd_config(), cmd_ListPartitions(), cmd_objects(), cmd_partitions(), cmd_revisions(), CdbBdbSSimpleClusterP::createIncrement(), CdbBdbSPartitionP::createIncrement(), doTest(), CdbBdbSRallocatorP< RT, RT_OPERATIONS_POLICY >::dump(), find_revision_id(), helper_BrowseFolder(), CdbBdbSPartitionP::instantiate(), CdbToolslsCondCmd::listRevision(), CdbToolslsCmd::listRevision(), CdbToolsList::listRevision(), CdbBdbTestNavigation::navigationAt(), print_cluster_collection(), CdbBdbSRegistryP::updateMainView(), and CdbBdbSCollectionP::~CdbBdbSCollectionP().

template<typename T>
CdbItr< T > & CdbItr< T >::operator= const CdbItr< T > &    theItr
 

The assignment operator.

More details to come...

Definition at line 40 of file CdbItr.cc.

References CdbItr< T >::_myItr, and CdbItr< T >::set().

template<typename T>
CdbItr& CdbItr< T >::operator= const InterfaceType   thePtr [private]
 

The assignment operator (NOT IMPLEMENTED).

template<typename T>
CdbStatus CdbItr< T >::reset   [virtual]
 

Reset an iterator to its initial state.

This implements the corresponding method of the base class.

See also:
CdbIItr::reset , CdbStatus

Implements CdbIItr< T >.

Definition at line 58 of file CdbItr.cc.

References CdbItr< T >::_myItr, CdbStatus::Error, and InterfaceType::reset().

template<typename T>
void CdbItr< T >::set const InterfaceType   thePtr [private]
 

Set up the internal context.

Delete the previously held context and make a new one by cloning the passed object.

Definition at line 102 of file CdbItr.cc.

References CdbItr< T >::_myItr, and InterfaceType::clone().

Referenced by CdbItr< T >::CdbItr(), and CdbItr< T >::operator=().

template<typename T>
CdbItr< T >::ValueType CdbItr< T >::value   [virtual]
 

Obtain the currently reffered value.

This implements the corresponding method of the base class.

See also:
CdbIItr::value , CdbIItr::ValueType
Returns:
the current value the iterator is set on

Implements CdbIItr< T >.

Definition at line 74 of file CdbItr.cc.

References CdbItr< T >::_myItr, cout, and InterfaceType::value().

Referenced by CdbBdbSRallocatorP< RT, RT_OPERATIONS_POLICY >::allocate(), autoconfigure_folder(), autoconfigure_view(), CdbBdbSViewP::cloneComponents(), CdbBdbSPartitionP::close(), cmd_config(), cmd_ListPartitions(), cmd_objects(), cmd_partitions(), cmd_revisions(), CdbBdbSSimpleClusterP::createIncrement(), CdbBdbSPartitionP::createIncrement(), doTest(), CdbBdbSRallocatorP< RT, RT_OPERATIONS_POLICY >::dump(), find_revision_id(), helper_BrowseFolder(), CdbBdbSPartitionP::instantiate(), CdbToolslsCondCmd::listRevision(), CdbToolslsCmd::listRevision(), CdbToolsList::listRevision(), CdbBdbTestNavigation::navigationAt(), print_cluster_collection(), CdbBdbSRegistryP::updateMainView(), and CdbBdbSCollectionP::~CdbBdbSCollectionP().


Member Data Documentation

template<typename T>
InterfaceType* CdbItr< T >::_myItr [private]
 

This is a pointer onto an object providing the real iterator.

Definition at line 119 of file CdbItr.hh.

Referenced by CdbItr< T >::isValid(), CdbItr< T >::next(), CdbItr< T >::operator=(), CdbItr< T >::reset(), CdbItr< T >::set(), CdbItr< T >::value(), and CdbItr< T >::~CdbItr().


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

 


BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us

Page Owner: Jacek Becla
Last Update: October 04, 2002