SEDRIS Reference Manual
APPENDIX A - LEVEL 0 READ and WRITE API Functions SE InitializeAssociateIterator |
---|
extern SE_Status_Code | |||
SE_InitializeAssociateIterator | |||
( | |||
SE_Object | start_object, | (notes) | |
SE_Search_Filter | filter, | (notes) | |
SE_ITR_Behaviour | itr_traversal, | (notes) | |
SE_Iterator | * | iterator_out_ptr | (notes) |
); |
Creates an iterator to (traverse over the list of)/(return pointers to) associate objects that meet the following conditions:
If a start_object is associated solely by 1-way incoming associations, or if the start_object does not participate in any associations, then an Associate Iterator for that start_object will not return any objects. An Associate Iterator would be created, but it would have a length of 0 and would not return any objects.
To get the next object from an iterator, call SE_GetNextObject().
To find out the remaining length of an iterator (the number of objects remaining inside the iterator), call SE_GetIterationLengthRemaining().
When finished with an iterator, free it with a call to the SE_FreeIterator() function. Iterators can be freed at any time (they can be freed before all of their objects have been returned, that is, before their remaining length == 0, if the user so desires).
SE_STAT_CODE_SUCCESS | and a handle for the newly created associate iterator is copied into *iterator_out_ptr, if valid parameters were passed in and all operations succeeded. |
SE_STAT_CODE_NULL_REQUIRED_PARAMETER | and *iterator_out_ptr is left unaltered, if iterator_out_ptr was NULL. |
SE_STAT_CODE_INVALID_OR_NULL_OBJECT | and *iterator_out_ptr is set to NULL, if start_object is not a handle to a valid, active (i.e., unfreed) SEDRIS object. |
SE_STAT_CODE_UNRESOLVED_START_OBJECT | and *iterator_out_ptr is set to NULL, if start_object is currently unresolved. |
SE_STAT_CODE_OUT_OF_MEMORY | and *iterator_out_ptr is set to NULL, if memory allocation failed. |
SE_STAT_CODE_FAILURE | and *iterator_out_ptr is set to NULL, if
|
the object whose list of associates will be returned
a search filter that will be used to filter the output of this iterator.
the user must choose how the iterator will behave when it encounters an Inter-Transmittal Reference (ITR). The iterator could automatically resolve such references and continue the search within the new transmittal; report all ITR references without resolving them; or just ignore them completely and continue to search within the current transmittal.
a pointer to the freshly created iterator that will iterate over the associated objects that (1) are associated by an association from the start_object, and (2) pass the criteria defined in the search filter (if a search filter was provided).
Prev: SE_InitializeAggregateIterator.
Next: SE_InitializeComponentIterator.
Up:Index.
|