autoc 1.1 → 1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +3 -1
- data/CHANGES +15 -0
- data/README +2 -0
- data/doc/AutoC.html +84 -14
- data/doc/AutoC/Code.html +31 -31
- data/doc/AutoC/Collection.html +250 -182
- data/doc/AutoC/HashMap.html +565 -245
- data/doc/AutoC/HashSet.html +266 -264
- data/doc/AutoC/List.html +317 -249
- data/doc/AutoC/Module.html +66 -72
- data/doc/AutoC/Module/File.html +25 -25
- data/doc/AutoC/Module/Header.html +25 -25
- data/doc/AutoC/Module/Source.html +43 -43
- data/doc/AutoC/Priority.html +3 -3
- data/doc/AutoC/Queue.html +352 -286
- data/doc/AutoC/Reference.html +578 -0
- data/doc/AutoC/Type.html +941 -131
- data/doc/AutoC/UserDefinedType.html +64 -313
- data/doc/AutoC/Vector.html +336 -306
- data/doc/_index.html +22 -4
- data/doc/class_list.html +6 -2
- data/doc/file.CHANGES.html +102 -0
- data/doc/file.README.html +7 -4
- data/doc/file_list.html +8 -1
- data/doc/frames.html +1 -1
- data/doc/index.html +7 -4
- data/doc/js/full_list.js +4 -1
- data/doc/method_list.html +236 -118
- data/doc/top-level-namespace.html +3 -3
- data/lib/autoc.rb +3 -3
- data/lib/autoc/code.rb +11 -5
- data/lib/autoc/collection.rb +62 -56
- data/lib/autoc/collection/hash_map.rb +83 -63
- data/lib/autoc/collection/hash_set.rb +74 -64
- data/lib/autoc/collection/list.rb +48 -41
- data/lib/autoc/collection/queue.rb +53 -47
- data/lib/autoc/collection/vector.rb +63 -42
- data/lib/autoc/type.rb +326 -61
- data/test/test.c +120 -0
- data/test/test.rb +16 -2
- data/test/test_auto.c +1683 -987
- data/test/test_auto.h +491 -176
- metadata +22 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11ae44f4721df067b0dbb59a288d3d72cef3d57d
|
4
|
+
data.tar.gz: 89de40d76ed3cf3beaf5ee4ac3392eb3df6b9133
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f7bf12543d317658b89bed344a08f6d0ddc47c61a5585a7690c75a0d9d0acfcf09e69d07f892edc80c0f8afa1447030e46d03cd76f45f2d7f6fdcd03d8128a3
|
7
|
+
data.tar.gz: 7558ad5590ce8872d57603be29d07d4e080644a89eed4bc1df35a4a06a5c7cd7ca195c8bce8661aae4f80547b04730abce1efdeb3ad7bec5320a4fbfdd1967ea
|
data/.yardopts
CHANGED
data/CHANGES
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
== 1.2
|
2
|
+
|
3
|
+
Introduced counted reference type AutoC::Reference.
|
4
|
+
|
5
|
+
Introduced type capabilities/restrictions and optional operations for collections.
|
6
|
+
|
7
|
+
Made AutoC::Vector#sort() an optional operation.
|
8
|
+
|
9
|
+
== 1.1
|
10
|
+
|
11
|
+
Fixed online documentation generation issues.
|
12
|
+
|
13
|
+
== 1.0
|
14
|
+
|
15
|
+
Initial release of version 1.
|
data/README
CHANGED
data/doc/AutoC.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Module: AutoC
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— Documentation by YARD 0.8.7.6
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -94,10 +94,10 @@
|
|
94
94
|
<div class="olist arabic">
|
95
95
|
<ol class="arabic">
|
96
96
|
<li>
|
97
|
-
<p><span class='object_link'><a href="AutoC/Code.html" title="AutoC::Code (class)">Code</a></span>
|
97
|
+
<p><span class='object_link'><a href="AutoC/Code.html" title="AutoC::Code (class)">Code</a></span> generic C multi-source module generator.</p>
|
98
98
|
</li>
|
99
99
|
<li>
|
100
|
-
<p><span class='object_link'><a href="AutoC/Collection.html" title="AutoC::Collection (class)">Collection</a></span>
|
100
|
+
<p><span class='object_link'><a href="AutoC/Collection.html" title="AutoC::Collection (class)">Collection</a></span> strongly-typed data structure generators similar
|
101
101
|
to the C++ STL container classes.</p>
|
102
102
|
</li>
|
103
103
|
</ol>
|
@@ -135,7 +135,7 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
|
|
135
135
|
|
136
136
|
|
137
137
|
|
138
|
-
<strong class="classes">Classes:</strong> <span class='object_link'><a href="AutoC/Code.html" title="AutoC::Code (class)">Code</a></span>, <span class='object_link'><a href="AutoC/Collection.html" title="AutoC::Collection (class)">Collection</a></span>, <span class='object_link'><a href="AutoC/HashMap.html" title="AutoC::HashMap (class)">HashMap</a></span>, <span class='object_link'><a href="AutoC/HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span>, <span class='object_link'><a href="AutoC/List.html" title="AutoC::List (class)">List</a></span>, <span class='object_link'><a href="AutoC/Module.html" title="AutoC::Module (class)">Module</a></span>, <span class='object_link'><a href="AutoC/Queue.html" title="AutoC::Queue (class)">Queue</a></span>, <span class='object_link'><a href="AutoC/Type.html" title="AutoC::Type (class)">Type</a></span>, <span class='object_link'><a href="AutoC/UserDefinedType.html" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span>, <span class='object_link'><a href="AutoC/Vector.html" title="AutoC::Vector (class)">Vector</a></span>
|
138
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="AutoC/Code.html" title="AutoC::Code (class)">Code</a></span>, <span class='object_link'><a href="AutoC/Collection.html" title="AutoC::Collection (class)">Collection</a></span>, <span class='object_link'><a href="AutoC/HashMap.html" title="AutoC::HashMap (class)">HashMap</a></span>, <span class='object_link'><a href="AutoC/HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span>, <span class='object_link'><a href="AutoC/List.html" title="AutoC::List (class)">List</a></span>, <span class='object_link'><a href="AutoC/Module.html" title="AutoC::Module (class)">Module</a></span>, <span class='object_link'><a href="AutoC/Queue.html" title="AutoC::Queue (class)">Queue</a></span>, <span class='object_link'><a href="AutoC/Reference.html" title="AutoC::Reference (class)">Reference</a></span>, <span class='object_link'><a href="AutoC/Type.html" title="AutoC::Type (class)">Type</a></span>, <span class='object_link'><a href="AutoC/UserDefinedType.html" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span>, <span class='object_link'><a href="AutoC/Vector.html" title="AutoC::Vector (class)">Vector</a></span>
|
139
139
|
|
140
140
|
|
141
141
|
</p>
|
@@ -147,7 +147,7 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
|
|
147
147
|
<dt id="VERSION-constant" class="">VERSION =
|
148
148
|
|
149
149
|
</dt>
|
150
|
-
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>1.
|
150
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>1.2</span><span class='tstring_end'>"</span></span></pre></dd>
|
151
151
|
|
152
152
|
</dl>
|
153
153
|
|
@@ -169,6 +169,30 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
|
|
169
169
|
<li class="public ">
|
170
170
|
<span class="summary_signature">
|
171
171
|
|
172
|
+
<a href="#c_id-class_method" title="c_id (class method)">+ (Object) <strong>c_id</strong>(obj) </a>
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
</span>
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
<span class="summary_desc"><div class='inline'><div class="paragraph">
|
187
|
+
<p>Convert obj to string and return it.</p>
|
188
|
+
</div></div></span>
|
189
|
+
|
190
|
+
</li>
|
191
|
+
|
192
|
+
|
193
|
+
<li class="public ">
|
194
|
+
<span class="summary_signature">
|
195
|
+
|
172
196
|
<a href="#priority_sort-class_method" title="priority_sort (class method)">+ (Object) <strong>priority_sort</strong>(entities, reverse = false) </a>
|
173
197
|
|
174
198
|
|
@@ -198,7 +222,53 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
|
|
198
222
|
|
199
223
|
|
200
224
|
<div class="method_details first">
|
201
|
-
<h3 class="signature first" id="
|
225
|
+
<h3 class="signature first" id="c_id-class_method">
|
226
|
+
|
227
|
+
+ (<tt>Object</tt>) <strong>c_id</strong>(obj)
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
</h3><div class="docstring">
|
234
|
+
<div class="discussion">
|
235
|
+
<div class="paragraph">
|
236
|
+
<p>Convert obj to string and return it.
|
237
|
+
Throw NameError is resulting string is not a valid C identifier.</p>
|
238
|
+
</div>
|
239
|
+
|
240
|
+
</div>
|
241
|
+
</div>
|
242
|
+
<div class="tags">
|
243
|
+
|
244
|
+
|
245
|
+
</div><table class="source_code">
|
246
|
+
<tr>
|
247
|
+
<td>
|
248
|
+
<pre class="lines">
|
249
|
+
|
250
|
+
|
251
|
+
22
|
252
|
+
23
|
253
|
+
24
|
254
|
+
25
|
255
|
+
26</pre>
|
256
|
+
</td>
|
257
|
+
<td>
|
258
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 22</span>
|
259
|
+
|
260
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_c_id'>c_id</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
|
261
|
+
<span class='id identifier rubyid_obj'>obj</span> <span class='op'>=</span> <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
262
|
+
<span class='comment'>#raise NameError.new("#{obj} is not a valid C identifier", obj) if (/^[_a-zA-Z]\w*$/ =~ obj).nil?
|
263
|
+
</span> <span class='id identifier rubyid_obj'>obj</span>
|
264
|
+
<span class='kw'>end</span></pre>
|
265
|
+
</td>
|
266
|
+
</tr>
|
267
|
+
</table>
|
268
|
+
</div>
|
269
|
+
|
270
|
+
<div class="method_details ">
|
271
|
+
<h3 class="signature " id="priority_sort-class_method">
|
202
272
|
|
203
273
|
+ (<tt>Object</tt>) <strong>priority_sort</strong>(entities, reverse = false)
|
204
274
|
|
@@ -212,14 +282,14 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
|
|
212
282
|
<pre class="lines">
|
213
283
|
|
214
284
|
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
285
|
+
129
|
286
|
+
130
|
287
|
+
131
|
288
|
+
132
|
289
|
+
133</pre>
|
220
290
|
</td>
|
221
291
|
<td>
|
222
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line
|
292
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 129</span>
|
223
293
|
|
224
294
|
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_priority_sort'>priority_sort</span><span class='lparen'>(</span><span class='id identifier rubyid_entities'>entities</span><span class='comma'>,</span> <span class='id identifier rubyid_reverse'>reverse</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
225
295
|
<span class='id identifier rubyid_list'>list</span> <span class='op'>=</span> <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span><span class='period'>.</span><span class='id identifier rubyid_sort!'>sort!</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='comma'>,</span><span class='id identifier rubyid_b'>b</span><span class='op'>|</span> <span class='id identifier rubyid_a'>a</span><span class='period'>.</span><span class='id identifier rubyid_priority'>priority</span> <span class='op'><=></span> <span class='id identifier rubyid_b'>b</span><span class='period'>.</span><span class='id identifier rubyid_priority'>priority</span><span class='rbrace'>}</span>
|
@@ -236,9 +306,9 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
|
|
236
306
|
</div>
|
237
307
|
|
238
308
|
<div id="footer">
|
239
|
-
Generated on
|
309
|
+
Generated on Sat Nov 22 16:58:03 2014 by
|
240
310
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
241
|
-
0.8.7.
|
311
|
+
0.8.7.6 (ruby-2.1.5).
|
242
312
|
</div>
|
243
313
|
|
244
314
|
</body>
|
data/doc/AutoC/Code.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: AutoC::Code
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— Documentation by YARD 0.8.7.6
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -307,10 +307,10 @@
|
|
307
307
|
<pre class="lines">
|
308
308
|
|
309
309
|
|
310
|
-
|
310
|
+
58</pre>
|
311
311
|
</td>
|
312
312
|
<td>
|
313
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line
|
313
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 58</span>
|
314
314
|
|
315
315
|
<span class='kw'>def</span> <span class='id identifier rubyid_attach'>attach</span><span class='lparen'>(</span><span class='id identifier rubyid_source'>source</span><span class='rparen'>)</span> <span class='id identifier rubyid_source'>source</span> <span class='op'><<</span> <span class='kw'>self</span> <span class='kw'>if</span> <span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_smallest?'>smallest?</span> <span class='kw'>end</span></pre>
|
316
316
|
</td>
|
@@ -333,10 +333,10 @@
|
|
333
333
|
<pre class="lines">
|
334
334
|
|
335
335
|
|
336
|
-
|
336
|
+
39</pre>
|
337
337
|
</td>
|
338
338
|
<td>
|
339
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line
|
339
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 39</span>
|
340
340
|
|
341
341
|
<span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span><span class='semicolon'>;</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='kw'>end</span></pre>
|
342
342
|
</td>
|
@@ -359,21 +359,21 @@
|
|
359
359
|
<pre class="lines">
|
360
360
|
|
361
361
|
|
362
|
-
31
|
363
|
-
32
|
364
|
-
33
|
365
|
-
34
|
366
|
-
35
|
367
|
-
36
|
368
|
-
37
|
369
|
-
38
|
370
|
-
39
|
371
362
|
40
|
372
363
|
41
|
373
|
-
42
|
364
|
+
42
|
365
|
+
43
|
366
|
+
44
|
367
|
+
45
|
368
|
+
46
|
369
|
+
47
|
370
|
+
48
|
371
|
+
49
|
372
|
+
50
|
373
|
+
51</pre>
|
374
374
|
</td>
|
375
375
|
<td>
|
376
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line
|
376
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 40</span>
|
377
377
|
|
378
378
|
<span class='kw'>def</span> <span class='id identifier rubyid_priority'>priority</span>
|
379
379
|
<span class='kw'>if</span> <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
@@ -407,15 +407,15 @@
|
|
407
407
|
<pre class="lines">
|
408
408
|
|
409
409
|
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
410
|
+
52
|
411
|
+
53
|
412
|
+
54
|
413
|
+
55
|
414
|
+
56
|
415
|
+
57</pre>
|
416
416
|
</td>
|
417
417
|
<td>
|
418
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line
|
418
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 52</span>
|
419
419
|
|
420
420
|
<span class='kw'>def</span> <span class='id identifier rubyid_source_size'>source_size</span>
|
421
421
|
<span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
@@ -443,10 +443,10 @@
|
|
443
443
|
<pre class="lines">
|
444
444
|
|
445
445
|
|
446
|
-
|
446
|
+
61</pre>
|
447
447
|
</td>
|
448
448
|
<td>
|
449
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line
|
449
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 61</span>
|
450
450
|
|
451
451
|
<span class='kw'>def</span> <span class='id identifier rubyid_write_decls'>write_decls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
|
452
452
|
</td>
|
@@ -469,10 +469,10 @@
|
|
469
469
|
<pre class="lines">
|
470
470
|
|
471
471
|
|
472
|
-
|
472
|
+
60</pre>
|
473
473
|
</td>
|
474
474
|
<td>
|
475
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line
|
475
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 60</span>
|
476
476
|
|
477
477
|
<span class='kw'>def</span> <span class='id identifier rubyid_write_defs'>write_defs</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
|
478
478
|
</td>
|
@@ -495,10 +495,10 @@
|
|
495
495
|
<pre class="lines">
|
496
496
|
|
497
497
|
|
498
|
-
|
498
|
+
59</pre>
|
499
499
|
</td>
|
500
500
|
<td>
|
501
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line
|
501
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 59</span>
|
502
502
|
|
503
503
|
<span class='kw'>def</span> <span class='id identifier rubyid_write_intf'>write_intf</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
|
504
504
|
</td>
|
@@ -511,9 +511,9 @@
|
|
511
511
|
</div>
|
512
512
|
|
513
513
|
<div id="footer">
|
514
|
-
Generated on
|
514
|
+
Generated on Sat Nov 22 16:58:04 2014 by
|
515
515
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
516
|
-
0.8.7.
|
516
|
+
0.8.7.6 (ruby-2.1.5).
|
517
517
|
</div>
|
518
518
|
|
519
519
|
</body>
|
data/doc/AutoC/Collection.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: AutoC::Collection
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— Documentation by YARD 0.8.7.6
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -106,24 +106,39 @@
|
|
106
106
|
<h2>Overview</h2><div class="docstring">
|
107
107
|
<div class="discussion">
|
108
108
|
<div class="sect1">
|
109
|
+
<h2 id="_implemented_types">Implemented types</h2>
|
110
|
+
<div class="sectionbody">
|
111
|
+
<div class="ulist">
|
112
|
+
<ul>
|
113
|
+
<li>
|
114
|
+
<p><span class='object_link'><a href="UserDefinedType.html" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span> user-defined custom type</p>
|
115
|
+
</li>
|
116
|
+
<li>
|
117
|
+
<p><span class='object_link'><a href="Reference.html" title="AutoC::Reference (class)">Reference</a></span> counted reference type</p>
|
118
|
+
</li>
|
119
|
+
</ul>
|
120
|
+
</div>
|
121
|
+
</div>
|
122
|
+
</div>
|
123
|
+
<div class="sect1">
|
109
124
|
<h2 id="_implemented_collections">Implemented collections</h2>
|
110
125
|
<div class="sectionbody">
|
111
126
|
<div class="ulist">
|
112
127
|
<ul>
|
113
128
|
<li>
|
114
|
-
<p><span class='object_link'><a href="Vector.html" title="AutoC::Vector (class)">Vector</a></span>
|
129
|
+
<p><span class='object_link'><a href="Vector.html" title="AutoC::Vector (class)">Vector</a></span> resizable array</p>
|
115
130
|
</li>
|
116
131
|
<li>
|
117
|
-
<p><span class='object_link'><a href="List.html" title="AutoC::List (class)">List</a></span>
|
132
|
+
<p><span class='object_link'><a href="List.html" title="AutoC::List (class)">List</a></span> single linked list</p>
|
118
133
|
</li>
|
119
134
|
<li>
|
120
|
-
<p><span class='object_link'><a href="Queue.html" title="AutoC::Queue (class)">Queue</a></span>
|
135
|
+
<p><span class='object_link'><a href="Queue.html" title="AutoC::Queue (class)">Queue</a></span> double linked list</p>
|
121
136
|
</li>
|
122
137
|
<li>
|
123
|
-
<p><span class='object_link'><a href="HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span>
|
138
|
+
<p><span class='object_link'><a href="HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span> hash-based set</p>
|
124
139
|
</li>
|
125
140
|
<li>
|
126
|
-
<p><span class='object_link'><a href="HashMap.html" title="AutoC::HashMap (class)">HashMap</a></span>
|
141
|
+
<p><span class='object_link'><a href="HashMap.html" title="AutoC::HashMap (class)">HashMap</a></span> hash-based map</p>
|
127
142
|
</li>
|
128
143
|
</ul>
|
129
144
|
</div>
|
@@ -135,15 +150,15 @@
|
|
135
150
|
<div class="listingblock">
|
136
151
|
<div class="title">Complete example for generation of a list of integers collection:</div>
|
137
152
|
<div class="content">
|
138
|
-
<pre class="highlight"><code class="ruby
|
153
|
+
<pre class="highlight"><code class="language-ruby" data-lang="ruby">require "autoc"
|
139
154
|
AutoC::Module.generate!(:Test) do |c|
|
140
155
|
c << AutoC::List.new(:IntList, :int)
|
141
156
|
end</code></pre>
|
142
157
|
</div>
|
143
158
|
</div>
|
144
159
|
<div class="paragraph">
|
145
|
-
<p>In the above example a C module Test represented by the C header
|
146
|
-
The C++ counterpart of the generated collection is
|
160
|
+
<p>In the above example a C module Test represented by the C header test_auto.h and the C source test_auto.c is generated.
|
161
|
+
The C++ counterpart of the generated collection is std::forward_list<int>.</p>
|
147
162
|
</div>
|
148
163
|
</div>
|
149
164
|
</div>
|
@@ -152,7 +167,9 @@ The C++ counterpart of the generated collection is <code>std::forward_list<in
|
|
152
167
|
<div class="sectionbody">
|
153
168
|
<div class="sect2">
|
154
169
|
<h3 id="_element_types_values_references">Element types: values, references</h3>
|
155
|
-
|
170
|
+
<div class="paragraph">
|
171
|
+
<p>Collections may contain both value and reference types, including other collections.</p>
|
172
|
+
</div>
|
156
173
|
</div>
|
157
174
|
<div class="sect2">
|
158
175
|
<h3 id="_thread_safety">Thread safety</h3>
|
@@ -179,7 +196,7 @@ All implemented iterators do not require destruction after use.</p>
|
|
179
196
|
<div class="listingblock">
|
180
197
|
<div class="title">Basic iterator usage example:</div>
|
181
198
|
<div class="content">
|
182
|
-
<pre class="highlight"><code class="c
|
199
|
+
<pre class="highlight"><code class="language-c" data-lang="c">MyVector c;
|
183
200
|
MyVectorIt it;
|
184
201
|
...
|
185
202
|
MyVectorItCtor(&it, &c);
|
@@ -254,28 +271,10 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
254
271
|
</li>
|
255
272
|
|
256
273
|
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
<h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
|
264
|
-
<p class="inherited"><span class='object_link'><a href="Type.html#type-instance_method" title="AutoC::Type#type (method)">#type</a></span></p>
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
<h2>
|
269
|
-
Class Method Summary
|
270
|
-
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
271
|
-
</h2>
|
272
|
-
|
273
|
-
<ul class="summary">
|
274
|
-
|
275
|
-
<li class="public ">
|
274
|
+
<li class="public ">
|
276
275
|
<span class="summary_signature">
|
277
276
|
|
278
|
-
<a href="#
|
277
|
+
<a href="#it_ref-instance_method" title="#it_ref (instance method)">- (Object) <strong>it_ref</strong> </a>
|
279
278
|
|
280
279
|
|
281
280
|
|
@@ -283,18 +282,34 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
283
282
|
|
284
283
|
|
285
284
|
|
285
|
+
|
286
|
+
<span class="note title readonly">readonly</span>
|
287
|
+
|
288
|
+
|
289
|
+
|
286
290
|
|
287
291
|
|
288
292
|
|
289
293
|
|
290
294
|
|
291
295
|
|
292
|
-
<span class="summary_desc"><div class='inline'
|
296
|
+
<span class="summary_desc"><div class='inline'><div class="paragraph">
|
297
|
+
<p>Returns the value of attribute it_ref.</p>
|
298
|
+
</div></div></span>
|
293
299
|
|
294
300
|
</li>
|
295
301
|
|
296
|
-
|
297
|
-
|
302
|
+
|
303
|
+
</ul>
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
<h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
|
310
|
+
<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>
|
311
|
+
|
312
|
+
|
298
313
|
|
299
314
|
<h2>
|
300
315
|
Instance Method Summary
|
@@ -306,10 +321,12 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
306
321
|
<li class="public ">
|
307
322
|
<span class="summary_signature">
|
308
323
|
|
309
|
-
<a href="
|
324
|
+
<a href="#%3D%3D-instance_method" title="#== (instance method)">- (Object) <strong>==</strong>(other) </a>
|
310
325
|
|
311
326
|
|
312
327
|
|
328
|
+
(also: #eql?)
|
329
|
+
|
313
330
|
</span>
|
314
331
|
|
315
332
|
|
@@ -328,7 +345,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
328
345
|
<li class="public ">
|
329
346
|
<span class="summary_signature">
|
330
347
|
|
331
|
-
<a href="#
|
348
|
+
<a href="#comparable%3F-instance_method" title="#comparable? (instance method)">- (Boolean) <strong>comparable?</strong> </a>
|
332
349
|
|
333
350
|
|
334
351
|
|
@@ -350,7 +367,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
350
367
|
<li class="public ">
|
351
368
|
<span class="summary_signature">
|
352
369
|
|
353
|
-
<a href="#
|
370
|
+
<a href="#copyable%3F-instance_method" title="#copyable? (instance method)">- (Boolean) <strong>copyable?</strong> </a>
|
354
371
|
|
355
372
|
|
356
373
|
|
@@ -394,7 +411,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
394
411
|
<li class="public ">
|
395
412
|
<span class="summary_signature">
|
396
413
|
|
397
|
-
<a href="#
|
414
|
+
<a href="#hash-instance_method" title="#hash (instance method)">- (Object) <strong>hash</strong> </a>
|
398
415
|
|
399
416
|
|
400
417
|
|
@@ -416,7 +433,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
416
433
|
<li class="public ">
|
417
434
|
<span class="summary_signature">
|
418
435
|
|
419
|
-
<a href="#
|
436
|
+
<a href="#hashable%3F-instance_method" title="#hashable? (instance method)">- (Boolean) <strong>hashable?</strong> </a>
|
420
437
|
|
421
438
|
|
422
439
|
|
@@ -464,7 +481,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
464
481
|
<li class="public ">
|
465
482
|
<span class="summary_signature">
|
466
483
|
|
467
|
-
<a href="#
|
484
|
+
<a href="#write_intf_decls-instance_method" title="#write_intf_decls (instance method)">- (Object) <strong>write_intf_decls</strong>(stream, declare, define) </a>
|
468
485
|
|
469
486
|
|
470
487
|
|
@@ -496,7 +513,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
496
513
|
|
497
514
|
|
498
515
|
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
|
499
|
-
<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#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#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#
|
516
|
+
<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#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#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>
|
500
517
|
|
501
518
|
|
502
519
|
|
@@ -537,17 +554,33 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
537
554
|
<pre class="lines">
|
538
555
|
|
539
556
|
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
557
|
+
85
|
558
|
+
86
|
559
|
+
87
|
560
|
+
88
|
561
|
+
89
|
562
|
+
90
|
563
|
+
91
|
564
|
+
92
|
565
|
+
93
|
566
|
+
94
|
567
|
+
95
|
568
|
+
96</pre>
|
544
569
|
</td>
|
545
570
|
<td>
|
546
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
571
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 85</span>
|
547
572
|
|
548
573
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_type_name'>type_name</span><span class='comma'>,</span> <span class='id identifier rubyid_element_type'>element_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>
|
549
574
|
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_type_name'>type_name</span><span class='comma'>,</span> <span class='id identifier rubyid_visibility'>visibility</span><span class='rparen'>)</span>
|
550
|
-
<span class='ivar'>@
|
575
|
+
<span class='ivar'>@it_ref</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</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='tstring_end'>"</span></span>
|
576
|
+
<span class='ivar'>@element</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_element_type'>element_type</span><span class='rparen'>)</span>
|
577
|
+
<span class='ivar'>@ctor</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:ctor</span><span class='comma'>,</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:self</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
578
|
+
<span class='ivar'>@dtor</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:dtor</span><span class='comma'>,</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:self</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
579
|
+
<span class='ivar'>@copy</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:copy</span><span class='comma'>,</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:dst</span><span class='comma'>,</span> <span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:src</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
580
|
+
<span class='ivar'>@equal</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:equal</span><span class='comma'>,</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:lt</span><span class='comma'>,</span> <span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:rt</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:int</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
581
|
+
<span class='ivar'>@identify</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:identify</span><span class='comma'>,</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:self</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:size_t</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
582
|
+
<span class='ivar'>@less</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:less</span><span class='comma'>,</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:lt</span><span class='comma'>,</span> <span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:rt</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:int</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
583
|
+
<span class='id identifier rubyid_element_type_check'>element_type_check</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='rparen'>)</span>
|
551
584
|
<span class='kw'>end</span></pre>
|
552
585
|
</td>
|
553
586
|
</tr>
|
@@ -597,12 +630,12 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
597
630
|
<pre class="lines">
|
598
631
|
|
599
632
|
|
600
|
-
|
601
|
-
|
602
|
-
|
633
|
+
75
|
634
|
+
76
|
635
|
+
77</pre>
|
603
636
|
</td>
|
604
637
|
<td>
|
605
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
638
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 75</span>
|
606
639
|
|
607
640
|
<span class='kw'>def</span> <span class='id identifier rubyid_element'>element</span>
|
608
641
|
<span class='ivar'>@element</span>
|
@@ -612,37 +645,43 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
612
645
|
</table>
|
613
646
|
</div>
|
614
647
|
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
<
|
619
|
-
<h2>Class Method Details</h2>
|
620
|
-
|
621
|
-
|
622
|
-
<div class="method_details first">
|
623
|
-
<h3 class="signature first" id="coerce-class_method">
|
648
|
+
|
649
|
+
<span id=""></span>
|
650
|
+
<div class="method_details ">
|
651
|
+
<h3 class="signature " id="it_ref-instance_method">
|
624
652
|
|
625
|
-
|
653
|
+
- (<tt>Object</tt>) <strong>it_ref</strong> <span class="extras">(readonly)</span>
|
626
654
|
|
627
655
|
|
628
656
|
|
629
657
|
|
630
658
|
|
631
|
-
</h3><
|
659
|
+
</h3><div class="docstring">
|
660
|
+
<div class="discussion">
|
661
|
+
<div class="paragraph">
|
662
|
+
<p>Returns the value of attribute it_ref</p>
|
663
|
+
</div>
|
664
|
+
|
665
|
+
</div>
|
666
|
+
</div>
|
667
|
+
<div class="tags">
|
668
|
+
|
669
|
+
|
670
|
+
</div><table class="source_code">
|
632
671
|
<tr>
|
633
672
|
<td>
|
634
673
|
<pre class="lines">
|
635
674
|
|
636
675
|
|
637
|
-
|
638
|
-
|
639
|
-
|
676
|
+
75
|
677
|
+
76
|
678
|
+
77</pre>
|
640
679
|
</td>
|
641
680
|
<td>
|
642
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
681
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 75</span>
|
643
682
|
|
644
|
-
<span class='kw'>def</span> <span class='
|
645
|
-
<span class='
|
683
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_it_ref'>it_ref</span>
|
684
|
+
<span class='ivar'>@it_ref</span>
|
646
685
|
<span class='kw'>end</span></pre>
|
647
686
|
</td>
|
648
687
|
</tr>
|
@@ -651,17 +690,22 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
651
690
|
|
652
691
|
</div>
|
653
692
|
|
693
|
+
|
654
694
|
<div id="instance_method_details" class="method_details_list">
|
655
695
|
<h2>Instance Method Details</h2>
|
656
696
|
|
657
697
|
|
658
698
|
<div class="method_details first">
|
659
|
-
<h3 class="signature first" id="
|
699
|
+
<h3 class="signature first" id="==-instance_method">
|
660
700
|
|
661
|
-
- (<tt>Object</tt>) <strong
|
701
|
+
- (<tt>Object</tt>) <strong>==</strong>(other)
|
662
702
|
|
663
703
|
|
664
704
|
|
705
|
+
<span class="aliases">Also known as:
|
706
|
+
<span class="names"><span id='eql?-instance_method'>eql?</span></span>
|
707
|
+
</span>
|
708
|
+
|
665
709
|
|
666
710
|
|
667
711
|
</h3><table class="source_code">
|
@@ -670,112 +714,108 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
670
714
|
<pre class="lines">
|
671
715
|
|
672
716
|
|
673
|
-
|
674
|
-
101
|
675
|
-
102
|
676
|
-
103
|
677
|
-
104
|
678
|
-
105
|
679
|
-
106
|
680
|
-
107
|
681
|
-
108</pre>
|
717
|
+
79</pre>
|
682
718
|
</td>
|
683
719
|
<td>
|
684
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
685
|
-
|
686
|
-
<span class='kw'>def</span> <span class='id identifier
|
687
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
688
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
|
689
|
-
<span class='kw'>else</span>
|
690
|
-
<span class='id identifier rubyid_check_args'>check_args</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
|
691
|
-
<span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span>
|
692
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>(&</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dst'>dst</span><span class='embexpr_end'>}</span><span class='tstring_content'>, &</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_src'>src</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span>
|
693
|
-
<span class='kw'>end</span>
|
694
|
-
<span class='kw'>end</span></pre>
|
720
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 79</span>
|
721
|
+
|
722
|
+
<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'>&&</span> <span class='id identifier rubyid_element'>element</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_element'>element</span> <span class='kw'>end</span></pre>
|
695
723
|
</td>
|
696
724
|
</tr>
|
697
725
|
</table>
|
698
726
|
</div>
|
699
727
|
|
700
728
|
<div class="method_details ">
|
701
|
-
<h3 class="signature " id="
|
729
|
+
<h3 class="signature " id="comparable?-instance_method">
|
702
730
|
|
703
|
-
- (<tt>
|
731
|
+
- (<tt>Boolean</tt>) <strong>comparable?</strong>
|
704
732
|
|
705
733
|
|
706
734
|
|
707
735
|
|
708
736
|
|
709
|
-
</h3><
|
737
|
+
</h3><div class="docstring">
|
738
|
+
<div class="discussion">
|
739
|
+
|
740
|
+
|
741
|
+
</div>
|
742
|
+
</div>
|
743
|
+
<div class="tags">
|
744
|
+
|
745
|
+
<p class="tag_title">Returns:</p>
|
746
|
+
<ul class="return">
|
747
|
+
|
748
|
+
<li>
|
749
|
+
|
750
|
+
|
751
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
752
|
+
|
753
|
+
|
754
|
+
|
755
|
+
</li>
|
756
|
+
|
757
|
+
</ul>
|
758
|
+
|
759
|
+
</div><table class="source_code">
|
710
760
|
<tr>
|
711
761
|
<td>
|
712
762
|
<pre class="lines">
|
713
763
|
|
714
764
|
|
715
|
-
|
716
|
-
81
|
717
|
-
82
|
718
|
-
83
|
719
|
-
84
|
720
|
-
85
|
721
|
-
86
|
722
|
-
87
|
723
|
-
88</pre>
|
765
|
+
117</pre>
|
724
766
|
</td>
|
725
767
|
<td>
|
726
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
727
|
-
|
728
|
-
<span class='kw'>def</span> <span class='id identifier
|
729
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
730
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
|
731
|
-
<span class='kw'>else</span>
|
732
|
-
<span class='id identifier rubyid_check_args'>check_args</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='int'>1</span><span class='rparen'>)</span>
|
733
|
-
<span class='id identifier rubyid_obj'>obj</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
|
734
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>(&</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_obj'>obj</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span>
|
735
|
-
<span class='kw'>end</span>
|
736
|
-
<span class='kw'>end</span></pre>
|
768
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 117</span>
|
769
|
+
|
770
|
+
<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'>&&</span> <span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_comparable?'>comparable?</span> <span class='kw'>end</span></pre>
|
737
771
|
</td>
|
738
772
|
</tr>
|
739
773
|
</table>
|
740
774
|
</div>
|
741
775
|
|
742
776
|
<div class="method_details ">
|
743
|
-
<h3 class="signature " id="
|
777
|
+
<h3 class="signature " id="copyable?-instance_method">
|
744
778
|
|
745
|
-
- (<tt>
|
779
|
+
- (<tt>Boolean</tt>) <strong>copyable?</strong>
|
746
780
|
|
747
781
|
|
748
782
|
|
749
783
|
|
750
784
|
|
751
|
-
</h3><
|
785
|
+
</h3><div class="docstring">
|
786
|
+
<div class="discussion">
|
787
|
+
|
788
|
+
|
789
|
+
</div>
|
790
|
+
</div>
|
791
|
+
<div class="tags">
|
792
|
+
|
793
|
+
<p class="tag_title">Returns:</p>
|
794
|
+
<ul class="return">
|
795
|
+
|
796
|
+
<li>
|
797
|
+
|
798
|
+
|
799
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
800
|
+
|
801
|
+
|
802
|
+
|
803
|
+
</li>
|
804
|
+
|
805
|
+
</ul>
|
806
|
+
|
807
|
+
</div><table class="source_code">
|
752
808
|
<tr>
|
753
809
|
<td>
|
754
810
|
<pre class="lines">
|
755
811
|
|
756
812
|
|
757
|
-
|
758
|
-
91
|
759
|
-
92
|
760
|
-
93
|
761
|
-
94
|
762
|
-
95
|
763
|
-
96
|
764
|
-
97
|
765
|
-
98</pre>
|
813
|
+
115</pre>
|
766
814
|
</td>
|
767
815
|
<td>
|
768
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
769
|
-
|
770
|
-
<span class='kw'>def</span> <span class='id identifier
|
771
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
772
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
|
773
|
-
<span class='kw'>else</span>
|
774
|
-
<span class='id identifier rubyid_check_args'>check_args</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='int'>1</span><span class='rparen'>)</span>
|
775
|
-
<span class='id identifier rubyid_obj'>obj</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
|
776
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>(&</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_obj'>obj</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span>
|
777
|
-
<span class='kw'>end</span>
|
778
|
-
<span class='kw'>end</span></pre>
|
816
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 115</span>
|
817
|
+
|
818
|
+
<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'>&&</span> <span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_copyable?'>copyable?</span> <span class='kw'>end</span></pre>
|
779
819
|
</td>
|
780
820
|
</tr>
|
781
821
|
</table>
|
@@ -796,21 +836,21 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
796
836
|
<pre class="lines">
|
797
837
|
|
798
838
|
|
799
|
-
|
839
|
+
83</pre>
|
800
840
|
</td>
|
801
841
|
<td>
|
802
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
842
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 83</span>
|
803
843
|
|
804
|
-
<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'
|
844
|
+
<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'><<</span> <span class='id identifier rubyid_element'>element</span> <span class='kw'>end</span></pre>
|
805
845
|
</td>
|
806
846
|
</tr>
|
807
847
|
</table>
|
808
848
|
</div>
|
809
849
|
|
810
850
|
<div class="method_details ">
|
811
|
-
<h3 class="signature " id="
|
851
|
+
<h3 class="signature " id="hash-instance_method">
|
812
852
|
|
813
|
-
- (<tt>Object</tt>) <strong>
|
853
|
+
- (<tt>Object</tt>) <strong>hash</strong>
|
814
854
|
|
815
855
|
|
816
856
|
|
@@ -822,67 +862,69 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
822
862
|
<pre class="lines">
|
823
863
|
|
824
864
|
|
825
|
-
|
826
|
-
111
|
827
|
-
112
|
828
|
-
113
|
829
|
-
114
|
830
|
-
115
|
831
|
-
116
|
832
|
-
117
|
833
|
-
118</pre>
|
865
|
+
77</pre>
|
834
866
|
</td>
|
835
867
|
<td>
|
836
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
837
|
-
|
838
|
-
<span class='kw'>def</span> <span class='id identifier
|
839
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
|
840
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
|
841
|
-
<span class='kw'>else</span>
|
842
|
-
<span class='id identifier rubyid_check_args'>check_args</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
|
843
|
-
<span class='id identifier rubyid_lt'>lt</span><span class='comma'>,</span> <span class='id identifier rubyid_rt'>rt</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span>
|
844
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>(&</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_lt'>lt</span><span class='embexpr_end'>}</span><span class='tstring_content'>, &</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rt'>rt</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span>
|
845
|
-
<span class='kw'>end</span>
|
846
|
-
<span class='kw'>end</span></pre>
|
868
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 77</span>
|
869
|
+
|
870
|
+
<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_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span> <span class='kw'>end</span></pre>
|
847
871
|
</td>
|
848
872
|
</tr>
|
849
873
|
</table>
|
850
874
|
</div>
|
851
875
|
|
852
876
|
<div class="method_details ">
|
853
|
-
<h3 class="signature " id="
|
877
|
+
<h3 class="signature " id="hashable?-instance_method">
|
854
878
|
|
855
|
-
- (<tt>
|
879
|
+
- (<tt>Boolean</tt>) <strong>hashable?</strong>
|
856
880
|
|
857
881
|
|
858
882
|
|
859
883
|
|
860
884
|
|
861
|
-
</h3><
|
885
|
+
</h3><div class="docstring">
|
886
|
+
<div class="discussion">
|
887
|
+
|
888
|
+
|
889
|
+
</div>
|
890
|
+
</div>
|
891
|
+
<div class="tags">
|
892
|
+
|
893
|
+
<p class="tag_title">Returns:</p>
|
894
|
+
<ul class="return">
|
895
|
+
|
896
|
+
<li>
|
897
|
+
|
898
|
+
|
899
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
900
|
+
|
901
|
+
|
902
|
+
|
903
|
+
</li>
|
904
|
+
|
905
|
+
</ul>
|
906
|
+
|
907
|
+
</div><table class="source_code">
|
862
908
|
<tr>
|
863
909
|
<td>
|
864
910
|
<pre class="lines">
|
865
911
|
|
866
912
|
|
867
|
-
|
868
|
-
125
|
869
|
-
126</pre>
|
913
|
+
119</pre>
|
870
914
|
</td>
|
871
915
|
<td>
|
872
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
916
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 119</span>
|
873
917
|
|
874
|
-
<span class='kw'>def</span> <span class='id identifier
|
875
|
-
<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 hashing functionality</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
876
|
-
<span class='kw'>end</span></pre>
|
918
|
+
<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'>&&</span> <span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_hashable?'>hashable?</span> <span class='kw'>end</span></pre>
|
877
919
|
</td>
|
878
920
|
</tr>
|
879
921
|
</table>
|
880
922
|
</div>
|
881
923
|
|
882
924
|
<div class="method_details ">
|
883
|
-
<h3 class="signature " id="
|
925
|
+
<h3 class="signature " id="write_intf_decls-instance_method">
|
884
926
|
|
885
|
-
- (<tt>Object</tt>) <strong>
|
927
|
+
- (<tt>Object</tt>) <strong>write_intf_decls</strong>(stream, declare, define)
|
886
928
|
|
887
929
|
|
888
930
|
|
@@ -894,15 +936,41 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
894
936
|
<pre class="lines">
|
895
937
|
|
896
938
|
|
897
|
-
|
898
|
-
|
899
|
-
|
939
|
+
98
|
940
|
+
99
|
941
|
+
100
|
942
|
+
101
|
943
|
+
102
|
944
|
+
103
|
945
|
+
104
|
946
|
+
105
|
947
|
+
106
|
948
|
+
107
|
949
|
+
108
|
950
|
+
109
|
951
|
+
110
|
952
|
+
111
|
953
|
+
112
|
954
|
+
113</pre>
|
900
955
|
</td>
|
901
956
|
<td>
|
902
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line
|
903
|
-
|
904
|
-
<span class='kw'>def</span> <span class='id identifier
|
905
|
-
<span class='
|
957
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 98</span>
|
958
|
+
|
959
|
+
<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>
|
960
|
+
<span class='comment'># Emit default redirection macros
|
961
|
+
</span> <span class='comment'># Unlike other special methods the constructors may have extra arguments
|
962
|
+
</span> <span class='comment'># Assume the constructor's first parameter is always a target
|
963
|
+
</span> <span class='id identifier rubyid_ctor_ex'>ctor_ex</span> <span class='op'>=</span> <span class='id identifier rubyid_ctor'>ctor</span><span class='period'>.</span><span class='id identifier rubyid_parameters'>parameters</span><span class='period'>.</span><span class='id identifier rubyid_names'>names</span><span class='lbracket'>[</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span>
|
964
|
+
<span class='id identifier rubyid_ctor_lt'>ctor_lt</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>self</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span><span class='lparen'>(</span><span class='id identifier rubyid_ctor_ex'>ctor_ex</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
965
|
+
<span class='id identifier rubyid_ctor_rt'>ctor_rt</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>&self</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span><span class='lparen'>(</span><span class='id identifier rubyid_ctor_ex'>ctor_ex</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>,</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
966
|
+
<span class='id identifier rubyid_stream'>stream</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
|
967
|
+
#define _</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_ctor_lt'>ctor_lt</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='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor_rt'>ctor_rt</span><span class='embexpr_end'>}</span><span class='tstring_content'>)
|
968
|
+
#define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dtor'>dtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dtor'>dtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&self)
|
969
|
+
#define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_identify'>identify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_identify'>identify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&self)
|
970
|
+
#define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_copy'>copy</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst,src) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_copy'>copy</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&dst,&src)
|
971
|
+
#define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_equal'>equal</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt,rt) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_equal'>equal</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&lt,&rt)
|
972
|
+
#define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_less'>less</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt,rt) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_less'>less</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&lt,&rt)
|
973
|
+
</span><span class='tstring_end'>$</span></span>
|
906
974
|
<span class='kw'>end</span></pre>
|
907
975
|
</td>
|
908
976
|
</tr>
|
@@ -914,9 +982,9 @@ the collection being iterated <strong>must not</strong> be modified in any way o
|
|
914
982
|
</div>
|
915
983
|
|
916
984
|
<div id="footer">
|
917
|
-
Generated on
|
985
|
+
Generated on Sat Nov 22 16:58:04 2014 by
|
918
986
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
919
|
-
0.8.7.
|
987
|
+
0.8.7.6 (ruby-2.1.5).
|
920
988
|
</div>
|
921
989
|
|
922
990
|
</body>
|