Artifact 679b0761d3f9b94e58cc246d59ef582f17011f791e2538ba729b6fc65d0210bf:
- 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]
/* * Copyright (c) 2008, 2009, 2010, 2011, 2012 * Jonathan Schleifer <js@webkeks.org> * * All rights reserved. * * This file is part of ObjFW. It may be distributed under the terms of the * Q Public License 1.0, which can be found in the file LICENSE.QPL included in * the packaging of this file. * * Alternatively, it may be distributed under the terms of the GNU General * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #import "OFSortedList.h" #import "OFNotImplementedException.h" @implementation OFSortedList - (of_list_object_t*)appendObject: (id)object { @throw [OFNotImplementedException exceptionWithClass: [self class] selector: _cmd]; } - (of_list_object_t*)prependObject: (id)object { @throw [OFNotImplementedException exceptionWithClass: [self class] selector: _cmd]; } - (of_list_object_t*)insertObject: (id)object beforeListObject: (of_list_object_t*)listObject { @throw [OFNotImplementedException exceptionWithClass: [self class] selector: _cmd]; } - (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