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  

CdbIItr< T > Class Template Reference
[CdbBase]

The base interface for the iterator classes. More...

#include <CdbIItr.hh>

Inheritance diagram for CdbIItr< T >:

CdbItr< T > List of all members.

Public Types

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


Public Methods

virtual CdbIItr< T > * clone () const=0
 Make a clone of itself.

virtual ~CdbIItr ()
 The destructor.

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

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

virtual ValueType value ()=0
 Obtain the currently reffered value.

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


Detailed Description

template<typename T>
class CdbIItr< T >

The base interface for the iterator classes.

This is a template base class for the other iterators used in the project. The class is parametrized by the object type to be iterated.

Definition at line 12 of file CdbIItr.hh.


Member Typedef Documentation

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

This is a type of a base iterator interface

Reimplemented in CdbItr< T >, CdbBdbSAbsBtreeItr< K, FCP, ORDER >, CdbBdbSCollectionIdItr, CdbBdbSCollectionNameItr, CdbBdbSConditionAtClusterPItr, CdbBdbSConditionAtFolderPItr, CdbBdbSFolderPItr, CdbBdbSTimeLineNodeItr< V >, CdbItr< CdbBdbSConfigInterval >, CdbItr< const char * >, CdbItr< CdbBdbSCollectionBte >, CdbItr< CdbBdbSPartitionInterval >, CdbItr< BdbTime >, CdbItr< d_UShort >, and CdbItr< CdbBdbSCi >.

Definition at line 18 of file CdbIItr.hh.

template<typename T>
typedef T CdbIItr< 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 in CdbItr< T >, CdbBdbSAbsBtreeItr< K, FCP, ORDER >, CdbBdbSCollectionIdItr, CdbBdbSCollectionNameItr, CdbBdbSConditionAtClusterPItr, CdbBdbSConditionAtFolderPItr, CdbBdbSFolderPItr, CdbBdbSTimeLineNodeItr< V >, CdbItr< CdbBdbSConfigInterval >, CdbItr< const char * >, CdbItr< CdbBdbSCollectionBte >, CdbItr< CdbBdbSPartitionInterval >, CdbItr< BdbTime >, CdbItr< d_UShort >, and CdbItr< CdbBdbSCi >.

Definition at line 25 of file CdbIItr.hh.


Constructor & Destructor Documentation

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

The destructor.

Making the destructor of this clas virtual reinforces the derived classes also have the virtual ones.

Definition at line 11 of file CdbIItr.cc.


Member Function Documentation

template<typename T>
virtual CdbIItr<T>* CdbIItr< T >::clone   [pure virtual]
 

Make a clone of itself.

This method has to be implemented by subclasses. It's meant to provide a clone of the iterator and return a pointer onto a new object.

Returns:
a pointer onto a clone

Implemented in CdbItr< T >, CdbPathNameItr, CdbBdbSAbsBtreeItr< K, FCP, ORDER >, CdbBdbSCollectionIdItr, CdbBdbSCollectionNameItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSConditionAtClusterPItr, CdbBdbSConditionAtFolderPItr, SimpleConfigIterator, CdbBdbSPartitionItr, CdbBdbSFolderPItr, RevisionIdIterator, RevisionNameIterator, CombinedIntervalIterator, CdbBdbSPartitionIntervalItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSTimeLineNodeItr< V >, CdbBdbSConfigItr, CdbBdbWPartitionItr, CdbBdbWRevisionIdItr, CdbBdbWRevisionNameItr, CdbBdbWConfigItr, CdbItr< CdbBdbSConfigInterval >, CdbItr< const char * >, CdbItr< CdbBdbSCollectionBte >, CdbItr< CdbBdbSPartitionInterval >, CdbItr< BdbTime >, CdbItr< d_UShort >, and CdbItr< CdbBdbSCi >.

template<typename T>
virtual bool CdbIItr< T >::isValid   [pure virtual]
 

Check if an iterator is valid.

"Valid" means that an iterator is in the right scope, is pointing onto some valid element and is not past the end of the iterated sequence.

Returns:
true if valid

Implemented in CdbItr< T >, CdbPathNameItr, CdbBdbSAbsBtreeItr< K, FCP, ORDER >, CdbBdbSCollectionIdItr, CdbBdbSCollectionNameItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSConditionAtClusterPItr, CdbBdbSConditionAtFolderPItr, SimpleConfigIterator, CdbBdbSPartitionItr, CdbBdbSFolderPItr, RevisionIdIterator, RevisionNameIterator, CombinedIntervalIterator, CdbBdbSPartitionIntervalItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSTimeLineNodeItr< V >, CdbBdbSConfigItr, CdbBdbWPartitionItr, CdbBdbWRevisionIdItr, CdbBdbWRevisionNameItr, CdbBdbWConfigItr, CdbItr< CdbBdbSConfigInterval >, CdbItr< const char * >, CdbItr< CdbBdbSCollectionBte >, CdbItr< CdbBdbSPartitionInterval >, CdbItr< BdbTime >, CdbItr< d_UShort >, and CdbItr< CdbBdbSCi >.

template<typename T>
virtual bool CdbIItr< T >::next   [pure virtual]
 

Advance an iterator to the next position.

This is the first method to be called upon the initialization of the of the iterator's scope.

Returns:
true if the operation succeded

Implemented in CdbItr< T >, CdbPathNameItr, CdbBdbSAbsBtreeItr< K, FCP, ORDER >, CdbBdbSCollectionIdItr, CdbBdbSCollectionNameItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSConditionAtClusterPItr, CdbBdbSConditionAtFolderPItr, SimpleConfigIterator, CdbBdbSPartitionItr, CdbBdbSFolderPItr, RevisionIdIterator, RevisionNameIterator, CombinedIntervalIterator, CdbBdbSPartitionIntervalItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSTimeLineNodeItr< V >, CdbBdbSConfigItr, CdbBdbWPartitionItr, CdbBdbWRevisionIdItr, CdbBdbWRevisionNameItr, CdbBdbWConfigItr, CdbItr< CdbBdbSConfigInterval >, CdbItr< const char * >, CdbItr< CdbBdbSCollectionBte >, CdbItr< CdbBdbSPartitionInterval >, CdbItr< BdbTime >, CdbItr< d_UShort >, and CdbItr< CdbBdbSCi >.

template<typename T>
virtual CdbStatus CdbIItr< T >::reset   [pure virtual]
 

Reset an iterator to its initial state.

This will reset an iterator to the state it was before the very first call to the CdbIItr::next method.

See also:
CdbIItr::next
Returns:
the completion status

Implemented in CdbItr< T >, CdbPathNameItr, CdbBdbSAbsBtreeItr< K, FCP, ORDER >, CdbBdbSCollectionIdItr, CdbBdbSCollectionNameItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSConditionAtClusterPItr, CdbBdbSConditionAtFolderPItr, SimpleConfigIterator, CdbBdbSPartitionItr, CdbBdbSFolderPItr, RevisionIdIterator, RevisionNameIterator, CombinedIntervalIterator, CdbBdbSPartitionIntervalItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSTimeLineNodeItr< V >, CdbBdbSConfigItr, CdbBdbWPartitionItr, CdbBdbWRevisionIdItr, CdbBdbWRevisionNameItr, CdbBdbWConfigItr, CdbItr< CdbBdbSConfigInterval >, CdbItr< const char * >, CdbItr< CdbBdbSCollectionBte >, CdbItr< CdbBdbSPartitionInterval >, CdbItr< BdbTime >, CdbItr< d_UShort >, and CdbItr< CdbBdbSCi >.

template<typename T>
virtual ValueType CdbIItr< T >::value   [pure virtual]
 

Obtain the currently reffered value.

This operation makes only sense if the previously issued CdbIItr::next operation succeded. Otherwise an undefined value will be returned.

See also:
CdbIItr::next
Returns:
a value of the currently reffered value

Implemented in CdbItr< T >, CdbPathNameItr, CdbBdbSAbsBtreeItr< K, FCP, ORDER >, CdbBdbSCollectionIdItr, CdbBdbSCollectionNameItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSConditionAtClusterPItr, CdbBdbSConditionAtFolderPItr, SimpleConfigIterator, CdbBdbSPartitionItr, CdbBdbSFolderPItr, RevisionIdIterator, RevisionNameIterator, CombinedIntervalIterator, CdbBdbSPartitionIntervalItr, RevisionIdIterator, RevisionNameIterator, CdbBdbSTimeLineNodeItr< V >, CdbBdbSConfigItr, CdbBdbWPartitionItr, CdbBdbWRevisionIdItr, CdbBdbWRevisionNameItr, CdbBdbWConfigItr, CdbItr< CdbBdbSConfigInterval >, CdbItr< const char * >, CdbItr< CdbBdbSCollectionBte >, CdbItr< CdbBdbSPartitionInterval >, CdbItr< BdbTime >, CdbItr< d_UShort >, and CdbItr< CdbBdbSCi >.


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