/* EOSortOrdering.h Copyright (C) 2000 Free Software Foundation, Inc. Author: Mirko Viviani Date: February 2000 This file is part of the GNUstep Database Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __EOSortOrdering_h__ #define __EOSortOrdering_h__ #import #import #import @interface EOSortOrdering : NSObject { SEL _selector; NSString *_key; } + (EOSortOrdering *)sortOrderingWithKey: (NSString *)key selector: (SEL)selector; - initWithKey: (NSString *)key selector: (SEL)selector; - (NSString *)key; - (SEL)selector; @end @interface NSArray (EOKeyBasedSorting) - (NSArray *)sortedArrayUsingKeyOrderArray: (NSArray *)orderArray; @end @interface NSMutableArray (EOKeyBasedSorting) - (void)sortUsingKeyOrderArray: (NSArray *)orderArray; @end @interface NSObject (EOSortOrderingComparison) - (NSComparisonResult)compareAscending: (id)other; - (NSComparisonResult)compareDescending: (id)other; - (NSComparisonResult)compareCaseInsensitiveAscending: (id)other; - (NSComparisonResult)compareCaseInsensitiveDescending: (id)other; @end @interface EONull (EOSortOrderingComparison) - (NSComparisonResult)compareAscending: (id)other; - (NSComparisonResult)compareDescending: (id)other; - (NSComparisonResult)compareCaseInsensitiveAscending: (id)other; - (NSComparisonResult)compareCaseInsensitiveDescending: (id)other; @end #define EOCompareAscending @selector(compareAscending:) #define EOCompareDescending @selector(compareDescending:) #define EOCompareCaseInsensitiveAscending @selector(compareCaseInsensitiveAscending:) #define EOCompareCaseInsensitiveDescending @selector(compareCaseInsensitiveDescending:) #endif