autoc 1.1 → 1.2
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 +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>
|