Collaboration diagram for Merges:
Merges | |
(void) | + inPlaceMergeFrom:middle:to: |
Merge two consecutive ranges. | |
(void) | + inPlaceMergeFrom:middle:to:predicate: |
Merge two consecutive ranges. | |
(OLForwardIterator *) | + mergeFrom:to:andFrom:andTo:destination: |
Merge two sorted ranges. | |
(OLForwardIterator *) | + mergeFrom:to:andFrom:andTo:destination:predicate: |
Merge two sorted ranges. |
Merging is the process of combining two sorted ranges into one sorted range. All merge algorithms provide stable merges, meaning that equivilent elements in the input ranges remain in the same relative order after the merge is done.
+ (void) inPlaceMergeFrom: | (OLBidirectionalIterator *) | first | ||
middle: | (OLBidirectionalIterator *) | middle | ||
to: | (OLBidirectionalIterator *) | last | ||
Merge two consecutive ranges.
This message simply sends the message inPlaceMergeFrom:middle:to:predicate: using OLLess as the predicate.
[first, middle)
and [middle, last)
must be sorted in the order defined by OLLess.first | the first position in the first range | |
middle | one position beyond the last in the first range and the first position in the second range | |
last | one position beyond the last in the second range |
+ (void) inPlaceMergeFrom: | (OLBidirectionalIterator *) | first | ||
middle: | (OLBidirectionalIterator *) | middle | ||
to: | (OLBidirectionalIterator *) | last | ||
predicate: | (id< OLBoolBinaryFunction >) | pred | ||
Merge two consecutive ranges.
The sorted range [first, middle)
is merged with the sorted range [middle, last)
to create a single sorted range [first, last)
. The merge is a stable merge, meaning that the equivilent elements in each of the two ranges remain in the same relative order after the merge is done.
[first, middle)
and [middle, last)
must be sorted in the order defined by the predicate pred.first | the first position in the first range | |
middle | one position beyond the last in the first range and the first position in the second range | |
last | one position beyond the last in the second range | |
pred | the predicate that indicates the sorting order |
+ (OLForwardIterator*) mergeFrom: | (OLForwardIterator *) | first1 | ||
to: | (OLForwardIterator *) | last1 | ||
andFrom: | (OLForwardIterator *) | first2 | ||
andTo: | (OLForwardIterator *) | last2 | ||
destination: | (OLForwardIterator *) | dest | ||
Merge two sorted ranges.
This message simply sends the message mergeFrom:to:andFrom:andTo:destination:predicate: using OLLess as the predicate.
[first1, last1)
and [first2, last2)
must be sorted in the order defined by OLLess.first1 | the first position in the first range | |
last1 | one position beyond the last in the first range | |
first2 | the first position in the second range | |
last2 | one position beyond the last in the second range | |
dest | the first element in the range to which to copy the merged elements |
+ (OLForwardIterator*) mergeFrom: | (OLForwardIterator *) | first1 | ||
to: | (OLForwardIterator *) | last1 | ||
andFrom: | (OLForwardIterator *) | first2 | ||
andTo: | (OLForwardIterator *) | last2 | ||
destination: | (OLForwardIterator *) | dest | ||
predicate: | (id< OLBoolBinaryFunction >) | pred | ||
Merge two sorted ranges.
The sorted range [first1, last1)
is merged with the sorted range [first2, last2)
and copied to the location indicated by dest. The resulting range starting at dest will be sorted using the order defined by pred. An iterator pointing to one position beyond the last element in the destination range is returned. The merge is stable, meaning that equivilent elements in the each of the two ranges remain in the same relative order after the merge is done.
[first1, last1)
and [first2, last2)
must be sorted in the order defined by pred.first1 | the first position in the first range | |
last1 | one position beyond the last in the first range | |
first2 | the first position in the second range | |
last2 | one position beyond the last in the second range | |
dest | the first element in the range to which to copy the merged elements | |
pred | the predicate that indicates the sorting order |
|