autoc 1.2 → 1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +4 -0
  3. data/README +3 -1
  4. data/doc/AutoC.html +23 -7
  5. data/doc/AutoC/Code.html +3 -3
  6. data/doc/AutoC/Collection.html +289 -76
  7. data/doc/AutoC/HashMap.html +44 -46
  8. data/doc/AutoC/HashSet.html +20 -17
  9. data/doc/AutoC/List.html +56 -92
  10. data/doc/AutoC/Module.html +2 -2
  11. data/doc/AutoC/Module/File.html +2 -2
  12. data/doc/AutoC/Module/Header.html +6 -4
  13. data/doc/AutoC/Module/Source.html +26 -26
  14. data/doc/AutoC/Priority.html +2 -2
  15. data/doc/AutoC/Queue.html +30 -92
  16. data/doc/AutoC/Reference.html +217 -61
  17. data/doc/AutoC/String.html +1393 -0
  18. data/doc/AutoC/Type.html +240 -128
  19. data/doc/AutoC/UserDefinedType.html +688 -47
  20. data/doc/AutoC/Vector.html +154 -62
  21. data/doc/_index.html +9 -2
  22. data/doc/class_list.html +1 -1
  23. data/doc/file.CHANGES.html +10 -2
  24. data/doc/file.README.html +5 -3
  25. data/doc/index.html +5 -3
  26. data/doc/method_list.html +235 -97
  27. data/doc/top-level-namespace.html +2 -2
  28. data/lib/autoc.rb +3 -1
  29. data/lib/autoc/code.rb +3 -2
  30. data/lib/autoc/collection.rb +36 -40
  31. data/lib/autoc/collection/hash_map.rb +10 -14
  32. data/lib/autoc/collection/hash_set.rb +12 -11
  33. data/lib/autoc/collection/list.rb +21 -11
  34. data/lib/autoc/collection/queue.rb +5 -8
  35. data/lib/autoc/collection/vector.rb +28 -12
  36. data/lib/autoc/string.rb +492 -0
  37. data/lib/autoc/type.rb +155 -66
  38. data/test/test.rb +157 -35
  39. data/test/test_char_string.rb +270 -0
  40. data/test/test_int_list.rb +35 -0
  41. data/test/test_int_vector.rb +34 -0
  42. data/test/test_value_hash_map.rb +162 -0
  43. data/test/test_value_hash_set.rb +173 -0
  44. data/test/test_value_list.rb +193 -0
  45. data/test/test_value_queue.rb +275 -0
  46. data/test/test_value_vector.rb +155 -0
  47. data/test/value.rb +80 -0
  48. metadata +15 -8
  49. data/test/test.c +0 -1041
  50. data/test/test.h +0 -41
  51. data/test/test_auto.c +0 -3407
  52. data/test/test_auto.h +0 -765
@@ -936,9 +936,9 @@
936
936
  </div>
937
937
 
938
938
  <div id="footer">
939
- Generated on Sat Nov 22 16:58:04 2014 by
939
+ Generated on Thu Mar 17 13:32:50 2016 by
940
940
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
941
- 0.8.7.6 (ruby-2.1.5).
941
+ 0.8.7.6 (ruby-2.2.4).
942
942
  </div>
943
943
 
944
944
  </body>
@@ -403,9 +403,9 @@
403
403
  </div>
404
404
 
405
405
  <div id="footer">
406
- Generated on Sat Nov 22 16:58:04 2014 by
406
+ Generated on Thu Mar 17 13:32:50 2016 by
407
407
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
408
- 0.8.7.6 (ruby-2.1.5).
408
+ 0.8.7.6 (ruby-2.2.4).
409
409
  </div>
410
410
 
411
411
  </body>
@@ -397,7 +397,8 @@
397
397
  187
398
398
  188
399
399
  189
400
- 190</pre>
400
+ 190
401
+ 191</pre>
401
402
  </td>
402
403
  <td>
403
404
  <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 180</span>
@@ -412,7 +413,8 @@
412
413
  <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
413
414
  #endif
414
415
  </span><span class='tstring_end'>$</span></span>
415
- <span class='kw'>end</span></pre>
416
+ <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span> <span class='comment'># DigitalMars C in strict ANSI (-A) mode complains about absent empty line at the very end so let&#39;s make it happy
417
+ </span><span class='kw'>end</span></pre>
416
418
  </td>
417
419
  </tr>
418
420
  </table>
@@ -423,9 +425,9 @@
423
425
  </div>
424
426
 
425
427
  <div id="footer">
426
- Generated on Sat Nov 22 16:58:04 2014 by
428
+ Generated on Thu Mar 17 13:32:50 2016 by
427
429
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
428
- 0.8.7.6 (ruby-2.1.5).
430
+ 0.8.7.6 (ruby-2.2.4).
429
431
  </div>
430
432
 
431
433
  </body>
@@ -363,14 +363,14 @@
363
363
  <pre class="lines">
364
364
 
365
365
 
366
- 199
367
366
  200
368
367
  201
369
368
  202
370
- 203</pre>
369
+ 203
370
+ 204</pre>
371
371
  </td>
372
372
  <td>
373
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 199</span>
373
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 200</span>
374
374
 
375
375
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_m'>m</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='rparen'>)</span>
376
376
  <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_m'>m</span><span class='rparen'>)</span>
@@ -415,12 +415,12 @@
415
415
  <pre class="lines">
416
416
 
417
417
 
418
- 197
419
418
  198
420
- 199</pre>
419
+ 199
420
+ 200</pre>
421
421
  </td>
422
422
  <td>
423
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 197</span>
423
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 198</span>
424
424
 
425
425
  <span class='kw'>def</span> <span class='id identifier rubyid_file_name'>file_name</span>
426
426
  <span class='ivar'>@file_name</span>
@@ -458,12 +458,12 @@
458
458
  <pre class="lines">
459
459
 
460
460
 
461
- 197
462
461
  198
463
- 199</pre>
462
+ 199
463
+ 200</pre>
464
464
  </td>
465
465
  <td>
466
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 197</span>
466
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 198</span>
467
467
 
468
468
  <span class='kw'>def</span> <span class='id identifier rubyid_index'>index</span>
469
469
  <span class='ivar'>@index</span>
@@ -517,12 +517,12 @@
517
517
  <pre class="lines">
518
518
 
519
519
 
520
- 205
521
520
  206
522
- 207</pre>
521
+ 207
522
+ 208</pre>
523
523
  </td>
524
524
  <td>
525
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 205</span>
525
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 206</span>
526
526
 
527
527
  <span class='kw'>def</span> <span class='id identifier rubyid_main?'>main?</span>
528
528
  <span class='id identifier rubyid_equal?'>equal?</span><span class='lparen'>(</span><span class='ivar'>@module</span><span class='period'>.</span><span class='id identifier rubyid_main_source'>main_source</span><span class='rparen'>)</span>
@@ -547,12 +547,12 @@
547
547
  <pre class="lines">
548
548
 
549
549
 
550
- 219
551
550
  220
552
- 221</pre>
551
+ 221
552
+ 222</pre>
553
553
  </td>
554
554
  <td>
555
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 219</span>
555
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 220</span>
556
556
 
557
557
  <span class='kw'>def</span> <span class='id identifier rubyid_new_stream'>new_stream</span>
558
558
  <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@file_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>w</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
@@ -577,14 +577,14 @@
577
577
  <pre class="lines">
578
578
 
579
579
 
580
- 213
581
580
  214
582
581
  215
583
582
  216
584
- 217</pre>
583
+ 217
584
+ 218</pre>
585
585
  </td>
586
586
  <td>
587
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 213</span>
587
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 214</span>
588
588
 
589
589
  <span class='kw'>def</span> <span class='id identifier rubyid_size'>size</span>
590
590
  <span class='id identifier rubyid_size'>size</span> <span class='op'>=</span> <span class='int'>0</span>
@@ -633,12 +633,12 @@
633
633
  <pre class="lines">
634
634
 
635
635
 
636
- 209
637
636
  210
638
- 211</pre>
637
+ 211
638
+ 212</pre>
639
639
  </td>
640
640
  <td>
641
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 209</span>
641
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 210</span>
642
642
 
643
643
  <span class='kw'>def</span> <span class='id identifier rubyid_smallest?'>smallest?</span>
644
644
  <span class='id identifier rubyid_equal?'>equal?</span><span class='lparen'>(</span><span class='ivar'>@module</span><span class='period'>.</span><span class='id identifier rubyid_smallest_source'>smallest_source</span><span class='rparen'>)</span>
@@ -663,7 +663,6 @@
663
663
  <pre class="lines">
664
664
 
665
665
 
666
- 223
667
666
  224
668
667
  225
669
668
  226
@@ -671,10 +670,11 @@
671
670
  228
672
671
  229
673
672
  230
674
- 231</pre>
673
+ 231
674
+ 232</pre>
675
675
  </td>
676
676
  <td>
677
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 223</span>
677
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 224</span>
678
678
 
679
679
  <span class='kw'>def</span> <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
680
680
  <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
@@ -695,9 +695,9 @@
695
695
  </div>
696
696
 
697
697
  <div id="footer">
698
- Generated on Sat Nov 22 16:58:04 2014 by
698
+ Generated on Thu Mar 17 13:32:51 2016 by
699
699
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
700
- 0.8.7.6 (ruby-2.1.5).
700
+ 0.8.7.6 (ruby-2.2.4).
701
701
  </div>
702
702
 
703
703
  </body>
@@ -129,9 +129,9 @@
129
129
  </div>
130
130
 
131
131
  <div id="footer">
132
- Generated on Sat Nov 22 16:58:03 2014 by
132
+ Generated on Thu Mar 17 13:32:50 2016 by
133
133
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
134
- 0.8.7.6 (ruby-2.1.5).
134
+ 0.8.7.6 (ruby-2.2.4).
135
135
  </div>
136
136
 
137
137
  </body>
@@ -111,7 +111,7 @@
111
111
  <p>Queue is an ordered bidirectional sequence container.
112
112
  Queue supports addition/removal operations at both ends.
113
113
  However, it is intended to be used as a FIFO container as opposed to <span class='object_link'><a href="List.html" title="AutoC::List (class)">List</a></span>
114
- since submission and polling operations are performed on the opposite ends.</p>
114
+ therefore the default submission, polling and retrieval operations are performed on the opposite ends.</p>
115
115
  </div>
116
116
  <div class="paragraph">
117
117
  <p>This collection is a synergy of C++ std::list&lt;&gt; and std::queue&lt;&gt; template classes.</p>
@@ -333,32 +333,6 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
333
333
  <li class="public ">
334
334
  <span class="summary_signature">
335
335
 
336
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Queue) <strong>initialize</strong>(*args) </a>
337
-
338
-
339
-
340
- </span>
341
-
342
-
343
- <span class="note title constructor">constructor</span>
344
-
345
-
346
-
347
-
348
-
349
-
350
-
351
-
352
- <span class="summary_desc"><div class='inline'><div class="paragraph">
353
- <p>A new instance of Queue.</p>
354
- </div></div></span>
355
-
356
- </li>
357
-
358
-
359
- <li class="public ">
360
- <span class="summary_signature">
361
-
362
336
  <a href="#write_impls-instance_method" title="#write_impls (instance method)">- (Object) <strong>write_impls</strong>(stream, define) </a>
363
337
 
364
338
 
@@ -435,7 +409,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
435
409
 
436
410
 
437
411
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
438
- <p class="inherited"><span class='object_link'><a href="Collection.html#%3D%3D-instance_method" title="AutoC::Collection#== (method)">#==</a></span>, <span class='object_link'><a href="Collection.html#comparable%3F-instance_method" title="AutoC::Collection#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Collection.html#copyable%3F-instance_method" title="AutoC::Collection#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Collection.html#entities-instance_method" title="AutoC::Collection#entities (method)">#entities</a></span>, <span class='object_link'><a href="Collection.html#hash-instance_method" title="AutoC::Collection#hash (method)">#hash</a></span>, <span class='object_link'><a href="Collection.html#hashable%3F-instance_method" title="AutoC::Collection#hashable? (method)">#hashable?</a></span></p>
412
+ <p class="inherited"><span class='object_link'><a href="Collection.html#%3D%3D-instance_method" title="AutoC::Collection#== (method)">#==</a></span>, <span class='object_link'><a href="Collection.html#comparable%3F-instance_method" title="AutoC::Collection#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Collection.html#constructible%3F-instance_method" title="AutoC::Collection#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Collection.html#copyable%3F-instance_method" title="AutoC::Collection#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Collection.html#destructible%3F-instance_method" title="AutoC::Collection#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Collection.html#entities-instance_method" title="AutoC::Collection#entities (method)">#entities</a></span>, <span class='object_link'><a href="Collection.html#hash-instance_method" title="AutoC::Collection#hash (method)">#hash</a></span>, <span class='object_link'><a href="Collection.html#hashable%3F-instance_method" title="AutoC::Collection#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Collection.html#initializable%3F-instance_method" title="AutoC::Collection#initializable? (method)">#initializable?</a></span>, <span class='object_link'><a href="Collection.html#initialize-instance_method" title="AutoC::Collection#initialize (method)">#initialize</a></span></p>
439
413
 
440
414
 
441
415
 
@@ -445,8 +419,9 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
445
419
 
446
420
 
447
421
 
422
+
448
423
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
449
- <p class="inherited"><span class='object_link'><a href="Type.html#%3D%3D-instance_method" title="AutoC::Type#== (method)">#==</a></span>, <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#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</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#copyable%3F-instance_method" title="AutoC::Type#copyable? (method)">#copyable?</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#entities-instance_method" title="AutoC::Type#entities (method)">#entities</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</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>
424
+ <p class="inherited"><span class='object_link'><a href="Type.html#%3D%3D-instance_method" title="AutoC::Type#== (method)">#==</a></span>, <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#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</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#copyable%3F-instance_method" title="AutoC::Type#copyable? (method)">#copyable?</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#entities-instance_method" title="AutoC::Type#entities (method)">#entities</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Type.html#initializable%3F-instance_method" title="AutoC::Type#initializable? (method)">#initializable?</a></span>, <span class='object_link'><a href="Type.html#initialize-instance_method" title="AutoC::Type#initialize (method)">#initialize</a></span>, <span class='object_link'><a href="Type.html#inline-instance_method" title="AutoC::Type#inline (method)">#inline</a></span>, <span class='object_link'><a href="Type.html#malloc-instance_method" title="AutoC::Type#malloc (method)">#malloc</a></span>, <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">#method_missing</a></span>, <span class='object_link'><a href="Type.html#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>
450
425
 
451
426
 
452
427
 
@@ -461,48 +436,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
461
436
  <div id="constructor_details" class="method_details_list">
462
437
  <h2>Constructor Details</h2>
463
438
 
464
- <div class="method_details first">
465
- <h3 class="signature first" id="initialize-instance_method">
466
-
467
- - (<tt><span class='object_link'><a href="" title="AutoC::Queue (class)">Queue</a></span></tt>) <strong>initialize</strong>(*args)
468
-
469
-
470
-
471
-
472
-
473
- </h3><div class="docstring">
474
- <div class="discussion">
475
- <div class="paragraph">
476
- <p>Returns a new instance of Queue</p>
477
- </div>
478
-
479
- </div>
480
- </div>
481
- <div class="tags">
482
-
483
-
484
- </div><table class="source_code">
485
- <tr>
486
- <td>
487
- <pre class="lines">
488
-
489
-
490
- 196
491
- 197
492
- 198
493
- 199</pre>
494
- </td>
495
- <td>
496
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/queue.rb', line 196</span>
497
-
498
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
499
- <span class='kw'>super</span>
500
- <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span> <span class='lbracket'>[</span><span class='symbol'>:orderable</span><span class='rbracket'>]</span>
501
- <span class='kw'>end</span></pre>
502
- </td>
503
- </tr>
504
- </table>
505
- </div>
439
+ <p class="notice">This class inherits a constructor from <span class='object_link'><a href="Collection.html#initialize-instance_method" title="AutoC::Collection#initialize (method)">AutoC::Collection</a></span></p>
506
440
 
507
441
  </div>
508
442
  <div id="method_missing_details" class="method_details_list">
@@ -536,6 +470,10 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
536
470
  <pre class="lines">
537
471
 
538
472
 
473
+ 261
474
+ 262
475
+ 263
476
+ 264
539
477
  265
540
478
  266
541
479
  267
@@ -783,17 +721,15 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
783
721
  509
784
722
  510
785
723
  511
786
- 512
787
- 513
788
- 514
789
- 515</pre>
724
+ 512</pre>
790
725
  </td>
791
726
  <td>
792
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/queue.rb', line 265</span>
727
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/queue.rb', line 261</span>
793
728
 
794
729
  <span class='kw'>def</span> <span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span>
730
+ <span class='kw'>super</span>
795
731
  <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
796
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
732
+ static </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
797
733
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor'>ctor</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
798
734
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
799
735
  self-&gt;head_node = self-&gt;tail_node = NULL;
@@ -1035,7 +971,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1035
971
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>result</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>self-&gt;this_node-&gt;element</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1036
972
  return result;
1037
973
  }
1038
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
974
+ static </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
1039
975
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1040
976
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self-&gt;this_node);
1041
977
  return &amp;self-&gt;this_node-&gt;element;
@@ -1062,6 +998,10 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1062
998
  <pre class="lines">
1063
999
 
1064
1000
 
1001
+ 225
1002
+ 226
1003
+ 227
1004
+ 228
1065
1005
  229
1066
1006
  230
1067
1007
  231
@@ -1092,14 +1032,10 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1092
1032
  256
1093
1033
  257
1094
1034
  258
1095
- 259
1096
- 260
1097
- 261
1098
- 262
1099
- 263</pre>
1035
+ 259</pre>
1100
1036
  </td>
1101
1037
  <td>
1102
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/queue.rb', line 229</span>
1038
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/queue.rb', line 225</span>
1103
1039
 
1104
1040
  <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>
1105
1041
  <span class='kw'>super</span>
@@ -1156,6 +1092,11 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1156
1092
  <pre class="lines">
1157
1093
 
1158
1094
 
1095
+ 196
1096
+ 197
1097
+ 198
1098
+ 199
1099
+ 200
1159
1100
  201
1160
1101
  202
1161
1102
  203
@@ -1178,16 +1119,13 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1178
1119
  220
1179
1120
  221
1180
1121
  222
1181
- 223
1182
- 224
1183
- 225
1184
- 226
1185
- 227</pre>
1122
+ 223</pre>
1186
1123
  </td>
1187
1124
  <td>
1188
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/queue.rb', line 201</span>
1125
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/queue.rb', line 196</span>
1189
1126
 
1190
1127
  <span class='kw'>def</span> <span class='id identifier rubyid_write_intf_types'>write_intf_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1128
+ <span class='kw'>super</span>
1191
1129
  <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
1192
1130
  /***
1193
1131
  **** </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&lt;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&gt; (</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'>)
@@ -1224,9 +1162,9 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1224
1162
  </div>
1225
1163
 
1226
1164
  <div id="footer">
1227
- Generated on Sat Nov 22 16:58:04 2014 by
1165
+ Generated on Thu Mar 17 13:32:51 2016 by
1228
1166
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1229
- 0.8.7.6 (ruby-2.1.5).
1167
+ 0.8.7.6 (ruby-2.2.4).
1230
1168
  </div>
1231
1169
 
1232
1170
  </body>
@@ -157,9 +157,43 @@ If the reference count reaches zero, free the storage and destroy the instance w
157
157
 
158
158
 
159
159
 
160
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
161
+ <ul class="summary">
162
+
163
+ <li class="public ">
164
+ <span class="summary_signature">
165
+
166
+ <a href="#target-instance_method" title="#target (instance method)">- (Object) <strong>target</strong> </a>
167
+
168
+
169
+
170
+ </span>
171
+
172
+
173
+
174
+
175
+ <span class="note title readonly">readonly</span>
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+ <span class="summary_desc"><div class='inline'><div class="paragraph">
186
+ <p>Returns the value of attribute target.</p>
187
+ </div></div></span>
188
+
189
+ </li>
190
+
191
+
192
+ </ul>
193
+
160
194
 
161
195
 
162
- <h2>Instance Attribute Summary</h2>
196
+
163
197
 
164
198
  <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
165
199
  <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>
@@ -194,6 +228,30 @@ If the reference count reaches zero, free the storage and destroy the instance w
194
228
 
195
229
  <span class="summary_desc"><div class='inline'></div></span>
196
230
 
231
+ </li>
232
+
233
+
234
+ <li class="public ">
235
+ <span class="summary_signature">
236
+
237
+ <a href="#copyable%3F-instance_method" title="#copyable? (instance method)">- (Boolean) <strong>copyable?</strong> </a>
238
+
239
+
240
+
241
+ </span>
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+ <span class="summary_desc"><div class='inline'><div class="paragraph">
252
+ <p>Return <strong>true</strong> since reference copying involves no call to the underlying type&#8217;s copy constructor.</p>
253
+ </div></div></span>
254
+
197
255
  </li>
198
256
 
199
257
 
@@ -303,7 +361,7 @@ If the reference count reaches zero, free the storage and destroy the instance w
303
361
 
304
362
 
305
363
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
306
- <p class="inherited"><span class='object_link'><a href="Type.html#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#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</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#copyable%3F-instance_method" title="AutoC::Type#copyable? (method)">#copyable?</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#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</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>
364
+ <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#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</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#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Type.html#initializable%3F-instance_method" title="AutoC::Type#initializable? (method)">#initializable?</a></span>, <span class='object_link'><a href="Type.html#inline-instance_method" title="AutoC::Type#inline (method)">#inline</a></span>, <span class='object_link'><a href="Type.html#malloc-instance_method" title="AutoC::Type#malloc (method)">#malloc</a></span>, <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">#method_missing</a></span>, <span class='object_link'><a href="Type.html#orderable%3F-instance_method" title="AutoC::Type#orderable? (method)">#orderable?</a></span>, <span class='object_link'><a href="Type.html#prefix-instance_method" title="AutoC::Type#prefix (method)">#prefix</a></span>, <span class='object_link'><a href="Type.html#private%3F-instance_method" title="AutoC::Type#private? (method)">#private?</a></span>, <span class='object_link'><a href="Type.html#public%3F-instance_method" title="AutoC::Type#public? (method)">#public?</a></span>, <span class='object_link'><a href="Type.html#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>
307
365
 
308
366
 
309
367
 
@@ -344,26 +402,26 @@ If the reference count reaches zero, free the storage and destroy the instance w
344
402
  <pre class="lines">
345
403
 
346
404
 
347
- 381
348
- 382
349
- 383
350
- 384
351
- 385
352
- 386
353
- 387
354
- 388
355
- 389
356
- 390
357
- 391</pre>
405
+ 425
406
+ 426
407
+ 427
408
+ 428
409
+ 429
410
+ 430
411
+ 431
412
+ 432
413
+ 433
414
+ 434
415
+ 435</pre>
358
416
  </td>
359
417
  <td>
360
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 381</span>
418
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 425</span>
361
419
 
362
420
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_target'>target</span><span class='rparen'>)</span>
363
421
  <span class='ivar'>@target</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_target'>target</span><span class='rparen'>)</span>
364
422
  <span class='kw'>super</span><span class='lparen'>(</span><span class='ivar'>@target</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='rparen'>)</span> <span class='comment'># NOTE : the type of the Reference instance itself is actually a pointer type
365
- </span> <span class='ivar'>@ctor_params</span> <span class='op'>=</span> <span class='const'>Dispatcher</span><span class='op'>::</span><span class='const'>ParameterArray</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@target</span><span class='period'>.</span><span class='id identifier rubyid_ctor'>ctor</span><span class='period'>.</span><span class='id identifier rubyid_parameters'>parameters</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><span class='rparen'>)</span> <span class='comment'># Capture extra parameters from the target type constructor
366
- </span> <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:ctor</span><span class='comma'>,</span> <span class='ivar'>@ctor_params</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_params'>params</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</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='embexpr_beg'>#{</span><span class='ivar'>@ref</span><span class='period'>.</span><span class='id identifier rubyid_new?'>new?</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>,</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>))</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
423
+ </span> <span class='ivar'>@init</span> <span class='op'>=</span> <span class='const'>Dispatcher</span><span class='op'>::</span><span class='const'>ParameterArray</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@target</span><span class='period'>.</span><span class='id identifier rubyid_ctor'>ctor</span><span class='period'>.</span><span class='id identifier rubyid_parameters'>parameters</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><span class='rparen'>)</span> <span class='comment'># Capture extra parameters from the target type constructor
424
+ </span> <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:ctor</span><span class='comma'>,</span> <span class='ivar'>@init</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_params'>params</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</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='embexpr_beg'>#{</span><span class='ivar'>@ref</span><span class='period'>.</span><span class='id identifier rubyid_new?'>new?</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_params'>params</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>,</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>))</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
367
425
  <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:dtor</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='ivar'>@ref</span><span class='period'>.</span><span class='id identifier rubyid_free?'>free?</span><span class='embexpr_end'>}</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'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
368
426
  <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:copy</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</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='ivar'>@ref</span><span class='period'>.</span><span class='id identifier rubyid_ref?'>ref?</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'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
369
427
  <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:equal</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_lt'>lt</span><span class='comma'>,</span> <span class='id identifier rubyid_rt'>rt</span><span class='rparen'>)</span> <span class='ivar'>@target</span><span class='period'>.</span><span class='id identifier rubyid_equal'>equal</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>*</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_lt'>lt</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>*</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rt'>rt</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>end</span><span class='rbrace'>}</span>
@@ -387,6 +445,54 @@ If the reference count reaches zero, free the storage and destroy the instance w
387
445
 
388
446
  </div>
389
447
 
448
+ <div id="instance_attr_details" class="attr_details">
449
+ <h2>Instance Attribute Details</h2>
450
+
451
+
452
+ <span id=""></span>
453
+ <div class="method_details first">
454
+ <h3 class="signature first" id="target-instance_method">
455
+
456
+ - (<tt>Object</tt>) <strong>target</strong> <span class="extras">(readonly)</span>
457
+
458
+
459
+
460
+
461
+
462
+ </h3><div class="docstring">
463
+ <div class="discussion">
464
+ <div class="paragraph">
465
+ <p>Returns the value of attribute target</p>
466
+ </div>
467
+
468
+ </div>
469
+ </div>
470
+ <div class="tags">
471
+
472
+
473
+ </div><table class="source_code">
474
+ <tr>
475
+ <td>
476
+ <pre class="lines">
477
+
478
+
479
+ 423
480
+ 424
481
+ 425</pre>
482
+ </td>
483
+ <td>
484
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 423</span>
485
+
486
+ <span class='kw'>def</span> <span class='id identifier rubyid_target'>target</span>
487
+ <span class='ivar'>@target</span>
488
+ <span class='kw'>end</span></pre>
489
+ </td>
490
+ </tr>
491
+ </table>
492
+ </div>
493
+
494
+ </div>
495
+
390
496
 
391
497
  <div id="instance_method_details" class="method_details_list">
392
498
  <h2>Instance Method Details</h2>
@@ -411,15 +517,65 @@ If the reference count reaches zero, free the storage and destroy the instance w
411
517
  <pre class="lines">
412
518
 
413
519
 
414
- 393</pre>
520
+ 437</pre>
415
521
  </td>
416
522
  <td>
417
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 393</span>
523
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 437</span>
418
524
 
419
525
  <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='ivar'>@target</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='symbol'>:@target</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
420
526
  </td>
421
527
  </tr>
422
528
  </table>
529
+ </div>
530
+
531
+ <div class="method_details ">
532
+ <h3 class="signature " id="copyable?-instance_method">
533
+
534
+ - (<tt>Boolean</tt>) <strong>copyable?</strong>
535
+
536
+
537
+
538
+
539
+
540
+ </h3><div class="docstring">
541
+ <div class="discussion">
542
+ <div class="paragraph">
543
+ <p>Return <strong>true</strong> since reference copying involves no call to the underlying type&#8217;s copy constructor</p>
544
+ </div>
545
+
546
+ </div>
547
+ </div>
548
+ <div class="tags">
549
+
550
+ <p class="tag_title">Returns:</p>
551
+ <ul class="return">
552
+
553
+ <li>
554
+
555
+
556
+ <span class='type'>(<tt>Boolean</tt>)</span>
557
+
558
+
559
+
560
+ </li>
561
+
562
+ </ul>
563
+
564
+ </div><table class="source_code">
565
+ <tr>
566
+ <td>
567
+ <pre class="lines">
568
+
569
+
570
+ 421</pre>
571
+ </td>
572
+ <td>
573
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 421</span>
574
+
575
+ <span class='kw'>def</span> <span class='id identifier rubyid_copyable?'>copyable?</span><span class='semicolon'>;</span> <span class='kw'>true</span> <span class='kw'>end</span></pre>
576
+ </td>
577
+ </tr>
578
+ </table>
423
579
  </div>
424
580
 
425
581
  <div class="method_details ">
@@ -437,10 +593,10 @@ If the reference count reaches zero, free the storage and destroy the instance w
437
593
  <pre class="lines">
438
594
 
439
595
 
440
- 397</pre>
596
+ 441</pre>
441
597
  </td>
442
598
  <td>
443
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 397</span>
599
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 441</span>
444
600
 
445
601
  <span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>&lt;&lt;</span> <span class='ivar'>@target</span> <span class='kw'>end</span></pre>
446
602
  </td>
@@ -463,40 +619,40 @@ If the reference count reaches zero, free the storage and destroy the instance w
463
619
  <pre class="lines">
464
620
 
465
621
 
466
- 410
467
- 411
468
- 412
469
- 413
470
- 414
471
- 415
472
- 416
473
- 417
474
- 418
475
- 419
476
- 420
477
- 421
478
- 422
479
- 423
480
- 424
481
- 425
482
- 426
483
- 427
484
- 428
485
- 429
486
- 430
487
- 431
488
- 432
489
- 433</pre>
622
+ 454
623
+ 455
624
+ 456
625
+ 457
626
+ 458
627
+ 459
628
+ 460
629
+ 461
630
+ 462
631
+ 463
632
+ 464
633
+ 465
634
+ 466
635
+ 467
636
+ 468
637
+ 469
638
+ 470
639
+ 471
640
+ 472
641
+ 473
642
+ 474
643
+ 475
644
+ 476
645
+ 477</pre>
490
646
  </td>
491
647
  <td>
492
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 410</span>
648
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 454</span>
493
649
 
494
650
  <span class='kw'>def</span> <span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span>
495
651
  <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
496
652
  #define AUTOC_COUNTER(p) (*(size_t*)((char*)(p) + sizeof(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@target</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>)))
497
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_new?'>new?</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@ctor_params</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'>) {
653
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_new?'>new?</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@init</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'>) {
498
654
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> self = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_malloc'>malloc</span><span class='embexpr_end'>}</span><span class='tstring_content'>(sizeof(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@target</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>) + sizeof(size_t)); </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
499
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@target</span><span class='period'>.</span><span class='id identifier rubyid_ctor'>ctor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>*self</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='op'>*</span><span class='ivar'>@ctor_params</span><span class='period'>.</span><span class='id identifier rubyid_names'>names</span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
655
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@target</span><span class='period'>.</span><span class='id identifier rubyid_ctor'>ctor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>*self</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='op'>*</span><span class='ivar'>@init</span><span class='period'>.</span><span class='id identifier rubyid_names'>names</span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
500
656
  AUTOC_COUNTER(self) = 1;
501
657
  return self;
502
658
  }
@@ -535,26 +691,26 @@ If the reference count reaches zero, free the storage and destroy the instance w
535
691
  <pre class="lines">
536
692
 
537
693
 
538
- 399
539
- 400
540
- 401
541
- 402
542
- 403
543
- 404
544
- 405
545
- 406
546
- 407
547
- 408</pre>
694
+ 443
695
+ 444
696
+ 445
697
+ 446
698
+ 447
699
+ 448
700
+ 449
701
+ 450
702
+ 451
703
+ 452</pre>
548
704
  </td>
549
705
  <td>
550
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 399</span>
706
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 443</span>
551
707
 
552
708
  <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>
553
709
  <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
554
710
  /***
555
711
  **** &lt;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&gt; (</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'>)
556
712
  ***/
557
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_new?'>new?</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@ctor_params</span><span class='period'>.</span><span class='id identifier rubyid_declaration'>declaration</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
713
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_new?'>new?</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@init</span><span class='period'>.</span><span class='id identifier rubyid_declaration'>declaration</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
558
714
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ref?'>ref?</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
559
715
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_free?'>free?</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
560
716
  </span><span class='tstring_end'>$</span></span>
@@ -569,9 +725,9 @@ If the reference count reaches zero, free the storage and destroy the instance w
569
725
  </div>
570
726
 
571
727
  <div id="footer">
572
- Generated on Sat Nov 22 16:58:04 2014 by
728
+ Generated on Thu Mar 17 13:32:50 2016 by
573
729
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
574
- 0.8.7.6 (ruby-2.1.5).
730
+ 0.8.7.6 (ruby-2.2.4).
575
731
  </div>
576
732
 
577
733
  </body>