autoc 0.8 → 1.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.
- checksums.yaml +7 -0
- data/README +15 -4
- data/doc/AutoC.html +245 -0
- data/doc/AutoC/Code.html +520 -0
- data/doc/AutoC/Collection.html +923 -0
- data/doc/AutoC/HashMap.html +1161 -0
- data/doc/AutoC/HashSet.html +1122 -0
- data/doc/AutoC/List.html +1002 -0
- data/doc/AutoC/Module.html +951 -0
- data/doc/AutoC/Module/File.html +412 -0
- data/doc/AutoC/Module/Header.html +432 -0
- data/doc/AutoC/Module/Source.html +704 -0
- data/doc/AutoC/Priority.html +138 -0
- data/doc/AutoC/Queue.html +1167 -0
- data/doc/AutoC/Type.html +1152 -0
- data/doc/AutoC/UserDefinedType.html +655 -0
- data/doc/AutoC/Vector.html +856 -0
- data/doc/_index.html +299 -0
- data/doc/class_list.html +54 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +339 -0
- data/doc/file.README.html +112 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +26 -0
- data/doc/index.html +112 -0
- data/doc/js/app.js +219 -0
- data/doc/js/full_list.js +178 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +605 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/autoc.rb +35 -12
- data/lib/autoc/{code_builder.rb → code.rb} +230 -247
- data/lib/autoc/collection.rb +137 -0
- data/lib/autoc/collection/hash_map.rb +388 -0
- data/lib/autoc/collection/hash_set.rb +433 -0
- data/lib/autoc/collection/list.rb +410 -0
- data/lib/autoc/collection/queue.rb +514 -0
- data/lib/autoc/collection/vector.rb +295 -0
- data/lib/autoc/type.rb +198 -0
- data/test/test.c +921 -396
- data/test/test.h +41 -0
- data/test/test.rb +21 -26
- data/test/test_auto.c +2630 -3961
- data/test/test_auto.h +449 -560
- metadata +50 -17
- data/lib/autoc/data_struct_builder.rb +0 -1794
- data/lib/autoc/type_builder.rb +0 -24
- data/manual/manual.pdf +0 -0
@@ -0,0 +1,856 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Class: AutoC::Vector
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.7.4
|
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
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../';
|
20
|
+
framesUrl = "../frames.html#!AutoC/Vector.html";
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../_index.html">Index (V)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../AutoC.html" title="AutoC (module)">AutoC</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">Vector</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Class: AutoC::Vector
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName"><span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next"><span class='object_link'><a href="Code.html" title="AutoC::Code (class)">Code</a></span></li>
|
82
|
+
|
83
|
+
<li class="next"><span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></li>
|
84
|
+
|
85
|
+
<li class="next"><span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></li>
|
86
|
+
|
87
|
+
<li class="next">AutoC::Vector</li>
|
88
|
+
|
89
|
+
</ul>
|
90
|
+
<a href="#" class="inheritanceTree">show all</a>
|
91
|
+
|
92
|
+
</dd>
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
<dt class="r2 last">Defined in:</dt>
|
103
|
+
<dd class="r2 last">lib/autoc/collection/vector.rb</dd>
|
104
|
+
|
105
|
+
</dl>
|
106
|
+
<div class="clear"></div>
|
107
|
+
|
108
|
+
<h2>Overview</h2><div class="docstring">
|
109
|
+
<div class="discussion">
|
110
|
+
<div class="paragraph">
|
111
|
+
<p>Vector is an ordered random access sequence container.</p>
|
112
|
+
</div>
|
113
|
+
<div class="paragraph">
|
114
|
+
<p>The collection’s C++ counterpart is <code>std::vector<></code> template class.</p>
|
115
|
+
</div>
|
116
|
+
<div class="sect1">
|
117
|
+
<h2 id="_generated_c_interface">Generated C interface</h2>
|
118
|
+
<div class="sectionbody">
|
119
|
+
<div class="sect2">
|
120
|
+
<h3 id="_collection_management">Collection management</h3>
|
121
|
+
<table class="tableblock frame-all grid-all" style="width:100%; ">
|
122
|
+
<colgroup>
|
123
|
+
<col style="width:50%;">
|
124
|
+
<col style="width:50%;">
|
125
|
+
</colgroup>
|
126
|
+
<tbody>
|
127
|
+
<tr>
|
128
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Copy(<strong><em>Type</em></strong> * <code>dst</code>, <strong><em>Type</em></strong> * <code>src</code>)</p></td>
|
129
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Create a new vector <code>dst</code> filled with the contents of <code>src</code>.
|
130
|
+
A copy operation is performed on every element in <code>src</code>.
|
131
|
+
</p><p class="tableblock">NOTE: Previous contents of <code>dst</code> is overwritten.</p></td>
|
132
|
+
</tr>
|
133
|
+
<tr>
|
134
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Ctor(<strong><em>Type</em></strong> * <code>self</code>, <strong><em>size_t</em></strong> <code>size</code>)</p></td>
|
135
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Create a new vector <code>self</code> of size <code>size</code>.
|
136
|
+
The elements are initialized with either supplied or generated default parameterless constructor.
|
137
|
+
</p><p class="tableblock">WARNING: <code>size</code> must be greater than zero.
|
138
|
+
</p><p class="tableblock">NOTE: Previous contents of <code>self</code> is overwritten.</p></td>
|
139
|
+
</tr>
|
140
|
+
<tr>
|
141
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Dtor(<strong><em>Type</em></strong> * <code>self</code>)</p></td>
|
142
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Destroy vector <code>self</code>.
|
143
|
+
Stored elements are destroyed as well by calling the respective destructors.</p></td>
|
144
|
+
</tr>
|
145
|
+
<tr>
|
146
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Equal(<strong><em>Type</em></strong> * <code>lt</code>, <strong><em>Type</em></strong> * <code>rt</code>)</p></td>
|
147
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Return non-zero value if vectors <code>lt</code> and <code>rt</code> are considered equal by contents and zero value otherwise.</p></td>
|
148
|
+
</tr>
|
149
|
+
<tr>
|
150
|
+
<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> * <code>self</code>)</p></td>
|
151
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Return hash code for vector <code>self</code>.</p></td>
|
152
|
+
</tr>
|
153
|
+
</tbody>
|
154
|
+
</table>
|
155
|
+
|
156
|
+
</div>
|
157
|
+
<div class="sect2">
|
158
|
+
<h3 id="_basic_operations">Basic operations</h3>
|
159
|
+
<table class="tableblock frame-all grid-all" style="width:100%; ">
|
160
|
+
<colgroup>
|
161
|
+
<col style="width:50%;">
|
162
|
+
<col style="width:50%;">
|
163
|
+
</colgroup>
|
164
|
+
<tbody>
|
165
|
+
<tr>
|
166
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>type</sub>Get(<strong><em>Type</em></strong> * <code>self</code>, <strong><em>size_t</em></strong> <code>index</code>)</p></td>
|
167
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the element stored in <code>self</code> at position <code>index</code>.
|
168
|
+
</p><p class="tableblock">WARNING: <code>index</code> <strong>must</strong> be a valid index otherwise the behavior is undefined. See <sub>type</sub>Within().</p></td>
|
169
|
+
</tr>
|
170
|
+
<tr>
|
171
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Resize(<strong><em>Type</em></strong> * <code>self</code>, <strong><em>size_t</em></strong> <code>size</code>)</p></td>
|
172
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Set new size of vector <code>self</code> to <code>size</code>.
|
173
|
+
</p><p class="tableblock">If new size is greater than the old one, extra elements are created with default parameterless constructors.
|
174
|
+
If new size is smaller the the old one, excessive elements are destroyed.
|
175
|
+
</p><p class="tableblock">WARNING: <code>size</code> <strong>must</strong> be greater than zero.</p></td>
|
176
|
+
</tr>
|
177
|
+
<tr>
|
178
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Set(<strong><em>Type</em></strong> * <code>self</code>, <strong><em>size_t</em></strong> <code>index</code>, <strong><em>E</em></strong> <code>what</code>)</p></td>
|
179
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Store a <em>copy</em> of the element <code>what</code> in vector <code>self</code> at position <code>index</code> destroying previous contents.
|
180
|
+
</p><p class="tableblock">WARNING: <code>index</code> <strong>must</strong> be a valid index otherwise the behavior is undefined. See <sub>type</sub>Within().</p></td>
|
181
|
+
</tr>
|
182
|
+
<tr>
|
183
|
+
<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> * <code>self</code>)</p></td>
|
184
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Return number of elements stored in vector <code>self</code>.</p></td>
|
185
|
+
</tr>
|
186
|
+
<tr>
|
187
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Sort(<strong><em>Type</em></strong> * <code>self</code>)</p></td>
|
188
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Perform a sorting operation on the contents of vector <code>self</code> utilizing either generated of user supplied ordering functions.</p></td>
|
189
|
+
</tr>
|
190
|
+
<tr>
|
191
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Within(<strong><em>Type</em></strong> * <code>self</code>, <strong><em>size_t</em></strong> <code>index</code>)</p></td>
|
192
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Return non-zero value if <code>index</code> is a valid index and zero value otherwise.
|
193
|
+
Valid index belongs to the range 0 … <sub>type</sub>Size()-1.</p></td>
|
194
|
+
</tr>
|
195
|
+
</tbody>
|
196
|
+
</table>
|
197
|
+
|
198
|
+
</div>
|
199
|
+
<div class="sect2">
|
200
|
+
<h3 id="_iteration">Iteration</h3>
|
201
|
+
<table class="tableblock frame-all grid-all" style="width:100%; ">
|
202
|
+
<colgroup>
|
203
|
+
<col style="width:50%;">
|
204
|
+
<col style="width:50%;">
|
205
|
+
</colgroup>
|
206
|
+
<tbody>
|
207
|
+
<tr>
|
208
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>it</sub>Ctor(<strong><em>IteratorType</em></strong> * <code>it</code>, <strong><em>Type</em></strong> * <code>self</code>)</p></td>
|
209
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Create a new forward iterator <code>it</code> on vector <code>self</code>.
|
210
|
+
</p><p class="tableblock">NOTE: Previous contents of <code>it</code> is overwritten.</p></td>
|
211
|
+
</tr>
|
212
|
+
<tr>
|
213
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>it</sub>CtorEx(<strong><em>IteratorType</em></strong> * <code>it</code>, <strong><em>Type</em></strong> * <code>self</code>, <strong><em>int</em></strong> <code>forward</code>)</p></td>
|
214
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Create a new iterator <code>it</code> on vector <code>self</code>.
|
215
|
+
Non-zero value of <code>forward</code> specifies a forward iterator, zero value specifies a backward iterator.
|
216
|
+
</p><p class="tableblock">NOTE: Previous contents of <code>it</code> is overwritten.</p></td>
|
217
|
+
</tr>
|
218
|
+
<tr>
|
219
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>it</sub>Move(<strong><em>IteratorType</em></strong> * <code>it</code>)</p></td>
|
220
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Advance iterator position of <code>it</code> <strong>and</strong> return non-zero value if new position is valid and zero value otherwise.</p></td>
|
221
|
+
</tr>
|
222
|
+
<tr>
|
223
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>it</sub>Get(<strong><em>IteratorType</em></strong> * <code>it</code>)</p></td>
|
224
|
+
<td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of current element pointed to by the iterator <code>it</code>.
|
225
|
+
</p><p class="tableblock">WARNING: current position <strong>must</strong> be valid otherwise the behavior is undefined. See <sub>it</sub>Move().</p></td>
|
226
|
+
</tr>
|
227
|
+
</tbody>
|
228
|
+
</table>
|
229
|
+
|
230
|
+
</div>
|
231
|
+
</div>
|
232
|
+
</div>
|
233
|
+
|
234
|
+
</div>
|
235
|
+
</div>
|
236
|
+
<div class="tags">
|
237
|
+
|
238
|
+
|
239
|
+
</div>
|
240
|
+
<h2>Constant Summary</h2>
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
<h2>Instance Attribute Summary</h2>
|
249
|
+
|
250
|
+
<h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
|
251
|
+
<p class="inherited"><span class='object_link'><a href="Collection.html#element-instance_method" title="AutoC::Collection#element (method)">#element</a></span></p>
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
<h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
|
256
|
+
<p class="inherited"><span class='object_link'><a href="Type.html#type-instance_method" title="AutoC::Type#type (method)">#type</a></span></p>
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
<h2>
|
261
|
+
Instance Method Summary
|
262
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
263
|
+
</h2>
|
264
|
+
|
265
|
+
<ul class="summary">
|
266
|
+
|
267
|
+
<li class="public ">
|
268
|
+
<span class="summary_signature">
|
269
|
+
|
270
|
+
<a href="#ctor-instance_method" title="#ctor (instance method)">- (Object) <strong>ctor</strong>(*args) </a>
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
</span>
|
275
|
+
|
276
|
+
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
285
|
+
|
286
|
+
</li>
|
287
|
+
|
288
|
+
|
289
|
+
<li class="public ">
|
290
|
+
<span class="summary_signature">
|
291
|
+
|
292
|
+
<a href="#write_exported_declarations-instance_method" title="#write_exported_declarations (instance method)">- (Object) <strong>write_exported_declarations</strong>(stream, declare, define) </a>
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
</span>
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
307
|
+
|
308
|
+
</li>
|
309
|
+
|
310
|
+
|
311
|
+
<li class="public ">
|
312
|
+
<span class="summary_signature">
|
313
|
+
|
314
|
+
<a href="#write_exported_types-instance_method" title="#write_exported_types (instance method)">- (Object) <strong>write_exported_types</strong>(stream) </a>
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
</span>
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
329
|
+
|
330
|
+
</li>
|
331
|
+
|
332
|
+
|
333
|
+
<li class="public ">
|
334
|
+
<span class="summary_signature">
|
335
|
+
|
336
|
+
<a href="#write_implementations-instance_method" title="#write_implementations (instance method)">- (Object) <strong>write_implementations</strong>(stream, define) </a>
|
337
|
+
|
338
|
+
|
339
|
+
|
340
|
+
</span>
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
|
350
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
351
|
+
|
352
|
+
</li>
|
353
|
+
|
354
|
+
|
355
|
+
</ul>
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
|
368
|
+
<p class="inherited"><span class='object_link'><a href="Collection.html#coerce-class_method" title="AutoC::Collection.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Collection.html#copy-instance_method" title="AutoC::Collection#copy (method)">#copy</a></span>, <span class='object_link'><a href="Collection.html#dtor-instance_method" title="AutoC::Collection#dtor (method)">#dtor</a></span>, <span class='object_link'><a href="Collection.html#entities-instance_method" title="AutoC::Collection#entities (method)">#entities</a></span>, <span class='object_link'><a href="Collection.html#equal-instance_method" title="AutoC::Collection#equal (method)">#equal</a></span>, <span class='object_link'><a href="Collection.html#identify-instance_method" title="AutoC::Collection#identify (method)">#identify</a></span>, <span class='object_link'><a href="Collection.html#initialize-instance_method" title="AutoC::Collection#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="Collection.html#less-instance_method" title="AutoC::Collection#less (method)">#less</a></span></p>
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
|
379
|
+
<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#entities-instance_method" title="AutoC::Type#entities (method)">#entities</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#initialize-instance_method" title="AutoC::Type#initialize (method)">#initialize</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#static-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>
|
380
|
+
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="Code.html" title="AutoC::Code (class)">Code</a></span></h3>
|
390
|
+
<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#entities-instance_method" title="AutoC::Code#entities (method)">#entities</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>
|
391
|
+
<div id="constructor_details" class="method_details_list">
|
392
|
+
<h2>Constructor Details</h2>
|
393
|
+
|
394
|
+
<p class="notice">This class inherits a constructor from <span class='object_link'><a href="Collection.html#initialize-instance_method" title="AutoC::Collection#initialize (method)">AutoC::Collection</a></span></p>
|
395
|
+
|
396
|
+
</div>
|
397
|
+
<div id="method_missing_details" class="method_details_list">
|
398
|
+
<h2>Dynamic Method Handling</h2>
|
399
|
+
<p class="notice super">
|
400
|
+
This class handles dynamic methods through the <tt>method_missing</tt> method
|
401
|
+
|
402
|
+
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>
|
403
|
+
|
404
|
+
</p>
|
405
|
+
|
406
|
+
</div>
|
407
|
+
|
408
|
+
|
409
|
+
<div id="instance_method_details" class="method_details_list">
|
410
|
+
<h2>Instance Method Details</h2>
|
411
|
+
|
412
|
+
|
413
|
+
<div class="method_details first">
|
414
|
+
<h3 class="signature first" id="ctor-instance_method">
|
415
|
+
|
416
|
+
- (<tt>Object</tt>) <strong>ctor</strong>(*args)
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
|
421
|
+
|
422
|
+
</h3><table class="source_code">
|
423
|
+
<tr>
|
424
|
+
<td>
|
425
|
+
<pre class="lines">
|
426
|
+
|
427
|
+
|
428
|
+
120
|
429
|
+
121
|
430
|
+
122</pre>
|
431
|
+
</td>
|
432
|
+
<td>
|
433
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection/vector.rb', line 120</span>
|
434
|
+
|
435
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_ctor'>ctor</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
|
436
|
+
<span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'> provides no default constructor</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
437
|
+
<span class='kw'>end</span></pre>
|
438
|
+
</td>
|
439
|
+
</tr>
|
440
|
+
</table>
|
441
|
+
</div>
|
442
|
+
|
443
|
+
<div class="method_details ">
|
444
|
+
<h3 class="signature " id="write_exported_declarations-instance_method">
|
445
|
+
|
446
|
+
- (<tt>Object</tt>) <strong>write_exported_declarations</strong>(stream, declare, define)
|
447
|
+
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
|
452
|
+
</h3><table class="source_code">
|
453
|
+
<tr>
|
454
|
+
<td>
|
455
|
+
<pre class="lines">
|
456
|
+
|
457
|
+
|
458
|
+
145
|
459
|
+
146
|
460
|
+
147
|
461
|
+
148
|
462
|
+
149
|
463
|
+
150
|
464
|
+
151
|
465
|
+
152
|
466
|
+
153
|
467
|
+
154
|
468
|
+
155
|
469
|
+
156
|
470
|
+
157
|
471
|
+
158
|
472
|
+
159
|
473
|
+
160
|
474
|
+
161
|
475
|
+
162
|
476
|
+
163
|
477
|
+
164
|
478
|
+
165
|
479
|
+
166
|
480
|
+
167
|
481
|
+
168
|
482
|
+
169
|
483
|
+
170
|
484
|
+
171
|
485
|
+
172
|
486
|
+
173
|
487
|
+
174
|
488
|
+
175
|
489
|
+
176
|
490
|
+
177
|
491
|
+
178
|
492
|
+
179
|
493
|
+
180
|
494
|
+
181
|
495
|
+
182
|
496
|
+
183
|
497
|
+
184
|
498
|
+
185
|
499
|
+
186
|
500
|
+
187
|
501
|
+
188
|
502
|
+
189
|
503
|
+
190
|
504
|
+
191
|
505
|
+
192
|
506
|
+
193</pre>
|
507
|
+
</td>
|
508
|
+
<td>
|
509
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection/vector.rb', line 145</span>
|
510
|
+
|
511
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_write_exported_declarations'>write_exported_declarations</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>
|
512
|
+
<span class='id identifier rubyid_stream'>stream</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
|
513
|
+
</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_ctor'>ctor</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'>*, size_t);
|
514
|
+
</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_dtor'>dtor</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'>*);
|
515
|
+
</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_copy'>copy</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'>*, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>*);
|
516
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_equal'>equal</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'>*, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>*);
|
517
|
+
</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_resize'>resize</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'>*, size_t);
|
518
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> size_t </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_identify'>identify</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'>*);
|
519
|
+
</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'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* self) {
|
520
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
521
|
+
return self->element_count;
|
522
|
+
}
|
523
|
+
</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_within'>within</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'>* self, size_t index) {
|
524
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
525
|
+
return index < </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
526
|
+
}
|
527
|
+
</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_element'>element</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'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* self, size_t index) {
|
528
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> result;
|
529
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
530
|
+
</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_within'>within</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, index));
|
531
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>result</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self->values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
532
|
+
return result;
|
533
|
+
}
|
534
|
+
</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_set'>set</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'>* self, size_t index, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> value) {
|
535
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
536
|
+
</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_within'>within</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, index));
|
537
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self->values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
538
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self->values[index]</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>value</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
539
|
+
}
|
540
|
+
</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_sort'>sort</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'>*);
|
541
|
+
#define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, type) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtorEx'>itCtorEx</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, type, 1)
|
542
|
+
</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_itCtorEx'>itCtorEx</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'>* self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* vector, int forward) {
|
543
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
544
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(vector);
|
545
|
+
self->vector = vector;
|
546
|
+
self->forward = forward;
|
547
|
+
self->index = forward ? -1 : </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(vector);
|
548
|
+
}
|
549
|
+
</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'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'>* self) {
|
550
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
551
|
+
if(self->forward) ++self->index; else --self->index;
|
552
|
+
return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_within'>within</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self->vector, self->index);
|
553
|
+
}
|
554
|
+
</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_element'>element</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_itGet'>itGet</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'>* self) {
|
555
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
556
|
+
return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_get'>get</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self->vector, self->index);
|
557
|
+
}
|
558
|
+
</span><span class='tstring_end'>$</span></span>
|
559
|
+
<span class='kw'>end</span></pre>
|
560
|
+
</td>
|
561
|
+
</tr>
|
562
|
+
</table>
|
563
|
+
</div>
|
564
|
+
|
565
|
+
<div class="method_details ">
|
566
|
+
<h3 class="signature " id="write_exported_types-instance_method">
|
567
|
+
|
568
|
+
- (<tt>Object</tt>) <strong>write_exported_types</strong>(stream)
|
569
|
+
|
570
|
+
|
571
|
+
|
572
|
+
|
573
|
+
|
574
|
+
</h3><table class="source_code">
|
575
|
+
<tr>
|
576
|
+
<td>
|
577
|
+
<pre class="lines">
|
578
|
+
|
579
|
+
|
580
|
+
124
|
581
|
+
125
|
582
|
+
126
|
583
|
+
127
|
584
|
+
128
|
585
|
+
129
|
586
|
+
130
|
587
|
+
131
|
588
|
+
132
|
589
|
+
133
|
590
|
+
134
|
591
|
+
135
|
592
|
+
136
|
593
|
+
137
|
594
|
+
138
|
595
|
+
139
|
596
|
+
140
|
597
|
+
141
|
598
|
+
142
|
599
|
+
143</pre>
|
600
|
+
</td>
|
601
|
+
<td>
|
602
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection/vector.rb', line 124</span>
|
603
|
+
|
604
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_write_exported_types'>write_exported_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
|
605
|
+
<span class='id identifier rubyid_stream'>stream</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
|
606
|
+
/***
|
607
|
+
**** </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_element'>element</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='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>)
|
608
|
+
***/
|
609
|
+
</span><span class='tstring_end'>$</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_public?'>public?</span>
|
610
|
+
<span class='id identifier rubyid_stream'>stream</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
|
611
|
+
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'>;
|
612
|
+
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'>;
|
613
|
+
struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
|
614
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* values;
|
615
|
+
size_t element_count;
|
616
|
+
};
|
617
|
+
struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
|
618
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* vector;
|
619
|
+
int index;
|
620
|
+
int forward;
|
621
|
+
};
|
622
|
+
</span><span class='tstring_end'>$</span></span>
|
623
|
+
<span class='kw'>end</span></pre>
|
624
|
+
</td>
|
625
|
+
</tr>
|
626
|
+
</table>
|
627
|
+
</div>
|
628
|
+
|
629
|
+
<div class="method_details ">
|
630
|
+
<h3 class="signature " id="write_implementations-instance_method">
|
631
|
+
|
632
|
+
- (<tt>Object</tt>) <strong>write_implementations</strong>(stream, define)
|
633
|
+
|
634
|
+
|
635
|
+
|
636
|
+
|
637
|
+
|
638
|
+
</h3><table class="source_code">
|
639
|
+
<tr>
|
640
|
+
<td>
|
641
|
+
<pre class="lines">
|
642
|
+
|
643
|
+
|
644
|
+
195
|
645
|
+
196
|
646
|
+
197
|
647
|
+
198
|
648
|
+
199
|
649
|
+
200
|
650
|
+
201
|
651
|
+
202
|
652
|
+
203
|
653
|
+
204
|
654
|
+
205
|
655
|
+
206
|
656
|
+
207
|
657
|
+
208
|
658
|
+
209
|
659
|
+
210
|
660
|
+
211
|
661
|
+
212
|
662
|
+
213
|
663
|
+
214
|
664
|
+
215
|
665
|
+
216
|
666
|
+
217
|
667
|
+
218
|
668
|
+
219
|
669
|
+
220
|
670
|
+
221
|
671
|
+
222
|
672
|
+
223
|
673
|
+
224
|
674
|
+
225
|
675
|
+
226
|
676
|
+
227
|
677
|
+
228
|
678
|
+
229
|
679
|
+
230
|
680
|
+
231
|
681
|
+
232
|
682
|
+
233
|
683
|
+
234
|
684
|
+
235
|
685
|
+
236
|
686
|
+
237
|
687
|
+
238
|
688
|
+
239
|
689
|
+
240
|
690
|
+
241
|
691
|
+
242
|
692
|
+
243
|
693
|
+
244
|
694
|
+
245
|
695
|
+
246
|
696
|
+
247
|
697
|
+
248
|
698
|
+
249
|
699
|
+
250
|
700
|
+
251
|
701
|
+
252
|
702
|
+
253
|
703
|
+
254
|
704
|
+
255
|
705
|
+
256
|
706
|
+
257
|
707
|
+
258
|
708
|
+
259
|
709
|
+
260
|
710
|
+
261
|
711
|
+
262
|
712
|
+
263
|
713
|
+
264
|
714
|
+
265
|
715
|
+
266
|
716
|
+
267
|
717
|
+
268
|
718
|
+
269
|
719
|
+
270
|
720
|
+
271
|
721
|
+
272
|
722
|
+
273
|
723
|
+
274
|
724
|
+
275
|
725
|
+
276
|
726
|
+
277
|
727
|
+
278
|
728
|
+
279
|
729
|
+
280
|
730
|
+
281
|
731
|
+
282
|
732
|
+
283
|
733
|
+
284
|
734
|
+
285
|
735
|
+
286
|
736
|
+
287
|
737
|
+
288
|
738
|
+
289
|
739
|
+
290</pre>
|
740
|
+
</td>
|
741
|
+
<td>
|
742
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection/vector.rb', line 195</span>
|
743
|
+
|
744
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_write_implementations'>write_implementations</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>
|
745
|
+
<span class='id identifier rubyid_stream'>stream</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
|
746
|
+
static void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_allocate'>allocate</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'>* self, size_t element_count) {
|
747
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
748
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(element_count > 0);
|
749
|
+
self->element_count = element_count;
|
750
|
+
self->values = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</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_malloc'>malloc</span><span class='embexpr_end'>}</span><span class='tstring_content'>(element_count*sizeof(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</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_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self->values);
|
751
|
+
}
|
752
|
+
</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_ctor'>ctor</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'>* self, size_t element_count) {
|
753
|
+
size_t index;
|
754
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
755
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_allocate'>allocate</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, element_count);
|
756
|
+
for(index = 0; index < </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self); ++index) {
|
757
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_ctor'>ctor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self->values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
758
|
+
}
|
759
|
+
}
|
760
|
+
</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_dtor'>dtor</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'>* self) {
|
761
|
+
size_t index;
|
762
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
763
|
+
for(index = 0; index < </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self); ++index) {
|
764
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self->values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
765
|
+
}
|
766
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_free'>free</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self->values);
|
767
|
+
}
|
768
|
+
</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_copy'>copy</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'>* dst, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* src) {
|
769
|
+
size_t index, size;
|
770
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src);
|
771
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst);
|
772
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_allocate'>allocate</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst, size = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src));
|
773
|
+
for(index = 0; index < size; ++index) {
|
774
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>dst->values[index]</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>src->values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
775
|
+
}
|
776
|
+
}
|
777
|
+
</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_equal'>equal</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'>* lt, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* rt) {
|
778
|
+
size_t index, size;
|
779
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt);
|
780
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(rt);
|
781
|
+
if(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt) == (size = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(rt))) {
|
782
|
+
for(index = 0; index < size; ++index) {
|
783
|
+
if(!</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_equal'>equal</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>lt->values[index]</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>rt->values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>) return 0;
|
784
|
+
}
|
785
|
+
return 1;
|
786
|
+
} else
|
787
|
+
return 0;
|
788
|
+
}
|
789
|
+
</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_resize'>resize</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'>* self, size_t new_element_count) {
|
790
|
+
size_t index, element_count, from, to;
|
791
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
792
|
+
if((element_count = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self)) != new_element_count) {
|
793
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* values = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</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_malloc'>malloc</span><span class='embexpr_end'>}</span><span class='tstring_content'>(new_element_count*sizeof(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</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_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(values);
|
794
|
+
from = AUTOC_MIN(element_count, new_element_count);
|
795
|
+
to = AUTOC_MAX(element_count, new_element_count);
|
796
|
+
for(index = 0; index < from; ++index) {
|
797
|
+
values[index] = self->values[index];
|
798
|
+
}
|
799
|
+
if(element_count > new_element_count) {
|
800
|
+
for(index = from; index < to; ++index) {
|
801
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self->values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
802
|
+
}
|
803
|
+
} else {
|
804
|
+
for(index = from; index < to; ++index) {
|
805
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_ctor'>ctor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
806
|
+
}
|
807
|
+
}
|
808
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_free'>free</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self->values);
|
809
|
+
self->values = values;
|
810
|
+
self->element_count = new_element_count;
|
811
|
+
}
|
812
|
+
}
|
813
|
+
</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_identify'>identify</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'>* self) {
|
814
|
+
size_t index, result = 0;
|
815
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
816
|
+
for(index = 0; index < self->element_count; ++index) {
|
817
|
+
result ^= </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_identify'>identify</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self->values[index]</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
818
|
+
result = AUTOC_RCYCLE(result);
|
819
|
+
}
|
820
|
+
return result;
|
821
|
+
}
|
822
|
+
static int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_comparator'>comparator</span><span class='embexpr_end'>}</span><span class='tstring_content'>(void* lp_, void* rp_) {
|
823
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* lp = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>*)lp_;
|
824
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* rp = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>*)rp_;
|
825
|
+
if(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_equal'>equal</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>*lp</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>*rp</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>) {
|
826
|
+
return 0;
|
827
|
+
} else if(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_less'>less</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>*lp</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>*rp</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>) {
|
828
|
+
return -1;
|
829
|
+
} else {
|
830
|
+
return +1;
|
831
|
+
}
|
832
|
+
}
|
833
|
+
</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_sort'>sort</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'>* self) {
|
834
|
+
typedef int (*F)(const void*, const void*);
|
835
|
+
</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
|
836
|
+
qsort(self->values, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self), sizeof(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>), (F)</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_comparator'>comparator</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
|
837
|
+
}
|
838
|
+
</span><span class='tstring_end'>$</span></span>
|
839
|
+
<span class='kw'>end</span></pre>
|
840
|
+
</td>
|
841
|
+
</tr>
|
842
|
+
</table>
|
843
|
+
</div>
|
844
|
+
|
845
|
+
</div>
|
846
|
+
|
847
|
+
</div>
|
848
|
+
|
849
|
+
<div id="footer">
|
850
|
+
Generated on Fri Jun 6 18:05:35 2014 by
|
851
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
852
|
+
0.8.7.4 (ruby-2.0.0).
|
853
|
+
</div>
|
854
|
+
|
855
|
+
</body>
|
856
|
+
</html>
|