home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NeXTSTEP 3.0
/
NeXTSTEP3.0.iso
/
NextDeveloper
/
Headers
/
btree
/
protocols.h
< prev
Wrap
Text File
|
1992-05-27
|
5KB
|
170 lines
/*
protocols.h
Copyright 1991,NeXT Computer,Inc.
*/
#import <store/protocols.h>
typedef int
IXComparator(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
#ifndef RELEASE_2
@protocol IXComparatorSetting
#else RELEASE_2
@interface Object (IXComparatorSetting)
#endif RELEASE_2
// context is arbitrary, caller supplied pointer passed to comparator
- getComparator:(IXComparator **)comparator andContext:(const void **)context;
- setComparator:(IXComparator *)comparator andContext:(const void *)context;
@end
#ifndef RELEASE_2
@protocol IXComparisonSetting
#else RELEASE_2
@interface Object (IXComparisonSetting)
#endif RELEASE_2
// caller supplied comparator is cleared, and format string is installed
- (const char *)comparisonFormat;
- setComparisonFormat:(const char *)aFormat;
@end
#ifndef RELEASE_2
@protocol IXCursorPositioning
#else RELEASE_2
@interface Object (IXCursorPositioning)
#endif RELEASE_2
- (BOOL)setFirst; // pos#ns cursor at first key in key space
- (BOOL)setLast; // positions cursor at last key in key space
- (BOOL)setNext; // positions cursor at next key in key space
- (BOOL)setPrevious; // position cursor at previous key in key space
- (BOOL)getKey:(const void **)key // returns value of key at cursor
andLength:(unsigned *)length;
- (BOOL)setKey:(const void *)key // positions cursor at supplied key
andLength:(unsigned)length;
- (BOOL)isMatch; // true if cursor matched a key on last operation
@end
// a weighted reference to something that can be described by a handle
typedef struct IXPosting {
unsigned handle;
unsigned weight;
} IXPosting;
#ifndef RELEASE_2
@protocol IXPostingExchange
#else RELEASE_2
@interface Object (IXPostingExchange)
#endif RELEASE_2
- getCount:(unsigned *)theCount andPostings:(IXPosting **)thePostings;
- setCount:(unsigned)theCount andPostings:(const IXPosting *)thePostings;
@end
#ifndef RELEASE_2
@protocol IXPostingOperations
#else RELEASE_2
@interface Object (IXPostingOperations)
#endif RELEASE_2
- addHandle:(unsigned)handle withWeight:(unsigned)weight;
- removeHandle:(unsigned)handle;
- (unsigned)count;
- empty;
- (unsigned)setFirstHandle;
- (unsigned)setNextHandle;
- (unsigned)setHandle:(unsigned)handle;
- (unsigned)getHandle:(unsigned *)handle
andWeight:(unsigned *)weight;
@end
extern int
IXFormatComparator(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, void *format);
extern int
IXCompareStrings(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareMonocaseStrings(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareBytes(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareShort(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareShorts(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareLong(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *conte$
extern int
IXCompareLongs(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareUnsignedBytes(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareUnsignedShort(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareUnsignedShorts(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareUnsignedLong(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareUnsignedLongs(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareFloat(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareFloats(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareDouble(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareDoubles(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareStringAndUnsigneds(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);
extern int
IXCompareUnsignedAndStrings(const void *data1, unsigned short length1,
const void *data2, unsigned short length2, const void *context);