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  

CdbBdbSPartitionIntervalItr Class Reference

Inheritance diagram for CdbBdbSPartitionIntervalItr:

InterfaceType List of all members.

Public Methods

 CdbBdbSPartitionIntervalItr (const Cells &theCells, const BdbTime &theBeginValidityTime, const BdbTime &theEndValidityTime)
virtual ~CdbBdbSPartitionIntervalItr ()
virtual CdbStatus reset ()
 Reset an iterator to its initial state.

void buildNextNode (Cells::iterator theInCurrent, Intervals::iterator theOutCenter, const BdbTime &theBeginTime, const BdbTime &theEndTime)
void buildVectorOfValues ()
bool tryNext ()
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.


Protected Methods

 CdbBdbSPartitionIntervalItr (const CdbBdbSPartitionIntervalItr &theItr)

Private Types

typedef CdbBdbSPartitionCell Cell
typedef CdbBdbSPartitionInterval Interval
typedef std::vector< CellCells
typedef std::list< IntervalIntervals

Private Methods

 CdbBdbSPartitionIntervalItr ()
CdbBdbSPartitionIntervalItr & operator= (const CdbBdbSPartitionIntervalItr &theItr)

Private Attributes

Cells _cells
BdbTime _begin
BdbTime _end
bool _isValid
bool _hasEverBeenAdvanced
bool _valueIsBuilt
Intervals _values
Intervals::iterator _currentValueItr
Interval _currentValue

Member Typedef Documentation

typedef CdbBdbSPartitionCell CdbBdbSPartitionIntervalItr::Cell [private]
 

Definition at line 29 of file CdbBdbSPartitionsLayoutP.cc.

typedef std::vector<Cell> CdbBdbSPartitionIntervalItr::Cells [private]
 

Definition at line 32 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by CdbBdbSPartitionIntervalItr().

typedef CdbBdbSPartitionInterval CdbBdbSPartitionIntervalItr::Interval [private]
 

Definition at line 30 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by buildNextNode().

typedef std::list<Interval> CdbBdbSPartitionIntervalItr::Intervals [private]
 

Definition at line 33 of file CdbBdbSPartitionsLayoutP.cc.


Constructor & Destructor Documentation

CdbBdbSPartitionIntervalItr::CdbBdbSPartitionIntervalItr   [private]
 

Referenced by clone().

CdbBdbSPartitionIntervalItr::CdbBdbSPartitionIntervalItr const CdbBdbSPartitionIntervalItr &    theItr [inline, protected]
 

Definition at line 43 of file CdbBdbSPartitionsLayoutP.cc.

References _begin, _cells, _currentValue, _currentValueItr, _end, _hasEverBeenAdvanced, _isValid, _valueIsBuilt, and _values.

CdbBdbSPartitionIntervalItr::CdbBdbSPartitionIntervalItr const Cells   theCells,
const BdbTime   theBeginValidityTime,
const BdbTime   theEndValidityTime
[inline]
 

Definition at line 57 of file CdbBdbSPartitionsLayoutP.cc.

References _begin, _cells, _end, _hasEverBeenAdvanced, _isValid, _valueIsBuilt, Cells, and false.

virtual CdbBdbSPartitionIntervalItr::~CdbBdbSPartitionIntervalItr   [inline, virtual]
 

Definition at line 70 of file CdbBdbSPartitionsLayoutP.cc.


Member Function Documentation

void CdbBdbSPartitionIntervalItr::buildNextNode Cells::iterator    theInCurrent,
Intervals::iterator    theOutCenter,
const BdbTime   theBeginTime,
const BdbTime   theEndTime
[inline]
 

Definition at line 81 of file CdbBdbSPartitionsLayoutP.cc.

References _cells, _values, CdbBdbSCell::beginValidity, CdbBdbSPartitionCell::cell, cout, CdbBdbSCell::endValidity, CdbEnvironment::getDebugMode(), BdbTime::getGmtSec(), CdbBdbSPartitionCell::id, and Interval.

Referenced by buildVectorOfValues().

void CdbBdbSPartitionIntervalItr::buildVectorOfValues   [inline]
 

Definition at line 285 of file CdbBdbSPartitionsLayoutP.cc.

References _begin, _cells, _currentValueItr, _end, _valueIsBuilt, _values, and buildNextNode().

Referenced by next().

virtual InterfaceType* CdbBdbSPartitionIntervalItr::clone   const [inline, 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

Implements InterfaceType.

Definition at line 342 of file CdbBdbSPartitionsLayoutP.cc.

References CdbBdbSPartitionIntervalItr(), and InterfaceType::InterfaceType.

virtual bool CdbBdbSPartitionIntervalItr::isValid   [inline, 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

Implements InterfaceType.

Definition at line 337 of file CdbBdbSPartitionsLayoutP.cc.

References _isValid.

virtual bool CdbBdbSPartitionIntervalItr::next   [inline, 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

Implements InterfaceType.

Definition at line 307 of file CdbBdbSPartitionsLayoutP.cc.

References _hasEverBeenAdvanced, _isValid, buildVectorOfValues(), and tryNext().

CdbBdbSPartitionIntervalItr& CdbBdbSPartitionIntervalItr::operator= const CdbBdbSPartitionIntervalItr &    theItr [private]
 

virtual CdbStatus CdbBdbSPartitionIntervalItr::reset   [inline, 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

Implements InterfaceType.

Definition at line 73 of file CdbBdbSPartitionsLayoutP.cc.

References _hasEverBeenAdvanced, _isValid, and CdbStatus::Success.

bool CdbBdbSPartitionIntervalItr::tryNext   [inline]
 

Definition at line 298 of file CdbBdbSPartitionsLayoutP.cc.

References _currentValue, _currentValueItr, _values, and result.

Referenced by next().

virtual ValueType CdbBdbSPartitionIntervalItr::value void    [inline, 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

Implements InterfaceType.

Definition at line 329 of file CdbBdbSPartitionsLayoutP.cc.

References _currentValue, _isValid, and InterfaceType::ValueType.


Member Data Documentation

BdbTime CdbBdbSPartitionIntervalItr::_begin [private]
 

Definition at line 351 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by buildVectorOfValues(), and CdbBdbSPartitionIntervalItr().

Cells CdbBdbSPartitionIntervalItr::_cells [private]
 

Definition at line 349 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by buildNextNode(), buildVectorOfValues(), and CdbBdbSPartitionIntervalItr().

Interval CdbBdbSPartitionIntervalItr::_currentValue [private]
 

Definition at line 364 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by CdbBdbSPartitionIntervalItr(), tryNext(), and value().

Intervals::iterator CdbBdbSPartitionIntervalItr::_currentValueItr [private]
 

Definition at line 363 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by buildVectorOfValues(), CdbBdbSPartitionIntervalItr(), and tryNext().

BdbTime CdbBdbSPartitionIntervalItr::_end [private]
 

Definition at line 352 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by buildVectorOfValues(), and CdbBdbSPartitionIntervalItr().

bool CdbBdbSPartitionIntervalItr::_hasEverBeenAdvanced [private]
 

Definition at line 355 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by CdbBdbSPartitionIntervalItr(), next(), and reset().

bool CdbBdbSPartitionIntervalItr::_isValid [private]
 

Definition at line 354 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by CdbBdbSPartitionIntervalItr(), isValid(), next(), reset(), and value().

bool CdbBdbSPartitionIntervalItr::_valueIsBuilt [private]
 

Definition at line 360 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by buildVectorOfValues(), and CdbBdbSPartitionIntervalItr().

Intervals CdbBdbSPartitionIntervalItr::_values [private]
 

Definition at line 362 of file CdbBdbSPartitionsLayoutP.cc.

Referenced by buildNextNode(), buildVectorOfValues(), CdbBdbSPartitionIntervalItr(), and tryNext().


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

 


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

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