autoc 1.2 → 1.3

Sign up to get free protection for your applications and to get access to all the features.
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>