blob: ec26e8366fb76f60a475c0cd7db9fa37612b31f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
{ Parsed from Foundation.framework NSMapTable.h }
{$ifdef TYPES}
{$ifndef NSMAPTABLE_PAS_T}
{$define NSMAPTABLE_PAS_T}
{ Constants }
const
NSMapTableStrongMemory = 0;
NSMapTableZeroingWeakMemory = NSPointerFunctionsZeroingWeakMemory;
NSMapTableCopyIn = NSPointerFunctionsCopyIn;
NSMapTableObjectPointerPersonality = NSPointerFunctionsObjectPointerPersonality;
{ Types }
type
NSMapTableOptions = NSUInteger;
NSMapTableOptionsPtr = ^NSMapTableOptions;
{ Defines }
const
NSNotAnIntMapKey = NSIntegerMin;
NSNotAnIntegerMapKey = NSIntegerMin;
NSNotAPointerMapKey = UINTPTR_MAX;
{$endif}
{$endif}
{$ifdef RECORDS}
{$ifndef NSMAPTABLE_PAS_R}
{$define NSMAPTABLE_PAS_R}
{ Records }
type
NSMapEnumerator = record
_pi: NSUInteger;
_si: NSUInteger;
_bs: Pointer;
end;
NSMapEnumeratorPtr = ^NSMapEnumerator;
type
NSMapTableKeyCallBacks = record
hash: function (table: NSMapTable; param1: Pointer): NSUInteger; cdecl;
isEqual: function (table: NSMapTable; param1: Pointer; param2: Pointer): Boolean; cdecl;
retain: procedure (table: NSMapTable; param1: Pointer); cdecl;
release: procedure (table: NSMapTable; param1: Pointer); cdecl;
describe: function (table: NSMapTable; param1: Pointer): NSString; cdecl;
notAKeyMarker: Pointer;
end;
NSMapTableKeyCallBacksPtr = ^NSMapTableKeyCallBacks;
type
NSMapTableValueCallBacks = record
retain: procedure (table: NSMapTable; param1: Pointer); cdecl;
release: procedure (table: NSMapTable; param1: Pointer); cdecl;
describe: function (table: NSMapTable; param1: Pointer): NSString; cdecl;
end;
NSMapTableValueCallBacksPtr = ^NSMapTableValueCallBacks;
{$endif}
{$endif}
{$ifdef FUNCTIONS}
{$ifndef NSMAPTABLE_PAS_F}
{$define NSMAPTABLE_PAS_F}
{ Functions }
procedure NSFreeMapTable(table: NSMapTable); cdecl; external;
procedure NSResetMapTable(table: NSMapTable); cdecl; external;
function NSCompareMapTables(table1: NSMapTable; table2: NSMapTable): Boolean; cdecl; external;
function NSCopyMapTableWithZone(table: NSMapTable; zone: NSZonePtr): NSMapTable; cdecl; external;
function NSMapMember(table: NSMapTable; key: Pointer; originalKey: PPointer; value: PPointer): Boolean; cdecl; external;
function NSMapGet(table: NSMapTable; key: Pointer): Pointer; cdecl; external;
procedure NSMapInsert(table: NSMapTable; key: Pointer; value: Pointer); cdecl; external;
procedure NSMapInsertKnownAbsent(table: NSMapTable; key: Pointer; value: Pointer); cdecl; external;
function NSMapInsertIfAbsent(table: NSMapTable; key: Pointer; value: Pointer): Pointer; cdecl; external;
procedure NSMapRemove(table: NSMapTable; key: Pointer); cdecl; external;
function NSEnumerateMapTable(table: NSMapTable): NSMapEnumerator; cdecl; external;
function NSNextMapEnumeratorPair(enumerator: NSMapEnumeratorPtr; key: PPointer; value: PPointer): Boolean; cdecl; external;
procedure NSEndMapTableEnumeration(enumerator: NSMapEnumeratorPtr); cdecl; external;
function NSCountMapTable(table: NSMapTable): NSUInteger; cdecl; external;
function NSStringFromMapTable(table: NSMapTable): NSString; cdecl; external;
function NSAllMapTableKeys(table: NSMapTable): NSArray; cdecl; external;
function NSAllMapTableValues(table: NSMapTable): NSArray; cdecl; external;
function NSCreateMapTableWithZone(keyCallBacks: NSMapTableKeyCallBacks; valueCallBacks: NSMapTableValueCallBacks; capacity: NSUInteger; zone: NSZonePtr): NSMapTable; cdecl; external;
function NSCreateMapTable(keyCallBacks: NSMapTableKeyCallBacks; valueCallBacks: NSMapTableValueCallBacks; capacity: NSUInteger): NSMapTable; cdecl; external;
{$endif}
{$endif}
{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSMAPTABLE_PAS_S}
{$define NSMAPTABLE_PAS_S}
{ External symbols }
var
NSIntegerMapKeyCallBacks: NSMapTableKeyCallBacks; cvar; external;
NSNonOwnedPointerMapKeyCallBacks: NSMapTableKeyCallBacks; cvar; external;
NSNonOwnedPointerOrNullMapKeyCallBacks: NSMapTableKeyCallBacks; cvar; external;
NSNonRetainedObjectMapKeyCallBacks: NSMapTableKeyCallBacks; cvar; external;
NSObjectMapKeyCallBacks: NSMapTableKeyCallBacks; cvar; external;
NSOwnedPointerMapKeyCallBacks: NSMapTableKeyCallBacks; cvar; external;
NSIntMapKeyCallBacks: NSMapTableKeyCallBacks deprecated 'in Mac OS X 10.5 and later'; cvar; external;
NSIntegerMapValueCallBacks: NSMapTableValueCallBacks; cvar; external;
NSNonOwnedPointerMapValueCallBacks: NSMapTableValueCallBacks; cvar; external;
NSObjectMapValueCallBacks: NSMapTableValueCallBacks; cvar; external;
NSNonRetainedObjectMapValueCallBacks: NSMapTableValueCallBacks; cvar; external;
NSOwnedPointerMapValueCallBacks: NSMapTableValueCallBacks; cvar; external;
NSIntMapValueCallBacks: NSMapTableValueCallBacks deprecated 'in Mac OS X 10.5 and later'; cvar; external;
{$endif}
{$endif}
{$ifdef FORWARD}
NSMapTable = objcclass;
NSMapTablePointer = ^NSMapTable;
NSMapTablePtr = NSMapTablePointer;
{$endif}
{$ifdef CLASSES}
{$ifndef NSMAPTABLE_PAS_C}
{$define NSMAPTABLE_PAS_C}
{ NSMapTable }
NSMapTable = objcclass external (NSObject, NSCopyingProtocol, NSCodingProtocol, NSFastEnumerationProtocol)
public
function initWithKeyOptions_valueOptions_capacity(keyOptions: NSPointerFunctionsOptions; valueOptions: NSPointerFunctionsOptions; initialCapacity: NSUInteger): id; message 'initWithKeyOptions:valueOptions:capacity:';
function initWithKeyPointerFunctions_valuePointerFunctions_capacity(keyFunctions: NSPointerFunctions; valueFunctions: NSPointerFunctions; initialCapacity: NSUInteger): id; message 'initWithKeyPointerFunctions:valuePointerFunctions:capacity:';
class function mapTableWithKeyOptions_valueOptions(keyOptions: NSPointerFunctionsOptions; valueOptions: NSPointerFunctionsOptions): id; message 'mapTableWithKeyOptions:valueOptions:';
class function mapTableWithStrongToStrongObjects: id; message 'mapTableWithStrongToStrongObjects';
class function mapTableWithWeakToStrongObjects: id; message 'mapTableWithWeakToStrongObjects';
class function mapTableWithStrongToWeakObjects: id; message 'mapTableWithStrongToWeakObjects';
class function mapTableWithWeakToWeakObjects: id; message 'mapTableWithWeakToWeakObjects';
function keyPointerFunctions: NSPointerFunctions; message 'keyPointerFunctions';
function valuePointerFunctions: NSPointerFunctions; message 'valuePointerFunctions';
function objectForKey(aKey: id): id; message 'objectForKey:';
procedure removeObjectForKey(aKey: id); message 'removeObjectForKey:';
procedure setObject_forKey(anObject: id; aKey: id); message 'setObject:forKey:';
function count: NSUInteger; message 'count';
function keyEnumerator: NSEnumerator; message 'keyEnumerator';
function objectEnumerator: NSEnumerator; message 'objectEnumerator';
procedure removeAllObjects; message 'removeAllObjects';
function dictionaryRepresentation: NSDictionary; message 'dictionaryRepresentation';
{ Adopted Protocols }
function copyWithZone(zone_: NSZonePtr): id;
procedure encodeWithCoder(aCoder: NSCoder);
function initWithCoder(aDecoder: NSCoder): id;
function countByEnumeratingWithState_objects_count(state: NSFastEnumerationStatePtr; stackbuf: idPtr; len: NSUInteger): NSUInteger;
end;
{$endif}
{$endif}
|