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_NULL_REQUIRED_PARAMETER - and *iterator_out_ptr is left unaltered, if iterator_out_ptr was NULL.
SE_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_UNRESOLVED_START_OBJECT - and *iterator_out_ptr is set to NULL, if start_object is currently unresolved.
SE_OUT_OF_MEMORY - and *iterator_out_ptr is set to NULL, if memory allocation failed.
SE_FAILURE - and *iterator_out_ptr is set to NULL, if
| extern SE_STATUS_CODE_ENUM | |||
| SE_InitializeAssociateIterator | |||
| ( | |||
| SE_OBJECT | start_object, | (notes) | |
| SE_SEARCH_FILTER | filter, | (notes) | |
| SE_ITR_TRAVERSAL_ENUM | inter_transmittal_referencing_traversal, | (notes) | |
| SE_ITERATOR | * | iterator_out_ptr | (notes) |
| ); | |||
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).