mirror of
https://github.com/gnustep/libs-gdl2.git
synced 2025-02-21 18:40:51 +00:00
92 lines
2.4 KiB
C
92 lines
2.4 KiB
C
|
/*
|
||
|
EOSortOrdering.h
|
||
|
|
||
|
Copyright (C) 2000 Free Software Foundation, Inc.
|
||
|
|
||
|
Author: Mirko Viviani <mirko.viviani@rccr.cremona.it>
|
||
|
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 <Foundation/Foundation.h>
|
||
|
|
||
|
#import <EOControl/EONull.h>
|
||
|
|
||
|
|
||
|
@interface EOSortOrdering : NSObject <NSCoding>
|
||
|
{
|
||
|
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
|