oasys::DurableIterator Class Reference

#include <DurableStore.h>

Inheritance diagram for oasys::DurableIterator:

oasys::BerkeleyDBIterator oasys::DurableFilterIterator< _filter > oasys::FileSystemIterator oasys::MemoryIterator

List of all members.


Detailed Description

Abstract base class for a table iterator.

Note: It is important that iterators do NOT outlive the tables they point into.

Definition at line 313 of file DurableStore.h.


Public Member Functions

virtual ~DurableIterator ()
virtual int next ()=0
 Advance the pointer.
virtual int get_key (SerializableObject *key)=0
 Unserialize the current element into the given key object.

Constructor & Destructor Documentation

virtual oasys::DurableIterator::~DurableIterator (  )  [inline, virtual]

Definition at line 316 of file DurableStore.h.


Member Function Documentation

virtual int oasys::DurableIterator::next (  )  [pure virtual]

Advance the pointer.

An initialized iterator will be pointing right before the first element in the list, so iteration code will always be:

 MyKeyType key;
 DurableIterator* i = table->itr();
 while (i->next() == 0) 
 {
    i->get(&key);
    // ... do stuff
 }
 
 // Remember to delete the Iterator! Bad things happen if the
 table disappears when the iterator is still open.
 delete_z(i);

Returns:
DS_OK, DS_NOTFOUND if no more elements, DS_ERR if an error occurred while iterating.

Implemented in oasys::BerkeleyDBIterator, oasys::DurableFilterIterator< _filter >, oasys::FileSystemIterator, and oasys::MemoryIterator.

virtual int oasys::DurableIterator::get_key ( SerializableObject key  )  [pure virtual]

Unserialize the current element into the given key object.

Implemented in oasys::BerkeleyDBIterator, oasys::DurableFilterIterator< _filter >, oasys::FileSystemIterator, and oasys::MemoryIterator.


The documentation for this class was generated from the following file:
Generated on Sat Sep 8 08:36:26 2007 for DTN Reference Implementation by  doxygen 1.5.3