openDAQ
Open data acquisition platform
IIterator Struct Referenceabstract

Use this interface to iterator through items of a container object. More...

+ Inheritance diagram for IIterator:
+ Collaboration diagram for IIterator:

Detailed Description

Use this interface to iterator through items of a container object.

Call moveNext function in a loop until it returns OPENDAQ_NO_MORE_ITEMS. Iteration cannot be restarted. In this case a new iterator must be created.

Example:

IIterator* it = ...;
while (it->moveNext() != OPENDAQ_NO_MORE_ITEMS)
{
it->getCurrent(&obj);
// do something with obj
}

Public Member Functions

virtual ErrCode INTERFACE_FUNC moveNext ()=0
 Moves iterator to next position.
 
virtual ErrCode INTERFACE_FUNC getCurrent (IBaseObject **obj) const =0
 Gets the object at current iterator position. More...
 
- Public Member Functions inherited from IBaseObject
virtual ErrCode INTERFACE_FUNC borrowInterface (const IntfID &intfID, void **obj) const =0
 Returns another interface which is supported by the object without incrementing the reference count. More...
 
virtual ErrCode INTERFACE_FUNC dispose ()=0
 Disposes all references held by the object. More...
 
virtual ErrCode INTERFACE_FUNC getHashCode (SizeT *hashCode)=0
 Returns hash code of the object. More...
 
virtual ErrCode INTERFACE_FUNC equals (IBaseObject *other, Bool *equal) const =0
 Compares object to another object for equality. More...
 
virtual ErrCode INTERFACE_FUNC toString (CharPtr *str)=0
 Returns a string representation of the object. More...
 
- Public Member Functions inherited from IUnknown
virtual ErrCode INTERFACE_FUNC queryInterface (const IntfID &intfID, void **obj)=0
 Returns another interface which is supported by the object and increments the reference count. More...
 
virtual int INTERFACE_FUNC addRef ()=0
 Increments the reference count for an interface on an object. More...
 
virtual int INTERFACE_FUNC releaseRef ()=0
 Decrements the reference count for an interface on an object. More...
 

Member Function Documentation

◆ getCurrent()

virtual ErrCode INTERFACE_FUNC getCurrent ( IBaseObject **  obj) const
pure virtual

Gets the object at current iterator position.

Parameters
[out]objObject at current iterator position.
Return values
OPENDAQ_NO_MORE_ITEMSIterator is over the last item position.
IIterator::moveNext
virtual ErrCode INTERFACE_FUNC moveNext()=0
Moves iterator to next position.
IIterator
Use this interface to iterator through items of a container object.
Definition: iterator.h:47
IIterator::getCurrent
virtual ErrCode INTERFACE_FUNC getCurrent(IBaseObject **obj) const =0
Gets the object at current iterator position.
IBaseObject
Definition: baseobject.h:117