Class Definition File | TypLsItr.idl |
Class C++ Binding | TypLsItr.xh |
Class Hierarchy |
SOMObject ODObject ODTypeListIterator |
Description | An object of the ODTypeListIterator class provides access to each element of a type list. You use a type-list iterator to apply an operation to each element of a type list. For example, a part might use a type-list iterator to enumerate the part kinds that the part supports and write to storage a representation for each one. Methods of the ODTypeListIterator class return copies of the elements in the type list. This design prevents you from accidentally changing the content of the type list. When you use a type-list iterator, be sure to delete each copied string to avoid a memory leak. Your part creates a type-list iterator object by calling the type list object's CreateTypeListIterator method, which returns a reference to a type-list iterator object. While you are using a type-list iterator, you should not modify or delete the type list that created it. You must postpone adding elements to or removing elements from the type list until after you have deleted the iterator. For more information on accessing objects through iterators, see the chapter on OpenDoc runtime features in the OpenDoc Programming Guide. |
Methods | The methods defined by the ODTypeListIterator class include: |
Overridden Methods | There are no methods overridden by the ODTypeListIterator class. |
This method begins the iteration and returns a copy of the first element in the type list that created this type-list iterator.
Signature
ODType First () |
Parameters
None.
Returns
Remarks
Your part must call this method before calling this type-list iterator's IsNotComplete method for the first time. This method may be called multiple times. Each call resets the iteration.
You must deallocate the returned type value when it is no longer needed.
Exception Handling
kODErrIteratorOutOfSync | The type list was modified while the iteration was in progress. |
kODErrOutOfMemory | There is not enough memory to create the type. |
This method indicates whether the iteration is incomplete.
Signature
ODBoolean IsNotComplete () |
Parameters
Returns
None.
kODTrue | The iteration is incomplete. |
kODFalse | The iteration is complete. |
Remarks
Your part calls this method to test whether more elements remain in the type list. This method returns kODTrue if the preceding call to the First or Next method found an element. This method returns kODFalse when you have examined all the elements (that is, when the previous call to First or Next returned kODNULL). If the type list that created this iterator is empty, this method always returns kODFalse.
Exception Handling
kODErrIteratorNotInitialized | This method was called before calling the First or Next method to begin the iteration. |
kODErrIteratorOutOfSync | The type list was modified while the iteration was in progress. |
This method returns a copy of the next element in the type list that created this type-list iterator.
Signature
ODType Next () |
Parameters
None.
Returns
Remarks
If your part calls this method before calling this type-list iterator's First method to begin the iteration, then this method works the same as calling the First method.
You must deallocate the returned type value when it is no longer needed.
Exception Handling
kODErrIteratorOutOfSync | The type list was modified while the iteration was in progress. |
kODErrOutOfMemory | There is not enough memory to create the type. |