7afbe189911f8db070fc51a46d7d8f204edd1424
[nit.git] / c_src / hash._sep.h
1 /* This C header file is generated by NIT to compile modules and programs that requires hash. */
2 #ifndef hash_sep
3 #define hash_sep
4 #include "string._sep.h"
5 #include <nit_common.h>
6
7 extern const classtable_elt_t VFT_HashCollection[];
8
9 extern const classtable_elt_t VFT_HashNode[];
10
11 extern const classtable_elt_t VFT_HashMap[];
12
13 extern const classtable_elt_t VFT_HashMapNode[];
14
15 extern const classtable_elt_t VFT_HashMapIterator[];
16
17 extern const classtable_elt_t VFT_HashSet[];
18
19 extern const classtable_elt_t VFT_HashSetNode[];
20
21 extern const classtable_elt_t VFT_HashSetIterator[];
22 extern const char *LOCATE_hash;
23 extern const int SFT_hash[];
24 #define CALL_hash___Object___hash(recv) ((hash___Object___hash_t)CALL((recv), (SFT_hash[0] + 0)))
25 #define ID_HashCollection (SFT_hash[1])
26 #define COLOR_HashCollection (SFT_hash[2])
27 #define ATTR_hash___HashCollection____array(recv) ATTR(recv, (SFT_hash[3] + 0))
28 #define ATTR_hash___HashCollection____capacity(recv) ATTR(recv, (SFT_hash[3] + 1))
29 #define ATTR_hash___HashCollection____length(recv) ATTR(recv, (SFT_hash[3] + 2))
30 #define ATTR_hash___HashCollection____first_item(recv) ATTR(recv, (SFT_hash[3] + 3))
31 #define ATTR_hash___HashCollection____last_item(recv) ATTR(recv, (SFT_hash[3] + 4))
32 #define ATTR_hash___HashCollection____last_accessed_index(recv) ATTR(recv, (SFT_hash[3] + 5))
33 #define ATTR_hash___HashCollection____last_accessed_key(recv) ATTR(recv, (SFT_hash[3] + 6))
34 #define INIT_TABLE_POS_HashCollection (SFT_hash[4] + 0)
35 #define CALL_hash___HashCollection___first_item(recv) ((hash___HashCollection___first_item_t)CALL((recv), (SFT_hash[4] + 1)))
36 #define CALL_hash___HashCollection___index_at(recv) ((hash___HashCollection___index_at_t)CALL((recv), (SFT_hash[4] + 2)))
37 #define CALL_hash___HashCollection___store(recv) ((hash___HashCollection___store_t)CALL((recv), (SFT_hash[4] + 3)))
38 #define CALL_hash___HashCollection___remove_index(recv) ((hash___HashCollection___remove_index_t)CALL((recv), (SFT_hash[4] + 4)))
39 #define CALL_hash___HashCollection___raz(recv) ((hash___HashCollection___raz_t)CALL((recv), (SFT_hash[4] + 5)))
40 #define CALL_hash___HashCollection___enlarge(recv) ((hash___HashCollection___enlarge_t)CALL((recv), (SFT_hash[4] + 6)))
41 #define CALL_hash___HashCollection___init(recv) ((hash___HashCollection___init_t)CALL((recv), (SFT_hash[4] + 7)))
42 #define ID_HashNode (SFT_hash[5])
43 #define COLOR_HashNode (SFT_hash[6])
44 #define ATTR_hash___HashNode____next_item(recv) ATTR(recv, (SFT_hash[7] + 0))
45 #define ATTR_hash___HashNode____prev_item(recv) ATTR(recv, (SFT_hash[7] + 1))
46 #define INIT_TABLE_POS_HashNode (SFT_hash[8] + 0)
47 #define CALL_hash___HashNode___key(recv) ((hash___HashNode___key_t)CALL((recv), (SFT_hash[8] + 1)))
48 #define CALL_hash___HashNode___next_item(recv) ((hash___HashNode___next_item_t)CALL((recv), (SFT_hash[8] + 2)))
49 #define CALL_hash___HashNode___next_item__eq(recv) ((hash___HashNode___next_item__eq_t)CALL((recv), (SFT_hash[8] + 3)))
50 #define CALL_hash___HashNode___prev_item(recv) ((hash___HashNode___prev_item_t)CALL((recv), (SFT_hash[8] + 4)))
51 #define CALL_hash___HashNode___prev_item__eq(recv) ((hash___HashNode___prev_item__eq_t)CALL((recv), (SFT_hash[8] + 5)))
52 #define CALL_hash___HashNode___init(recv) ((hash___HashNode___init_t)CALL((recv), (SFT_hash[8] + 6)))
53 #define ID_HashMap (SFT_hash[9])
54 #define COLOR_HashMap (SFT_hash[10])
55 #define INIT_TABLE_POS_HashMap (SFT_hash[11] + 0)
56 #define CALL_hash___HashMap___init(recv) ((hash___HashMap___init_t)CALL((recv), (SFT_hash[11] + 1)))
57 #define ID_HashMapNode (SFT_hash[12])
58 #define COLOR_HashMapNode (SFT_hash[13])
59 #define INIT_TABLE_POS_HashMapNode (SFT_hash[14] + 0)
60 #define CALL_hash___HashMapNode___init(recv) ((hash___HashMapNode___init_t)CALL((recv), (SFT_hash[14] + 1)))
61 #define ID_HashMapIterator (SFT_hash[15])
62 #define COLOR_HashMapIterator (SFT_hash[16])
63 #define ATTR_hash___HashMapIterator____map(recv) ATTR(recv, (SFT_hash[17] + 0))
64 #define ATTR_hash___HashMapIterator____node(recv) ATTR(recv, (SFT_hash[17] + 1))
65 #define INIT_TABLE_POS_HashMapIterator (SFT_hash[18] + 0)
66 #define CALL_hash___HashMapIterator___init(recv) ((hash___HashMapIterator___init_t)CALL((recv), (SFT_hash[18] + 1)))
67 #define ID_HashSet (SFT_hash[19])
68 #define COLOR_HashSet (SFT_hash[20])
69 #define INIT_TABLE_POS_HashSet (SFT_hash[21] + 0)
70 #define CALL_hash___HashSet___init(recv) ((hash___HashSet___init_t)CALL((recv), (SFT_hash[21] + 1)))
71 #define ID_HashSetNode (SFT_hash[22])
72 #define COLOR_HashSetNode (SFT_hash[23])
73 #define ATTR_hash___HashSetNode____key(recv) ATTR(recv, (SFT_hash[24] + 0))
74 #define INIT_TABLE_POS_HashSetNode (SFT_hash[25] + 0)
75 #define CALL_hash___HashSetNode___key__eq(recv) ((hash___HashSetNode___key__eq_t)CALL((recv), (SFT_hash[25] + 1)))
76 #define CALL_hash___HashSetNode___init(recv) ((hash___HashSetNode___init_t)CALL((recv), (SFT_hash[25] + 2)))
77 #define ID_HashSetIterator (SFT_hash[26])
78 #define COLOR_HashSetIterator (SFT_hash[27])
79 #define ATTR_hash___HashSetIterator____set(recv) ATTR(recv, (SFT_hash[28] + 0))
80 #define ATTR_hash___HashSetIterator____node(recv) ATTR(recv, (SFT_hash[28] + 1))
81 #define INIT_TABLE_POS_HashSetIterator (SFT_hash[29] + 0)
82 #define CALL_hash___HashSetIterator___init(recv) ((hash___HashSetIterator___init_t)CALL((recv), (SFT_hash[29] + 1)))
83 typedef val_t (* hash___Object___hash_t)(val_t self);
84 val_t hash___Object___hash(val_t self);
85 #define LOCATE_hash___Object___hash "hash::Object::hash"
86 val_t NEW_String_string___String___init();
87 val_t NEW_String_string___String___from(val_t p0);
88 val_t NEW_String_string___String___with_capacity(val_t p0);
89 val_t NEW_String_string___String___with_native(val_t p0, val_t p1);
90 val_t NEW_String_string___String___from_cstring(val_t p0);
91 val_t NEW_String_string___String___filled_with(val_t p0, val_t p1);
92 typedef val_t (* hash___String___hash_t)(val_t self);
93 val_t hash___String___hash(val_t self);
94 #define LOCATE_hash___String___hash "hash::String::(hash::Object::hash)"
95 typedef val_t (* hash___Int___hash_t)(val_t self);
96 val_t hash___Int___hash(val_t self);
97 #define LOCATE_hash___Int___hash "hash::Int::(hash::Object::hash)"
98 typedef val_t (* hash___Char___hash_t)(val_t self);
99 val_t hash___Char___hash(val_t self);
100 #define LOCATE_hash___Char___hash "hash::Char::(hash::Object::hash)"
101 typedef val_t (* hash___Bool___hash_t)(val_t self);
102 val_t hash___Bool___hash(val_t self);
103 #define LOCATE_hash___Bool___hash "hash::Bool::(hash::Object::hash)"
104 typedef val_t (* hash___HashCollection___length_t)(val_t self);
105 val_t hash___HashCollection___length(val_t self);
106 #define LOCATE_hash___HashCollection___length "hash::HashCollection::(abstract_collection::Collection::length)"
107 typedef val_t (* hash___HashCollection___first_item_t)(val_t self);
108 val_t hash___HashCollection___first_item(val_t self);
109 #define LOCATE_hash___HashCollection___first_item "hash::HashCollection::first_item"
110 typedef val_t (* hash___HashCollection___index_at_t)(val_t self, val_t param0);
111 val_t hash___HashCollection___index_at(val_t self, val_t param0);
112 #define LOCATE_hash___HashCollection___index_at "hash::HashCollection::index_at"
113 typedef void (* hash___HashCollection___store_t)(val_t self, val_t param0, val_t param1);
114 void hash___HashCollection___store(val_t self, val_t param0, val_t param1);
115 #define LOCATE_hash___HashCollection___store "hash::HashCollection::store"
116 typedef void (* hash___HashCollection___remove_index_t)(val_t self, val_t param0);
117 void hash___HashCollection___remove_index(val_t self, val_t param0);
118 #define LOCATE_hash___HashCollection___remove_index "hash::HashCollection::remove_index"
119 typedef void (* hash___HashCollection___raz_t)(val_t self);
120 void hash___HashCollection___raz(val_t self);
121 #define LOCATE_hash___HashCollection___raz "hash::HashCollection::raz"
122 typedef void (* hash___HashCollection___enlarge_t)(val_t self, val_t param0);
123 void hash___HashCollection___enlarge(val_t self, val_t param0);
124 #define LOCATE_hash___HashCollection___enlarge "hash::HashCollection::enlarge"
125 typedef void (* hash___HashCollection___init_t)(val_t self, int* init_table);
126 void hash___HashCollection___init(val_t self, int* init_table);
127 #define LOCATE_hash___HashCollection___init "hash::HashCollection::init"
128 val_t NEW_HashCollection_hash___HashCollection___init();
129 typedef val_t (* hash___HashNode___key_t)(val_t self);
130 val_t hash___HashNode___key(val_t self);
131 #define LOCATE_hash___HashNode___key "hash::HashNode::key"
132 typedef val_t (* hash___HashNode___next_item_t)(val_t self);
133 val_t hash___HashNode___next_item(val_t self);
134 #define LOCATE_hash___HashNode___next_item "hash::HashNode::next_item"
135 typedef void (* hash___HashNode___next_item__eq_t)(val_t self, val_t param0);
136 void hash___HashNode___next_item__eq(val_t self, val_t param0);
137 #define LOCATE_hash___HashNode___next_item__eq "hash::HashNode::next_item="
138 typedef val_t (* hash___HashNode___prev_item_t)(val_t self);
139 val_t hash___HashNode___prev_item(val_t self);
140 #define LOCATE_hash___HashNode___prev_item "hash::HashNode::prev_item"
141 typedef void (* hash___HashNode___prev_item__eq_t)(val_t self, val_t param0);
142 void hash___HashNode___prev_item__eq(val_t self, val_t param0);
143 #define LOCATE_hash___HashNode___prev_item__eq "hash::HashNode::prev_item="
144 typedef void (* hash___HashNode___init_t)(val_t self, int* init_table);
145 void hash___HashNode___init(val_t self, int* init_table);
146 #define LOCATE_hash___HashNode___init "hash::HashNode::init"
147 val_t NEW_HashNode_hash___HashNode___init();
148 typedef val_t (* hash___HashMap___iterator_t)(val_t self);
149 val_t hash___HashMap___iterator(val_t self);
150 #define LOCATE_hash___HashMap___iterator "hash::HashMap::(abstract_collection::Collection::iterator)"
151 typedef val_t (* hash___HashMap___is_empty_t)(val_t self);
152 val_t hash___HashMap___is_empty(val_t self);
153 #define LOCATE_hash___HashMap___is_empty "hash::HashMap::(abstract_collection::Collection::is_empty)"
154 typedef val_t (* hash___HashMap___has_t)(val_t self, val_t param0);
155 val_t hash___HashMap___has(val_t self, val_t param0);
156 #define LOCATE_hash___HashMap___has "hash::HashMap::(abstract_collection::Collection::has)"
157 typedef val_t (* hash___HashMap___has_only_t)(val_t self, val_t param0);
158 val_t hash___HashMap___has_only(val_t self, val_t param0);
159 #define LOCATE_hash___HashMap___has_only "hash::HashMap::(abstract_collection::Collection::has_only)"
160 typedef val_t (* hash___HashMap___count_t)(val_t self, val_t param0);
161 val_t hash___HashMap___count(val_t self, val_t param0);
162 #define LOCATE_hash___HashMap___count "hash::HashMap::(abstract_collection::Collection::count)"
163 typedef val_t (* hash___HashMap___first_t)(val_t self);
164 val_t hash___HashMap___first(val_t self);
165 #define LOCATE_hash___HashMap___first "hash::HashMap::(abstract_collection::Collection::first)"
166 typedef void (* hash___HashMap___clear_t)(val_t self);
167 void hash___HashMap___clear(val_t self);
168 #define LOCATE_hash___HashMap___clear "hash::HashMap::(abstract_collection::RemovableCollection::clear)"
169 typedef void (* hash___HashMap___remove_t)(val_t self, val_t param0);
170 void hash___HashMap___remove(val_t self, val_t param0);
171 #define LOCATE_hash___HashMap___remove "hash::HashMap::(abstract_collection::RemovableCollection::remove)"
172 typedef void (* hash___HashMap_____braeq_t)(val_t self, val_t param0, val_t param1);
173 void hash___HashMap_____braeq(val_t self, val_t param0, val_t param1);
174 #define LOCATE_hash___HashMap_____braeq "hash::HashMap::(abstract_collection::Map::[]=)"
175 typedef void (* hash___HashMap___remove_at_t)(val_t self, val_t param0);
176 void hash___HashMap___remove_at(val_t self, val_t param0);
177 #define LOCATE_hash___HashMap___remove_at "hash::HashMap::(abstract_collection::Map::remove_at)"
178 typedef val_t (* hash___HashMap___couple_at_t)(val_t self, val_t param0);
179 val_t hash___HashMap___couple_at(val_t self, val_t param0);
180 #define LOCATE_hash___HashMap___couple_at "hash::HashMap::(abstract_collection::CoupleMap::couple_at)"
181 typedef void (* hash___HashMap___init_t)(val_t self, int* init_table);
182 void hash___HashMap___init(val_t self, int* init_table);
183 #define LOCATE_hash___HashMap___init "hash::HashMap::init"
184 val_t NEW_HashMap_hash___HashMap___init();
185 typedef val_t (* hash___HashMapNode___key_t)(val_t self);
186 val_t hash___HashMapNode___key(val_t self);
187 #define LOCATE_hash___HashMapNode___key "hash::HashMapNode::(hash::HashNode::key)"
188 typedef void (* hash___HashMapNode___init_t)(val_t self, val_t param0, val_t param1, int* init_table);
189 void hash___HashMapNode___init(val_t self, val_t param0, val_t param1, int* init_table);
190 #define LOCATE_hash___HashMapNode___init "hash::HashMapNode::init"
191 val_t NEW_HashMapNode_hash___HashMapNode___init(val_t p0, val_t p1);
192 typedef val_t (* hash___HashMapIterator___item_t)(val_t self);
193 val_t hash___HashMapIterator___item(val_t self);
194 #define LOCATE_hash___HashMapIterator___item "hash::HashMapIterator::(abstract_collection::Iterator::item)"
195 typedef void (* hash___HashMapIterator___next_t)(val_t self);
196 void hash___HashMapIterator___next(val_t self);
197 #define LOCATE_hash___HashMapIterator___next "hash::HashMapIterator::(abstract_collection::Iterator::next)"
198 typedef val_t (* hash___HashMapIterator___is_ok_t)(val_t self);
199 val_t hash___HashMapIterator___is_ok(val_t self);
200 #define LOCATE_hash___HashMapIterator___is_ok "hash::HashMapIterator::(abstract_collection::Iterator::is_ok)"
201 typedef val_t (* hash___HashMapIterator___key_t)(val_t self);
202 val_t hash___HashMapIterator___key(val_t self);
203 #define LOCATE_hash___HashMapIterator___key "hash::HashMapIterator::(abstract_collection::MapIterator::key)"
204 typedef void (* hash___HashMapIterator___item__eq_t)(val_t self, val_t param0);
205 void hash___HashMapIterator___item__eq(val_t self, val_t param0);
206 #define LOCATE_hash___HashMapIterator___item__eq "hash::HashMapIterator::(abstract_collection::MapIterator::item=)"
207 typedef void (* hash___HashMapIterator___init_t)(val_t self, val_t param0, int* init_table);
208 void hash___HashMapIterator___init(val_t self, val_t param0, int* init_table);
209 #define LOCATE_hash___HashMapIterator___init "hash::HashMapIterator::init"
210 val_t NEW_HashMapIterator_hash___HashMapIterator___init(val_t p0);
211 typedef val_t (* hash___HashSet___iterator_t)(val_t self);
212 val_t hash___HashSet___iterator(val_t self);
213 #define LOCATE_hash___HashSet___iterator "hash::HashSet::(abstract_collection::Collection::iterator)"
214 typedef val_t (* hash___HashSet___is_empty_t)(val_t self);
215 val_t hash___HashSet___is_empty(val_t self);
216 #define LOCATE_hash___HashSet___is_empty "hash::HashSet::(abstract_collection::Collection::is_empty)"
217 typedef val_t (* hash___HashSet___has_t)(val_t self, val_t param0);
218 val_t hash___HashSet___has(val_t self, val_t param0);
219 #define LOCATE_hash___HashSet___has "hash::HashSet::(abstract_collection::Collection::has)"
220 typedef val_t (* hash___HashSet___first_t)(val_t self);
221 val_t hash___HashSet___first(val_t self);
222 #define LOCATE_hash___HashSet___first "hash::HashSet::(abstract_collection::Collection::first)"
223 typedef void (* hash___HashSet___clear_t)(val_t self);
224 void hash___HashSet___clear(val_t self);
225 #define LOCATE_hash___HashSet___clear "hash::HashSet::(abstract_collection::RemovableCollection::clear)"
226 typedef void (* hash___HashSet___remove_t)(val_t self, val_t param0);
227 void hash___HashSet___remove(val_t self, val_t param0);
228 #define LOCATE_hash___HashSet___remove "hash::HashSet::(abstract_collection::RemovableCollection::remove)"
229 typedef void (* hash___HashSet___add_t)(val_t self, val_t param0);
230 void hash___HashSet___add(val_t self, val_t param0);
231 #define LOCATE_hash___HashSet___add "hash::HashSet::(abstract_collection::SimpleCollection::add)"
232 typedef void (* hash___HashSet___init_t)(val_t self, int* init_table);
233 void hash___HashSet___init(val_t self, int* init_table);
234 #define LOCATE_hash___HashSet___init "hash::HashSet::init"
235 val_t NEW_HashSet_hash___HashSet___init();
236 typedef val_t (* hash___HashSetNode___key_t)(val_t self);
237 val_t hash___HashSetNode___key(val_t self);
238 #define LOCATE_hash___HashSetNode___key "hash::HashSetNode::(hash::HashNode::key)"
239 typedef void (* hash___HashSetNode___key__eq_t)(val_t self, val_t param0);
240 void hash___HashSetNode___key__eq(val_t self, val_t param0);
241 #define LOCATE_hash___HashSetNode___key__eq "hash::HashSetNode::key="
242 typedef void (* hash___HashSetNode___init_t)(val_t self, val_t param0, int* init_table);
243 void hash___HashSetNode___init(val_t self, val_t param0, int* init_table);
244 #define LOCATE_hash___HashSetNode___init "hash::HashSetNode::init"
245 val_t NEW_HashSetNode_hash___HashSetNode___init(val_t p0);
246 typedef val_t (* hash___HashSetIterator___item_t)(val_t self);
247 val_t hash___HashSetIterator___item(val_t self);
248 #define LOCATE_hash___HashSetIterator___item "hash::HashSetIterator::(abstract_collection::Iterator::item)"
249 typedef void (* hash___HashSetIterator___next_t)(val_t self);
250 void hash___HashSetIterator___next(val_t self);
251 #define LOCATE_hash___HashSetIterator___next "hash::HashSetIterator::(abstract_collection::Iterator::next)"
252 typedef val_t (* hash___HashSetIterator___is_ok_t)(val_t self);
253 val_t hash___HashSetIterator___is_ok(val_t self);
254 #define LOCATE_hash___HashSetIterator___is_ok "hash::HashSetIterator::(abstract_collection::Iterator::is_ok)"
255 typedef void (* hash___HashSetIterator___init_t)(val_t self, val_t param0, int* init_table);
256 void hash___HashSetIterator___init(val_t self, val_t param0, int* init_table);
257 #define LOCATE_hash___HashSetIterator___init "hash::HashSetIterator::init"
258 val_t NEW_HashSetIterator_hash___HashSetIterator___init(val_t p0);
259 #endif