Differences From Artifact [e06bf0474a]:
- File
src/OFSortedList.m
— part of check-in
[4357c856cc]
at
2012-09-12 06:00:30
on branch trunk
— Make OFSortedList sort stable.
This means that if two or more equal objects are added, the order in
which the objects were added is kept. (user: js, size: 1689) [annotate] [blame] [check-ins using]
To Artifact [679b0761d3]:
- File
src/OFSortedList.m
— part of check-in
[7a8a5a2995]
at
2012-11-24 00:07:49
on branch trunk
— -[OFSortedList addObject:] -> -[insertObject:].
The rationale behind this is that otherwise, there are two methods
called addObject: with a different signature, the one from
OFMutableArray and the one from OFSortedList. As OFSortedList is
actually using insertion sort and all other methods on an OFList start
with insert anyway, this is also more consistent. (user: js, size: 1692) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
43 44 45 46 47 48 49 | - (of_list_object_t*)insertObject: (id)object afterListObject: (of_list_object_t*)listObject { @throw [OFNotImplementedException exceptionWithClass: [self class] selector: _cmd]; } | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | - (of_list_object_t*)insertObject: (id)object afterListObject: (of_list_object_t*)listObject { @throw [OFNotImplementedException exceptionWithClass: [self class] selector: _cmd]; } - (of_list_object_t*)insertObject: (id <OFComparing>)object { of_list_object_t *iter; for (iter = lastListObject; iter != NULL; iter = iter->previous) { if ([object compare: iter->object] != OF_ORDERED_ASCENDING) return [super insertObject: object afterListObject: iter]; } return [super prependObject: object]; } @end |