autoc 1.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES.md +3 -0
  3. data/README.md +149 -0
  4. data/cmake/AutoC.cmake +39 -0
  5. data/lib/autoc/allocators.rb +51 -0
  6. data/lib/autoc/association.rb +126 -0
  7. data/lib/autoc/box.rb +311 -0
  8. data/lib/autoc/cmake.rb +54 -0
  9. data/lib/autoc/collection.rb +83 -110
  10. data/lib/autoc/composite.rb +333 -0
  11. data/lib/autoc/cstring.rb +263 -0
  12. data/lib/autoc/function.rb +247 -0
  13. data/lib/autoc/hash_map.rb +328 -0
  14. data/lib/autoc/hash_set.rb +339 -0
  15. data/lib/autoc/hashers.rb +102 -0
  16. data/lib/autoc/list.rb +444 -0
  17. data/lib/autoc/module.rb +434 -0
  18. data/lib/autoc/openmp.rb +15 -0
  19. data/lib/autoc/primitive.rb +27 -0
  20. data/lib/autoc/ranges.rb +707 -0
  21. data/lib/autoc/record.rb +247 -0
  22. data/lib/autoc/scaffold/docs.rb +117 -0
  23. data/lib/autoc/scaffold/generic_value.rb +86 -0
  24. data/lib/autoc/scaffold/project.rb +75 -0
  25. data/lib/autoc/scaffold/test_cstring.rb +113 -0
  26. data/lib/autoc/scaffold/test_cstring_hash_set.rb +35 -0
  27. data/lib/autoc/scaffold/test_int_box.rb +22 -0
  28. data/lib/autoc/scaffold/test_int_hash_set.rb +448 -0
  29. data/lib/autoc/scaffold/test_int_list.rb +106 -0
  30. data/lib/autoc/scaffold/test_int_vector.rb +83 -0
  31. data/lib/autoc/scaffold/test_v2v_hash_map.rb +83 -0
  32. data/lib/autoc/scaffold/test_value_hash_set.rb +60 -0
  33. data/lib/autoc/scaffold/test_value_vector.rb +146 -0
  34. data/{test/test.rb → lib/autoc/scaffold/tests.rb} +179 -158
  35. data/lib/autoc/scaffold.rb +12 -0
  36. data/lib/autoc/sequential.rb +99 -0
  37. data/lib/autoc/set.rb +331 -0
  38. data/lib/autoc/std.rb +149 -0
  39. data/lib/autoc/type.rb +93 -531
  40. data/lib/autoc/vector.rb +290 -0
  41. data/lib/autoc.rb +4 -35
  42. metadata +55 -85
  43. data/.yardopts +0 -4
  44. data/CHANGES +0 -23
  45. data/README +0 -28
  46. data/doc/AutoC/Code.html +0 -523
  47. data/doc/AutoC/Collection.html +0 -1214
  48. data/doc/AutoC/HashMap.html +0 -1441
  49. data/doc/AutoC/HashSet.html +0 -916
  50. data/doc/AutoC/Iterators/Bidirectional.html +0 -204
  51. data/doc/AutoC/Iterators/Unidirectional.html +0 -200
  52. data/doc/AutoC/Iterators.html +0 -126
  53. data/doc/AutoC/List.html +0 -1039
  54. data/doc/AutoC/Maps.html +0 -290
  55. data/doc/AutoC/Module/File.html +0 -415
  56. data/doc/AutoC/Module/Header.html +0 -437
  57. data/doc/AutoC/Module/Source.html +0 -707
  58. data/doc/AutoC/Module.html +0 -948
  59. data/doc/AutoC/Priority.html +0 -138
  60. data/doc/AutoC/Queue.html +0 -1172
  61. data/doc/AutoC/Reference.html +0 -735
  62. data/doc/AutoC/Sets.html +0 -520
  63. data/doc/AutoC/String.html +0 -1394
  64. data/doc/AutoC/TreeMap.html +0 -1565
  65. data/doc/AutoC/TreeSet.html +0 -1447
  66. data/doc/AutoC/Type.html +0 -2148
  67. data/doc/AutoC/UserDefinedType.html +0 -1047
  68. data/doc/AutoC/Vector.html +0 -987
  69. data/doc/AutoC.html +0 -331
  70. data/doc/_index.html +0 -388
  71. data/doc/class_list.html +0 -51
  72. data/doc/css/common.css +0 -1
  73. data/doc/css/full_list.css +0 -58
  74. data/doc/css/style.css +0 -481
  75. data/doc/file.CHANGES.html +0 -117
  76. data/doc/file.README.html +0 -116
  77. data/doc/file_list.html +0 -61
  78. data/doc/frames.html +0 -17
  79. data/doc/index.html +0 -116
  80. data/doc/js/app.js +0 -243
  81. data/doc/js/full_list.js +0 -216
  82. data/doc/js/jquery.js +0 -4
  83. data/doc/method_list.html +0 -1307
  84. data/doc/top-level-namespace.html +0 -112
  85. data/lib/autoc/code.rb +0 -237
  86. data/lib/autoc/collection/hash_map.rb +0 -385
  87. data/lib/autoc/collection/hash_set.rb +0 -337
  88. data/lib/autoc/collection/iterator.rb +0 -39
  89. data/lib/autoc/collection/list.rb +0 -429
  90. data/lib/autoc/collection/map.rb +0 -41
  91. data/lib/autoc/collection/queue.rb +0 -517
  92. data/lib/autoc/collection/set.rb +0 -134
  93. data/lib/autoc/collection/tree_map.rb +0 -464
  94. data/lib/autoc/collection/tree_set.rb +0 -611
  95. data/lib/autoc/collection/vector.rb +0 -336
  96. data/lib/autoc/string.rb +0 -492
  97. data/test/test_auto.c +0 -7141
  98. data/test/test_auto.h +0 -753
  99. data/test/test_char_string.rb +0 -270
  100. data/test/test_int_list.rb +0 -35
  101. data/test/test_int_tree_set.rb +0 -111
  102. data/test/test_int_vector.rb +0 -34
  103. data/test/test_value_hash_map.rb +0 -162
  104. data/test/test_value_hash_set.rb +0 -173
  105. data/test/test_value_list.rb +0 -193
  106. data/test/test_value_queue.rb +0 -275
  107. data/test/test_value_tree_map.rb +0 -176
  108. data/test/test_value_tree_set.rb +0 -173
  109. data/test/test_value_vector.rb +0 -155
  110. data/test/value.rb +0 -80
@@ -1,1441 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Class: AutoC::HashMap
8
-
9
- &mdash; Documentation by YARD 0.9.5
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "AutoC::HashMap";
19
- relpath = '../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../class_list.html"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../_index.html">Index (H)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../AutoC.html" title="AutoC (module)">AutoC</a></span></span>
41
- &raquo;
42
- <span class="title">HashMap</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <iframe id="search_frame" src="../class_list.html"></iframe>
63
-
64
- <div id="content"><h1>Class: AutoC::HashMap
65
-
66
-
67
-
68
- </h1>
69
- <div class="box_info">
70
-
71
- <dl>
72
- <dt>Inherits:</dt>
73
- <dd>
74
- <span class="inheritName"><span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></span>
75
-
76
- <ul class="fullTree">
77
- <li>Object</li>
78
-
79
- <li class="next"><span class='object_link'><a href="Code.html" title="AutoC::Code (class)">Code</a></span></li>
80
-
81
- <li class="next"><span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></li>
82
-
83
- <li class="next"><span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></li>
84
-
85
- <li class="next">AutoC::HashMap</li>
86
-
87
- </ul>
88
- <a href="#" class="inheritanceTree">show all</a>
89
-
90
- </dd>
91
- </dl>
92
-
93
-
94
-
95
-
96
-
97
-
98
- <dl>
99
- <dt>Includes:</dt>
100
- <dd><span class='object_link'><a href="Maps.html" title="AutoC::Maps (module)">Maps</a></span></dd>
101
- </dl>
102
-
103
-
104
-
105
-
106
-
107
-
108
- <dl>
109
- <dt>Defined in:</dt>
110
- <dd>lib/autoc/collection/hash_map.rb</dd>
111
- </dl>
112
-
113
- </div>
114
-
115
- <h2>Overview</h2><div class="docstring">
116
- <div class="discussion">
117
- <div class="paragraph">
118
- <p>HashMap&lt; <strong><em>K</em></strong> &#8658; <strong><em>E</em></strong> &gt; is a hash-based unordered random access container holding unique keys with each key having an element bound to it.</p>
119
- </div>
120
- <div class="paragraph">
121
- <p>HashMap is backed by <span class='object_link'><a href="HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span> container.</p>
122
- </div>
123
- <div class="paragraph">
124
- <p>The collection&#8217;s C++ counterpart is std::unordered_map&lt;&gt; template class.</p>
125
- </div>
126
- <div class="sect1">
127
- <h2 id="_generated_c_interface">Generated C interface</h2>
128
- <div class="sectionbody">
129
- <div class="sect2">
130
- <h3 id="_collection_management">Collection management</h3>
131
- <table class="tableblock frame-all grid-all spread">
132
- <colgroup>
133
- <col style="width: 50%;">
134
- <col style="width: 50%;">
135
- </colgroup>
136
- <tbody>
137
- <tr>
138
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Copy(<strong><em>Type</em></strong> * dst, <strong><em>Type</em></strong> * src)</p></td>
139
- <td class="tableblock halign-left valign-top"><p class="tableblock">Create a new map dst filled with the contents of src.
140
- A copy operation is performed on all keys and values in src.
141
- </p><p class="tableblock">NOTE: Previous contents of dst is overwritten.</p></td>
142
- </tr>
143
- <tr>
144
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Ctor(<strong><em>Type</em></strong> * self)</p></td>
145
- <td class="tableblock halign-left valign-top"><p class="tableblock">Create a new empty map self.
146
- </p><p class="tableblock">NOTE: Previous contents of self is overwritten.</p></td>
147
- </tr>
148
- <tr>
149
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Dtor(<strong><em>Type</em></strong> * self)</p></td>
150
- <td class="tableblock halign-left valign-top"><p class="tableblock">Destroy map self.
151
- Stored keys and values are destroyed as well by calling the respective destructors.</p></td>
152
- </tr>
153
- <tr>
154
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Equal(<strong><em>Type</em></strong> * lt, <strong><em>Type</em></strong> * rt)</p></td>
155
- <td class="tableblock halign-left valign-top"><p class="tableblock">Return non-zero value if maps lt and rt are considered equal by contents and zero value otherwise.</p></td>
156
- </tr>
157
- <tr>
158
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>size_t</em></strong> <sub>type</sub>Identify(<strong><em>Type</em></strong> * self)</p></td>
159
- <td class="tableblock halign-left valign-top"><p class="tableblock">Return hash code for map self.</p></td>
160
- </tr>
161
- </tbody>
162
- </table>
163
- </div>
164
- <div class="sect2">
165
- <h3 id="_basic_operations">Basic operations</h3>
166
- <table class="tableblock frame-all grid-all spread">
167
- <colgroup>
168
- <col style="width: 50%;">
169
- <col style="width: 50%;">
170
- </colgroup>
171
- <tbody>
172
- <tr>
173
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>ContainsKey(<strong><em>Type</em></strong> * self, <strong><em>K</em></strong> key)</p></td>
174
- <td class="tableblock halign-left valign-top"><p class="tableblock">Return non-zero value if map self contains an entry with a key considered equal to the key key and zero value otherwise.</p></td>
175
- </tr>
176
- <tr>
177
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Empty(<strong><em>Type</em></strong> * self)</p></td>
178
- <td class="tableblock halign-left valign-top"><p class="tableblock">Return non-zero value if map self contains no entries and zero value otherwise.</p></td>
179
- </tr>
180
- <tr>
181
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>type</sub>Get(<strong><em>Type</em></strong> * self, <strong><em>K</em></strong> key)</p></td>
182
- <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the element in self bound to a key which is considered equal to the key key.
183
- </p><p class="tableblock">WARNING: self <strong>must</strong> contain such key otherwise the behavior is undefined. See <sub>type</sub>ContainsKey().</p></td>
184
- </tr>
185
- <tr>
186
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Purge(<strong><em>Type</em></strong> * self)</p></td>
187
- <td class="tableblock halign-left valign-top"><p class="tableblock">Remove and destroy all keys and elements stored in self.</p></td>
188
- </tr>
189
- <tr>
190
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Put(<strong><em>Type</em></strong> * self, <strong><em>K</em></strong> key, <strong><em>E</em></strong> value)</p></td>
191
- <td class="tableblock halign-left valign-top"><p class="tableblock">Put a <em>copy</em> of the element value bound to a <em>copy</em> of the key key into self <strong>only if</strong> there is no such key in self which is considered equal to key.
192
- </p><p class="tableblock">Return non-zero value on successful put and zero value otherwise.</p></td>
193
- </tr>
194
- <tr>
195
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Replace(<strong><em>Type</em></strong> * self, <strong><em>K</em></strong> key, <strong><em>E</em></strong> value)</p></td>
196
- <td class="tableblock halign-left valign-top"><p class="tableblock">If self contains a key which is considered equal to the key key,
197
- remove and destroy that key along with an element bound to it
198
- and put a new pair built of the <em>copies</em> of key and value,
199
- otherwise no nothing.
200
- </p><p class="tableblock">Return non-zero value if the replacement was actually performed and zero value otherwise.</p></td>
201
- </tr>
202
- <tr>
203
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Remove(<strong><em>Type</em></strong> * self, <strong><em>K</em></strong> key)</p></td>
204
- <td class="tableblock halign-left valign-top"><p class="tableblock">Remove and destroy a key which is considered equal to the key key.
205
- Destroy an element bound to that key.
206
- </p><p class="tableblock">Return non-zero value on successful key/element pair removal and zero value otherwise.</p></td>
207
- </tr>
208
- <tr>
209
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>size_t</em></strong> <sub>type</sub>Size(<strong><em>Type</em></strong> * self)</p></td>
210
- <td class="tableblock halign-left valign-top"><p class="tableblock">Return number of key/element pairs stored in self.</p></td>
211
- </tr>
212
- </tbody>
213
- </table>
214
- </div>
215
- <div class="sect2">
216
- <h3 id="_iteration">Iteration</h3>
217
- <table class="tableblock frame-all grid-all spread">
218
- <colgroup>
219
- <col style="width: 50%;">
220
- <col style="width: 50%;">
221
- </colgroup>
222
- <tbody>
223
- <tr>
224
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>it</sub>Ctor(<strong><em>IteratorType</em></strong> * it, <strong><em>Type</em></strong> * self)</p></td>
225
- <td class="tableblock halign-left valign-top"><p class="tableblock">Create a new iterator it on map self.
226
- </p><p class="tableblock">NOTE: As the map is an unordered sequence, the traversal order is unspecified.
227
- </p><p class="tableblock">NOTE: Previous contents of it is overwritten.</p></td>
228
- </tr>
229
- <tr>
230
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>it</sub>Move(<strong><em>IteratorType</em></strong> * it)</p></td>
231
- <td class="tableblock halign-left valign-top"><p class="tableblock">Advance iterator position of it <strong>and</strong> return non-zero value if new position is valid and zero value otherwise.</p></td>
232
- </tr>
233
- <tr>
234
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>K</em></strong> <sub>it</sub>GetKey(<strong><em>IteratorType</em></strong> * it)</p></td>
235
- <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the key from a key/value pair pointed to by the iterator it.
236
- </p><p class="tableblock">WARNING: current position <strong>must</strong> be valid otherwise the behavior is undefined. See <sub>it</sub>Move().</p></td>
237
- </tr>
238
- <tr>
239
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>it</sub>GetElement(<strong><em>IteratorType</em></strong> * it)</p></td>
240
- <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the element from a key/element pair pointed to by the iterator it.
241
- </p><p class="tableblock">WARNING: current position <strong>must</strong> be valid otherwise the behavior is undefined. See <sub>it</sub>Move().</p></td>
242
- </tr>
243
- <tr>
244
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>it</sub>Get(<strong><em>IteratorType</em></strong> * it)</p></td>
245
- <td class="tableblock halign-left valign-top"><p class="tableblock">Alias for <sub>it</sub>GetElement().</p></td>
246
- </tr>
247
- </tbody>
248
- </table>
249
- </div>
250
- </div>
251
- </div>
252
-
253
- </div>
254
- </div>
255
- <div class="tags">
256
-
257
-
258
- </div>
259
-
260
-
261
-
262
- <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
263
- <ul class="summary">
264
-
265
- <li class="public ">
266
- <span class="summary_signature">
267
-
268
- <a href="#key-instance_method" title="#key (instance method)">#<strong>key</strong> &#x21d2; Object </a>
269
-
270
-
271
-
272
- </span>
273
-
274
-
275
-
276
-
277
- <span class="note title readonly">readonly</span>
278
-
279
-
280
-
281
-
282
-
283
-
284
-
285
-
286
-
287
- <span class="summary_desc"><div class='inline'><div class="paragraph">
288
- <p>Returns the value of attribute key.</p>
289
- </div></div></span>
290
-
291
- </li>
292
-
293
-
294
- </ul>
295
-
296
-
297
-
298
-
299
-
300
- <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
301
- <p class="inherited"><span class='object_link'><a href="Collection.html#element-instance_method" title="AutoC::Collection#element (method)">#element</a></span>, <span class='object_link'><a href="Collection.html#it_ref-instance_method" title="AutoC::Collection#it_ref (method)">#it_ref</a></span></p>
302
-
303
-
304
-
305
- <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
306
- <p class="inherited"><span class='object_link'><a href="Type.html#type-instance_method" title="AutoC::Type#type (method)">#type</a></span>, <span class='object_link'><a href="Type.html#type_ref-instance_method" title="AutoC::Type#type_ref (method)">#type_ref</a></span></p>
307
-
308
-
309
-
310
- <h2>
311
- Instance Method Summary
312
- <small><a href="#" class="summary_toggle">collapse</a></small>
313
- </h2>
314
-
315
- <ul class="summary">
316
-
317
- <li class="public ">
318
- <span class="summary_signature">
319
-
320
- <a href="#%3D%3D-instance_method" title="#== (instance method)">#<strong>==</strong>(other) &#x21d2; Object </a>
321
-
322
-
323
-
324
- (also: #eql?)
325
-
326
- </span>
327
-
328
-
329
-
330
-
331
-
332
-
333
-
334
-
335
-
336
- <span class="summary_desc"><div class='inline'></div></span>
337
-
338
- </li>
339
-
340
-
341
- <li class="public ">
342
- <span class="summary_signature">
343
-
344
- <a href="#comparable%3F-instance_method" title="#comparable? (instance method)">#<strong>comparable?</strong> &#x21d2; Boolean </a>
345
-
346
-
347
-
348
- </span>
349
-
350
-
351
-
352
-
353
-
354
-
355
-
356
-
357
-
358
- <span class="summary_desc"><div class='inline'></div></span>
359
-
360
- </li>
361
-
362
-
363
- <li class="public ">
364
- <span class="summary_signature">
365
-
366
- <a href="#copyable%3F-instance_method" title="#copyable? (instance method)">#<strong>copyable?</strong> &#x21d2; Boolean </a>
367
-
368
-
369
-
370
- </span>
371
-
372
-
373
-
374
-
375
-
376
-
377
-
378
-
379
-
380
- <span class="summary_desc"><div class='inline'></div></span>
381
-
382
- </li>
383
-
384
-
385
- <li class="public ">
386
- <span class="summary_signature">
387
-
388
- <a href="#entities-instance_method" title="#entities (instance method)">#<strong>entities</strong> &#x21d2; Object </a>
389
-
390
-
391
-
392
- </span>
393
-
394
-
395
-
396
-
397
-
398
-
399
-
400
-
401
-
402
- <span class="summary_desc"><div class='inline'></div></span>
403
-
404
- </li>
405
-
406
-
407
- <li class="public ">
408
- <span class="summary_signature">
409
-
410
- <a href="#hash-instance_method" title="#hash (instance method)">#<strong>hash</strong> &#x21d2; Object </a>
411
-
412
-
413
-
414
- </span>
415
-
416
-
417
-
418
-
419
-
420
-
421
-
422
-
423
-
424
- <span class="summary_desc"><div class='inline'></div></span>
425
-
426
- </li>
427
-
428
-
429
- <li class="public ">
430
- <span class="summary_signature">
431
-
432
- <a href="#hashable%3F-instance_method" title="#hashable? (instance method)">#<strong>hashable?</strong> &#x21d2; Boolean </a>
433
-
434
-
435
-
436
- </span>
437
-
438
-
439
-
440
-
441
-
442
-
443
-
444
-
445
-
446
- <span class="summary_desc"><div class='inline'></div></span>
447
-
448
- </li>
449
-
450
-
451
- <li class="public ">
452
- <span class="summary_signature">
453
-
454
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(type, key_type, value_type, visibility = :public) &#x21d2; HashMap </a>
455
-
456
-
457
-
458
- </span>
459
-
460
-
461
- <span class="note title constructor">constructor</span>
462
-
463
-
464
-
465
-
466
-
467
-
468
-
469
-
470
- <span class="summary_desc"><div class='inline'><div class="paragraph">
471
- <p>A new instance of HashMap.</p>
472
- </div></div></span>
473
-
474
- </li>
475
-
476
-
477
- <li class="public ">
478
- <span class="summary_signature">
479
-
480
- <a href="#write_impls-instance_method" title="#write_impls (instance method)">#<strong>write_impls</strong>(stream, define) &#x21d2; Object </a>
481
-
482
-
483
-
484
- </span>
485
-
486
-
487
-
488
-
489
-
490
-
491
-
492
-
493
-
494
- <span class="summary_desc"><div class='inline'></div></span>
495
-
496
- </li>
497
-
498
-
499
- <li class="public ">
500
- <span class="summary_signature">
501
-
502
- <a href="#write_intf_decls-instance_method" title="#write_intf_decls (instance method)">#<strong>write_intf_decls</strong>(stream, declare, define) &#x21d2; Object </a>
503
-
504
-
505
-
506
- </span>
507
-
508
-
509
-
510
-
511
-
512
-
513
-
514
-
515
-
516
- <span class="summary_desc"><div class='inline'></div></span>
517
-
518
- </li>
519
-
520
-
521
- <li class="public ">
522
- <span class="summary_signature">
523
-
524
- <a href="#write_intf_types-instance_method" title="#write_intf_types (instance method)">#<strong>write_intf_types</strong>(stream) &#x21d2; Object </a>
525
-
526
-
527
-
528
- </span>
529
-
530
-
531
-
532
-
533
-
534
-
535
-
536
-
537
-
538
- <span class="summary_desc"><div class='inline'></div></span>
539
-
540
- </li>
541
-
542
-
543
- </ul>
544
-
545
-
546
-
547
-
548
-
549
-
550
-
551
-
552
-
553
-
554
-
555
-
556
-
557
-
558
-
559
-
560
-
561
- <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
562
- <p class="inherited"><span class='object_link'><a href="Collection.html#constructible%3F-instance_method" title="AutoC::Collection#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Collection.html#destructible%3F-instance_method" title="AutoC::Collection#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Collection.html#initializable%3F-instance_method" title="AutoC::Collection#initializable? (method)">#initializable?</a></span></p>
563
-
564
-
565
-
566
-
567
-
568
-
569
-
570
-
571
-
572
-
573
- <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
574
- <p class="inherited"><span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#coerce-class_method" title="AutoC::Type.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Type.html#constructible%3F-instance_method" title="AutoC::Type#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Type.html#destructible%3F-instance_method" title="AutoC::Type#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#initializable%3F-instance_method" title="AutoC::Type#initializable? (method)">#initializable?</a></span>, <span class='object_link'><a href="Type.html#inline-instance_method" title="AutoC::Type#inline (method)">#inline</a></span>, <span class='object_link'><a href="Type.html#malloc-instance_method" title="AutoC::Type#malloc (method)">#malloc</a></span>, <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">#method_missing</a></span>, <span class='object_link'><a href="Type.html#orderable%3F-instance_method" title="AutoC::Type#orderable? (method)">#orderable?</a></span>, <span class='object_link'><a href="Type.html#prefix-instance_method" title="AutoC::Type#prefix (method)">#prefix</a></span>, <span class='object_link'><a href="Type.html#private%3F-instance_method" title="AutoC::Type#private? (method)">#private?</a></span>, <span class='object_link'><a href="Type.html#public%3F-instance_method" title="AutoC::Type#public? (method)">#public?</a></span>, <span class='object_link'><a href="Type.html#sortable%3F-instance_method" title="AutoC::Type#sortable? (method)">#sortable?</a></span>, <span class='object_link'><a href="Type.html#static-instance_method" title="AutoC::Type#static (method)">#static</a></span>, <span class='object_link'><a href="Type.html#static%3F-instance_method" title="AutoC::Type#static? (method)">#static?</a></span>, <span class='object_link'><a href="Type.html#write_decls-instance_method" title="AutoC::Type#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Type.html#write_defs-instance_method" title="AutoC::Type#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Type.html#write_intf-instance_method" title="AutoC::Type#write_intf (method)">#write_intf</a></span></p>
575
-
576
-
577
-
578
-
579
-
580
-
581
-
582
-
583
-
584
- <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Code.html" title="AutoC::Code (class)">Code</a></span></h3>
585
- <p class="inherited"><span class='object_link'><a href="Code.html#attach-instance_method" title="AutoC::Code#attach (method)">#attach</a></span>, <span class='object_link'><a href="Code.html#priority-instance_method" title="AutoC::Code#priority (method)">#priority</a></span>, <span class='object_link'><a href="Code.html#source_size-instance_method" title="AutoC::Code#source_size (method)">#source_size</a></span>, <span class='object_link'><a href="Code.html#write_decls-instance_method" title="AutoC::Code#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Code.html#write_defs-instance_method" title="AutoC::Code#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Code.html#write_intf-instance_method" title="AutoC::Code#write_intf (method)">#write_intf</a></span></p>
586
- <div id="constructor_details" class="method_details_list">
587
- <h2>Constructor Details</h2>
588
-
589
- <div class="method_details first">
590
- <h3 class="signature first" id="initialize-instance_method">
591
-
592
- #<strong>initialize</strong>(type, key_type, value_type, visibility = :public) &#x21d2; <tt><span class='object_link'><a href="" title="AutoC::HashMap (class)">HashMap</a></span></tt>
593
-
594
-
595
-
596
-
597
-
598
- </h3><div class="docstring">
599
- <div class="discussion">
600
- <div class="paragraph">
601
- <p>Returns a new instance of HashMap</p>
602
- </div>
603
-
604
- </div>
605
- </div>
606
- <div class="tags">
607
-
608
-
609
- </div><table class="source_code">
610
- <tr>
611
- <td>
612
- <pre class="lines">
613
-
614
-
615
- 151
616
- 152
617
- 153
618
- 154
619
- 155
620
- 156
621
- 157
622
- 158</pre>
623
- </td>
624
- <td>
625
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 151</span>
626
-
627
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_key_type'>key_type</span><span class='comma'>,</span> <span class='id identifier rubyid_value_type'>value_type</span><span class='comma'>,</span> <span class='id identifier rubyid_visibility'>visibility</span> <span class='op'>=</span> <span class='symbol'>:public</span><span class='rparen'>)</span>
628
- <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_value_type'>value_type</span><span class='comma'>,</span> <span class='id identifier rubyid_visibility'>visibility</span><span class='rparen'>)</span>
629
- <span class='ivar'>@key</span> <span class='op'>=</span> <span class='const'>Type</span><span class='period'>.</span><span class='id identifier rubyid_coerce'>coerce</span><span class='lparen'>(</span><span class='id identifier rubyid_key_type'>key_type</span><span class='rparen'>)</span>
630
- <span class='ivar'>@entry</span> <span class='op'>=</span> <span class='const'>UserDefinedType</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:type</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entry'>entry</span><span class='comma'>,</span> <span class='symbol'>:identify</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryIdentify'>entryIdentify</span><span class='comma'>,</span> <span class='symbol'>:equal</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryEqual'>entryEqual</span><span class='comma'>,</span> <span class='symbol'>:copy</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryCopy'>entryCopy</span><span class='comma'>,</span> <span class='symbol'>:dtor</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryDtor'>entryDtor</span><span class='rparen'>)</span>
631
- <span class='ivar'>@set</span> <span class='op'>=</span> <span class='const'>HashSet</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_set'>set</span><span class='comma'>,</span> <span class='ivar'>@entry</span><span class='comma'>,</span> <span class='symbol'>:static</span><span class='rparen'>)</span>
632
- <span class='id identifier rubyid_element_requirement'>element_requirement</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
633
- <span class='id identifier rubyid_key_requirement'>key_requirement</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
634
- <span class='kw'>end</span></pre>
635
- </td>
636
- </tr>
637
- </table>
638
- </div>
639
-
640
- </div>
641
- <div id="method_missing_details" class="method_details_list">
642
- <h2>Dynamic Method Handling</h2>
643
- <p class="notice super">
644
- This class handles dynamic methods through the <tt>method_missing</tt> method
645
-
646
- in the class <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">AutoC::Type</a></span>
647
-
648
- </p>
649
-
650
- </div>
651
-
652
- <div id="instance_attr_details" class="attr_details">
653
- <h2>Instance Attribute Details</h2>
654
-
655
-
656
- <span id=""></span>
657
- <div class="method_details first">
658
- <h3 class="signature first" id="key-instance_method">
659
-
660
- #<strong>key</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
661
-
662
-
663
-
664
-
665
-
666
- </h3><div class="docstring">
667
- <div class="discussion">
668
- <div class="paragraph">
669
- <p>Returns the value of attribute key</p>
670
- </div>
671
-
672
- </div>
673
- </div>
674
- <div class="tags">
675
-
676
-
677
- </div><table class="source_code">
678
- <tr>
679
- <td>
680
- <pre class="lines">
681
-
682
-
683
- 139
684
- 140
685
- 141</pre>
686
- </td>
687
- <td>
688
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 139</span>
689
-
690
- <span class='kw'>def</span> <span class='id identifier rubyid_key'>key</span>
691
- <span class='ivar'>@key</span>
692
- <span class='kw'>end</span></pre>
693
- </td>
694
- </tr>
695
- </table>
696
- </div>
697
-
698
- </div>
699
-
700
-
701
- <div id="instance_method_details" class="method_details_list">
702
- <h2>Instance Method Details</h2>
703
-
704
-
705
- <div class="method_details first">
706
- <h3 class="signature first" id="==-instance_method">
707
-
708
- #<strong>==</strong>(other) &#x21d2; <tt>Object</tt>
709
-
710
-
711
-
712
- <span class="aliases">Also known as:
713
- <span class="names"><span id='eql?-instance_method'>eql?</span></span>
714
- </span>
715
-
716
-
717
-
718
- </h3><table class="source_code">
719
- <tr>
720
- <td>
721
- <pre class="lines">
722
-
723
-
724
- 145</pre>
725
- </td>
726
- <td>
727
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 145</span>
728
-
729
- <span class='kw'>def</span> <span class='op'>==</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span> <span class='kw'>super</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_key'>key</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span> <span class='kw'>end</span></pre>
730
- </td>
731
- </tr>
732
- </table>
733
- </div>
734
-
735
- <div class="method_details ">
736
- <h3 class="signature " id="comparable?-instance_method">
737
-
738
- #<strong>comparable?</strong> &#x21d2; <tt>Boolean</tt>
739
-
740
-
741
-
742
-
743
-
744
- </h3><div class="docstring">
745
- <div class="discussion">
746
-
747
-
748
- </div>
749
- </div>
750
- <div class="tags">
751
-
752
- <p class="tag_title">Returns:</p>
753
- <ul class="return">
754
-
755
- <li>
756
-
757
-
758
- <span class='type'>(<tt>Boolean</tt>)</span>
759
-
760
-
761
-
762
- </li>
763
-
764
- </ul>
765
-
766
- </div><table class="source_code">
767
- <tr>
768
- <td>
769
- <pre class="lines">
770
-
771
-
772
- 162</pre>
773
- </td>
774
- <td>
775
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 162</span>
776
-
777
- <span class='kw'>def</span> <span class='id identifier rubyid_comparable?'>comparable?</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_comparable?'>comparable?</span> <span class='kw'>end</span></pre>
778
- </td>
779
- </tr>
780
- </table>
781
- </div>
782
-
783
- <div class="method_details ">
784
- <h3 class="signature " id="copyable?-instance_method">
785
-
786
- #<strong>copyable?</strong> &#x21d2; <tt>Boolean</tt>
787
-
788
-
789
-
790
-
791
-
792
- </h3><div class="docstring">
793
- <div class="discussion">
794
-
795
-
796
- </div>
797
- </div>
798
- <div class="tags">
799
-
800
- <p class="tag_title">Returns:</p>
801
- <ul class="return">
802
-
803
- <li>
804
-
805
-
806
- <span class='type'>(<tt>Boolean</tt>)</span>
807
-
808
-
809
-
810
- </li>
811
-
812
- </ul>
813
-
814
- </div><table class="source_code">
815
- <tr>
816
- <td>
817
- <pre class="lines">
818
-
819
-
820
- 160</pre>
821
- </td>
822
- <td>
823
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 160</span>
824
-
825
- <span class='kw'>def</span> <span class='id identifier rubyid_copyable?'>copyable?</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_copyable?'>copyable?</span> <span class='kw'>end</span></pre>
826
- </td>
827
- </tr>
828
- </table>
829
- </div>
830
-
831
- <div class="method_details ">
832
- <h3 class="signature " id="entities-instance_method">
833
-
834
- #<strong>entities</strong> &#x21d2; <tt>Object</tt>
835
-
836
-
837
-
838
-
839
-
840
- </h3><table class="source_code">
841
- <tr>
842
- <td>
843
- <pre class="lines">
844
-
845
-
846
- 149</pre>
847
- </td>
848
- <td>
849
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 149</span>
850
-
851
- <span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_key'>key</span> <span class='kw'>end</span></pre>
852
- </td>
853
- </tr>
854
- </table>
855
- </div>
856
-
857
- <div class="method_details ">
858
- <h3 class="signature " id="hash-instance_method">
859
-
860
- #<strong>hash</strong> &#x21d2; <tt>Object</tt>
861
-
862
-
863
-
864
-
865
-
866
- </h3><table class="source_code">
867
- <tr>
868
- <td>
869
- <pre class="lines">
870
-
871
-
872
- 143</pre>
873
- </td>
874
- <td>
875
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 143</span>
876
-
877
- <span class='kw'>def</span> <span class='id identifier rubyid_hash'>hash</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>^</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span> <span class='kw'>end</span></pre>
878
- </td>
879
- </tr>
880
- </table>
881
- </div>
882
-
883
- <div class="method_details ">
884
- <h3 class="signature " id="hashable?-instance_method">
885
-
886
- #<strong>hashable?</strong> &#x21d2; <tt>Boolean</tt>
887
-
888
-
889
-
890
-
891
-
892
- </h3><div class="docstring">
893
- <div class="discussion">
894
-
895
-
896
- </div>
897
- </div>
898
- <div class="tags">
899
-
900
- <p class="tag_title">Returns:</p>
901
- <ul class="return">
902
-
903
- <li>
904
-
905
-
906
- <span class='type'>(<tt>Boolean</tt>)</span>
907
-
908
-
909
-
910
- </li>
911
-
912
- </ul>
913
-
914
- </div><table class="source_code">
915
- <tr>
916
- <td>
917
- <pre class="lines">
918
-
919
-
920
- 164</pre>
921
- </td>
922
- <td>
923
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 164</span>
924
-
925
- <span class='kw'>def</span> <span class='id identifier rubyid_hashable?'>hashable?</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_hashable?'>hashable?</span> <span class='kw'>end</span></pre>
926
- </td>
927
- </tr>
928
- </table>
929
- </div>
930
-
931
- <div class="method_details ">
932
- <h3 class="signature " id="write_impls-instance_method">
933
-
934
- #<strong>write_impls</strong>(stream, define) &#x21d2; <tt>Object</tt>
935
-
936
-
937
-
938
-
939
-
940
- </h3><table class="source_code">
941
- <tr>
942
- <td>
943
- <pre class="lines">
944
-
945
-
946
- 196
947
- 197
948
- 198
949
- 199
950
- 200
951
- 201
952
- 202
953
- 203
954
- 204
955
- 205
956
- 206
957
- 207
958
- 208
959
- 209
960
- 210
961
- 211
962
- 212
963
- 213
964
- 214
965
- 215
966
- 216
967
- 217
968
- 218
969
- 219
970
- 220
971
- 221
972
- 222
973
- 223
974
- 224
975
- 225
976
- 226
977
- 227
978
- 228
979
- 229
980
- 230
981
- 231
982
- 232
983
- 233
984
- 234
985
- 235
986
- 236
987
- 237
988
- 238
989
- 239
990
- 240
991
- 241
992
- 242
993
- 243
994
- 244
995
- 245
996
- 246
997
- 247
998
- 248
999
- 249
1000
- 250
1001
- 251
1002
- 252
1003
- 253
1004
- 254
1005
- 255
1006
- 256
1007
- 257
1008
- 258
1009
- 259
1010
- 260
1011
- 261
1012
- 262
1013
- 263
1014
- 264
1015
- 265
1016
- 266
1017
- 267
1018
- 268
1019
- 269
1020
- 270
1021
- 271
1022
- 272
1023
- 273
1024
- 274
1025
- 275
1026
- 276
1027
- 277
1028
- 278
1029
- 279
1030
- 280
1031
- 281
1032
- 282
1033
- 283
1034
- 284
1035
- 285
1036
- 286
1037
- 287
1038
- 288
1039
- 289
1040
- 290
1041
- 291
1042
- 292
1043
- 293
1044
- 294
1045
- 295
1046
- 296
1047
- 297
1048
- 298
1049
- 299
1050
- 300
1051
- 301
1052
- 302
1053
- 303
1054
- 304
1055
- 305
1056
- 306
1057
- 307
1058
- 308
1059
- 309
1060
- 310
1061
- 311
1062
- 312
1063
- 313
1064
- 314
1065
- 315
1066
- 316
1067
- 317
1068
- 318
1069
- 319
1070
- 320
1071
- 321
1072
- 322
1073
- 323
1074
- 324
1075
- 325
1076
- 326
1077
- 327
1078
- 328
1079
- 329
1080
- 330
1081
- 331
1082
- 332
1083
- 333
1084
- 334
1085
- 335
1086
- 336
1087
- 337
1088
- 338
1089
- 339
1090
- 340
1091
- 341
1092
- 342
1093
- 343
1094
- 344
1095
- 345
1096
- 346
1097
- 347
1098
- 348
1099
- 349
1100
- 350
1101
- 351
1102
- 352
1103
- 353
1104
- 354
1105
- 355
1106
- 356
1107
- 357
1108
- 358
1109
- 359
1110
- 360
1111
- 361
1112
- 362
1113
- 363
1114
- 364
1115
- 365
1116
- 366
1117
- 367
1118
- 368
1119
- 369
1120
- 370
1121
- 371
1122
- 372
1123
- 373
1124
- 374
1125
- 375
1126
- 376
1127
- 377
1128
- 378
1129
- 379
1130
- 380</pre>
1131
- </td>
1132
- <td>
1133
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 196</span>
1134
-
1135
- <span class='kw'>def</span> <span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span>
1136
- <span class='kw'>super</span>
1137
- <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
1138
- #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> 1
1139
- #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'> 2
1140
- #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedValue'>ownedValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> 4
1141
- #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedKey'>ownedKey</span><span class='embexpr_end'>}</span><span class='tstring_content'> 8
1142
- static </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyOnlyRef'>entryKeyOnlyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> key) {
1143
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1144
- entry.key = *key;
1145
- entry.flags = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1146
- return entry;
1147
- }
1148
- static </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyValueRef'>entryKeyValueRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> key, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> value) {
1149
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1150
- entry.key = *key;
1151
- entry.value = *value;
1152
- entry.flags = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'> | </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1153
- return entry;
1154
- }
1155
- #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryIdentify'>entryIdentify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(obj) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryIdentifyRef'>entryIdentifyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;obj)
1156
- static size_t </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryIdentifyRef'>entryIdentifyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* entry) {
1157
- return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_identify'>identify</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1158
- }
1159
- #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryEqual'>entryEqual</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt, rt) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryEqualRef'>entryEqualRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;lt, &amp;rt)
1160
- static int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryEqualRef'>entryEqualRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* lt, </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* rt) {
1161
- return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_equal'>equal</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>lt-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>rt-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1162
- }
1163
- #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryCopy'>entryCopy</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst, src) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryCopyRef'>entryCopyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;dst, &amp;src)
1164
- static void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryCopyRef'>entryCopyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> dst, </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> src) {
1165
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1166
- dst-&gt;flags = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'> | </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedKey'>ownedKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1167
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dst-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>src-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1168
- if(src-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>) {
1169
- dst-&gt;flags |= (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> | </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedValue'>ownedValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1170
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>dst-&gt;value</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>src-&gt;value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1171
- }
1172
- }
1173
- #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryDtor'>entryDtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(obj) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryDtorRef'>entryDtorRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;obj)
1174
- static void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryDtorRef'>entryDtorRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* entry) {
1175
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(entry-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1176
- if(entry-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedKey'>ownedKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1177
- if(entry-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> &amp;&amp; entry-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedValue'>ownedValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry-&gt;value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1178
- }
1179
- static </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1180
- static int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsAllOf'>containsAllOf</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> other) {
1181
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> it;
1182
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it, self);
1183
- while(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itMove'>itMove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it)) {
1184
- int found = 0;
1185
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* e = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it);
1186
- if(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsKey'>containsKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(other, e-&gt;key)) {
1187
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> other_value = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_get'>get</span><span class='embexpr_end'>}</span><span class='tstring_content'>(other, e-&gt;key);
1188
- found = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_equal'>equal</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>e-&gt;value</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>other_value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1189
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>other_value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1190
- }
1191
- if(!found) return 0;
1192
- }
1193
- return 1;
1194
- }
1195
- </span><span class='tstring_end'>$</span></span>
1196
- <span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_write_intf_decls'>write_intf_decls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_static'>static</span><span class='comma'>,</span> <span class='id identifier rubyid_inline'>inline</span><span class='rparen'>)</span>
1197
- <span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_static'>static</span><span class='rparen'>)</span>
1198
- <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
1199
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor'>ctor</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1200
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1201
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_ctor'>ctor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1202
- }
1203
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dtor'>dtor</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1204
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1205
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1206
- }
1207
- static int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_putEntryRef'>putEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry) {
1208
- int absent;
1209
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1210
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(entry);
1211
- absent = !</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsKey'>containsKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, entry-&gt;key);
1212
- if(absent) </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_put'>put</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, *entry);
1213
- return absent;
1214
- }
1215
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_copy'>copy</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1216
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> it;
1217
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src);
1218
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst);
1219
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor'>ctor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst);
1220
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it, src);
1221
- while(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itMove'>itMove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it)) {
1222
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* e = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it);
1223
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_putEntryRef'>putEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst, e);
1224
- }
1225
- }
1226
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_equal'>equal</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1227
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt);
1228
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(rt);
1229
- return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt) == </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(rt) &amp;&amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsAllOf'>containsAllOf</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt, rt) &amp;&amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsAllOf'>containsAllOf</span><span class='embexpr_end'>}</span><span class='tstring_content'>(rt, lt);
1230
- }
1231
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_identify'>identify</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1232
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1233
- return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_identify'>identify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries); /* TODO : make use of the values&#39; hashes */
1234
- }
1235
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_purge'>purge</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
1236
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1237
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_purge'>purge</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1238
- }
1239
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> size_t </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
1240
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1241
- return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1242
- }
1243
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsKey'>containsKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key) {
1244
- int result;
1245
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1246
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1247
- result = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_contains'>contains</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyOnlyRef'>entryKeyOnlyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key));
1248
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1249
- return result;
1250
- }
1251
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_get'>get</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key) {
1252
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> result;
1253
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry, existing_entry;
1254
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1255
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsKey'>containsKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, key));
1256
- existing_entry = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyOnlyRef'>entryKeyOnlyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key));
1257
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>result</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>existing_entry.value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1258
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>existing_entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1259
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1260
- return result;
1261
- }
1262
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_put'>put</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> value) {
1263
- int result;
1264
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1265
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1266
- entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyValueRef'>entryKeyValueRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key, &amp;value);
1267
- result = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_putEntryRef'>putEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, &amp;entry);
1268
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1269
- return result;
1270
- }
1271
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_replace'>replace</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> value) {
1272
- int result;
1273
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1274
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1275
- entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyValueRef'>entryKeyValueRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key, &amp;value);
1276
- result = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_replace'>replace</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, entry);
1277
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1278
- return result;
1279
- }
1280
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_remove'>remove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key) {
1281
- int result;
1282
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1283
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1284
- result = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyOnlyRef'>entryKeyOnlyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key));
1285
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1286
- return result;
1287
- }
1288
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> map) {
1289
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1290
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(map);
1291
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it, &amp;map-&gt;entries);
1292
- }
1293
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itMove'>itMove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
1294
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1295
- return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_itMove'>itMove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it);
1296
- }
1297
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetKey'>itGetKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
1298
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> e;
1299
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key;
1300
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1301
- e = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1302
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>key</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>e-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1303
- return key;
1304
- }
1305
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetElement'>itGetElement</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
1306
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> e;
1307
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> value;
1308
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1309
- e = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1310
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(e-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1311
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>value</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>e-&gt;value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1312
- return value;
1313
- }
1314
- static </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
1315
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1316
- return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it);
1317
- }
1318
- </span><span class='tstring_end'>$</span></span>
1319
- <span class='kw'>end</span></pre>
1320
- </td>
1321
- </tr>
1322
- </table>
1323
- </div>
1324
-
1325
- <div class="method_details ">
1326
- <h3 class="signature " id="write_intf_decls-instance_method">
1327
-
1328
- #<strong>write_intf_decls</strong>(stream, declare, define) &#x21d2; <tt>Object</tt>
1329
-
1330
-
1331
-
1332
-
1333
-
1334
- </h3><table class="source_code">
1335
- <tr>
1336
- <td>
1337
- <pre class="lines">
1338
-
1339
-
1340
- 189
1341
- 190
1342
- 191
1343
- 192
1344
- 193
1345
- 194</pre>
1346
- </td>
1347
- <td>
1348
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 189</span>
1349
-
1350
- <span class='kw'>def</span> <span class='id identifier rubyid_write_intf_decls'>write_intf_decls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_declare'>declare</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span>
1351
- <span class='kw'>super</span>
1352
- <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
1353
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1354
- </span><span class='tstring_end'>$</span></span>
1355
- <span class='kw'>end</span></pre>
1356
- </td>
1357
- </tr>
1358
- </table>
1359
- </div>
1360
-
1361
- <div class="method_details ">
1362
- <h3 class="signature " id="write_intf_types-instance_method">
1363
-
1364
- #<strong>write_intf_types</strong>(stream) &#x21d2; <tt>Object</tt>
1365
-
1366
-
1367
-
1368
-
1369
-
1370
- </h3><table class="source_code">
1371
- <tr>
1372
- <td>
1373
- <pre class="lines">
1374
-
1375
-
1376
- 166
1377
- 167
1378
- 168
1379
- 169
1380
- 170
1381
- 171
1382
- 172
1383
- 173
1384
- 174
1385
- 175
1386
- 176
1387
- 177
1388
- 178
1389
- 179
1390
- 180
1391
- 181
1392
- 182
1393
- 183
1394
- 184
1395
- 185
1396
- 186
1397
- 187</pre>
1398
- </td>
1399
- <td>
1400
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 166</span>
1401
-
1402
- <span class='kw'>def</span> <span class='id identifier rubyid_write_intf_types'>write_intf_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1403
- <span class='kw'>super</span>
1404
- <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
1405
- typedef struct </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1406
- struct </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1407
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key;
1408
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> value;
1409
- unsigned flags;
1410
- };
1411
- </span><span class='tstring_end'>$</span></span>
1412
- <span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_write_intf_types'>write_intf_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1413
- <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
1414
- typedef struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1415
- typedef struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1416
- struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1417
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entries;
1418
- };
1419
- struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1420
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> it;
1421
- };
1422
- </span><span class='tstring_end'>$</span></span>
1423
- <span class='kw'>end</span></pre>
1424
- </td>
1425
- </tr>
1426
- </table>
1427
- </div>
1428
-
1429
- </div>
1430
-
1431
- </div>
1432
-
1433
- <div id="footer">
1434
- Generated on Wed Oct 12 12:27:12 2016 by
1435
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1436
- 0.9.5 (ruby-2.3.1).
1437
- </div>
1438
-
1439
- </div>
1440
- </body>
1441
- </html>