autoc 1.1 → 1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: AutoC::Type
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.4
9
+ &mdash; Documentation by YARD 0.8.7.6
10
10
 
11
11
  </title>
12
12
 
@@ -103,7 +103,7 @@
103
103
 
104
104
  <div id="subclasses">
105
105
  <h2>Direct Known Subclasses</h2>
106
- <p class="children"><span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span>, <span class='object_link'><a href="UserDefinedType.html" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span></p>
106
+ <p class="children"><span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span>, <span class='object_link'><a href="Reference.html" title="AutoC::Reference (class)">Reference</a></span>, <span class='object_link'><a href="UserDefinedType.html" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span></p>
107
107
  </div>
108
108
 
109
109
  <h2>Constant Summary</h2>
@@ -141,6 +141,35 @@
141
141
  <p>Returns the value of attribute type.</p>
142
142
  </div></div></span>
143
143
 
144
+ </li>
145
+
146
+
147
+ <li class="public ">
148
+ <span class="summary_signature">
149
+
150
+ <a href="#type_ref-instance_method" title="#type_ref (instance method)">- (Object) <strong>type_ref</strong> </a>
151
+
152
+
153
+
154
+ </span>
155
+
156
+
157
+
158
+
159
+ <span class="note title readonly">readonly</span>
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+ <span class="summary_desc"><div class='inline'><div class="paragraph">
170
+ <p>Returns the value of attribute type_ref.</p>
171
+ </div></div></span>
172
+
144
173
  </li>
145
174
 
146
175
 
@@ -150,6 +179,37 @@
150
179
 
151
180
 
152
181
 
182
+ <h2>
183
+ Class Method Summary
184
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
185
+ </h2>
186
+
187
+ <ul class="summary">
188
+
189
+ <li class="public ">
190
+ <span class="summary_signature">
191
+
192
+ <a href="#coerce-class_method" title="coerce (class method)">+ (Object) <strong>coerce</strong>(type) </a>
193
+
194
+
195
+
196
+ </span>
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+ <span class="summary_desc"><div class='inline'></div></span>
207
+
208
+ </li>
209
+
210
+
211
+ </ul>
212
+
153
213
  <h2>
154
214
  Instance Method Summary
155
215
  <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
@@ -160,6 +220,30 @@
160
220
  <li class="public ">
161
221
  <span class="summary_signature">
162
222
 
223
+ <a href="#%3D%3D-instance_method" title="#== (instance method)">- (Object) <strong>==</strong>(other) </a>
224
+
225
+
226
+
227
+ (also: #eql?)
228
+
229
+ </span>
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+
239
+ <span class="summary_desc"><div class='inline'></div></span>
240
+
241
+ </li>
242
+
243
+
244
+ <li class="public ">
245
+ <span class="summary_signature">
246
+
163
247
  <a href="#abort-instance_method" title="#abort (instance method)">- (Object) <strong>abort</strong> </a>
164
248
 
165
249
 
@@ -218,6 +302,94 @@
218
302
 
219
303
 
220
304
 
305
+ <span class="summary_desc"><div class='inline'></div></span>
306
+
307
+ </li>
308
+
309
+
310
+ <li class="public ">
311
+ <span class="summary_signature">
312
+
313
+ <a href="#comparable%3F-instance_method" title="#comparable? (instance method)">- (Boolean) <strong>comparable?</strong> </a>
314
+
315
+
316
+
317
+ </span>
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+
327
+ <span class="summary_desc"><div class='inline'></div></span>
328
+
329
+ </li>
330
+
331
+
332
+ <li class="public ">
333
+ <span class="summary_signature">
334
+
335
+ <a href="#constructible%3F-instance_method" title="#constructible? (instance method)">- (Boolean) <strong>constructible?</strong> </a>
336
+
337
+
338
+
339
+ </span>
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+
349
+ <span class="summary_desc"><div class='inline'></div></span>
350
+
351
+ </li>
352
+
353
+
354
+ <li class="public ">
355
+ <span class="summary_signature">
356
+
357
+ <a href="#copyable%3F-instance_method" title="#copyable? (instance method)">- (Boolean) <strong>copyable?</strong> </a>
358
+
359
+
360
+
361
+ </span>
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+
371
+ <span class="summary_desc"><div class='inline'></div></span>
372
+
373
+ </li>
374
+
375
+
376
+ <li class="public ">
377
+ <span class="summary_signature">
378
+
379
+ <a href="#destructible%3F-instance_method" title="#destructible? (instance method)">- (Boolean) <strong>destructible?</strong> </a>
380
+
381
+
382
+
383
+ </span>
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
221
393
  <span class="summary_desc"><div class='inline'></div></span>
222
394
 
223
395
  </li>
@@ -262,7 +434,9 @@
262
434
 
263
435
 
264
436
 
265
- <span class="summary_desc"><div class='inline'></div></span>
437
+ <span class="summary_desc"><div class='inline'><div class="paragraph">
438
+ <p>def write_impls(stream, define).</p>
439
+ </div></div></span>
266
440
 
267
441
  </li>
268
442
 
@@ -284,6 +458,50 @@
284
458
 
285
459
 
286
460
 
461
+ <span class="summary_desc"><div class='inline'></div></span>
462
+
463
+ </li>
464
+
465
+
466
+ <li class="public ">
467
+ <span class="summary_signature">
468
+
469
+ <a href="#hash-instance_method" title="#hash (instance method)">- (Object) <strong>hash</strong> </a>
470
+
471
+
472
+
473
+ </span>
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+ <span class="summary_desc"><div class='inline'></div></span>
484
+
485
+ </li>
486
+
487
+
488
+ <li class="public ">
489
+ <span class="summary_signature">
490
+
491
+ <a href="#hashable%3F-instance_method" title="#hashable? (instance method)">- (Boolean) <strong>hashable?</strong> </a>
492
+
493
+
494
+
495
+ </span>
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
287
505
  <span class="summary_desc"><div class='inline'></div></span>
288
506
 
289
507
  </li>
@@ -384,7 +602,7 @@
384
602
  <li class="public ">
385
603
  <span class="summary_signature">
386
604
 
387
- <a href="#static-instance_method" title="#static (instance method)">- (Object) <strong>static</strong> </a>
605
+ <a href="#orderable%3F-instance_method" title="#orderable? (instance method)">- (Boolean) <strong>orderable?</strong> </a>
388
606
 
389
607
 
390
608
 
@@ -406,7 +624,7 @@
406
624
  <li class="public ">
407
625
  <span class="summary_signature">
408
626
 
409
- <a href="#write_decls-instance_method" title="#write_decls (instance method)">- (Object) <strong>write_decls</strong>(stream) </a>
627
+ <a href="#prefix-instance_method" title="#prefix (instance method)">- (Object) <strong>prefix</strong> </a>
410
628
 
411
629
 
412
630
 
@@ -428,7 +646,51 @@
428
646
  <li class="public ">
429
647
  <span class="summary_signature">
430
648
 
431
- <a href="#write_defs-instance_method" title="#write_defs (instance method)">- (Object) <strong>write_defs</strong>(stream) </a>
649
+ <a href="#private%3F-instance_method" title="#private? (instance method)">- (Boolean) <strong>private?</strong> </a>
650
+
651
+
652
+
653
+ </span>
654
+
655
+
656
+
657
+
658
+
659
+
660
+
661
+
662
+
663
+ <span class="summary_desc"><div class='inline'></div></span>
664
+
665
+ </li>
666
+
667
+
668
+ <li class="public ">
669
+ <span class="summary_signature">
670
+
671
+ <a href="#public%3F-instance_method" title="#public? (instance method)">- (Boolean) <strong>public?</strong> </a>
672
+
673
+
674
+
675
+ </span>
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+ <span class="summary_desc"><div class='inline'></div></span>
686
+
687
+ </li>
688
+
689
+
690
+ <li class="public ">
691
+ <span class="summary_signature">
692
+
693
+ <a href="#static-instance_method" title="#static (instance method)">- (Object) <strong>static</strong> </a>
432
694
 
433
695
 
434
696
 
@@ -450,7 +712,7 @@
450
712
  <li class="public ">
451
713
  <span class="summary_signature">
452
714
 
453
- <a href="#write_exported_declarations-instance_method" title="#write_exported_declarations (instance method)">- (Object) <strong>write_exported_declarations</strong>(stream, declare, define) </a>
715
+ <a href="#static%3F-instance_method" title="#static? (instance method)">- (Boolean) <strong>static?</strong> </a>
454
716
 
455
717
 
456
718
 
@@ -472,7 +734,7 @@
472
734
  <li class="public ">
473
735
  <span class="summary_signature">
474
736
 
475
- <a href="#write_exported_types-instance_method" title="#write_exported_types (instance method)">- (Object) <strong>write_exported_types</strong>(stream) </a>
737
+ <a href="#write_decls-instance_method" title="#write_decls (instance method)">- (Object) <strong>write_decls</strong>(stream) </a>
476
738
 
477
739
 
478
740
 
@@ -494,7 +756,7 @@
494
756
  <li class="public ">
495
757
  <span class="summary_signature">
496
758
 
497
- <a href="#write_implementations-instance_method" title="#write_implementations (instance method)">- (Object) <strong>write_implementations</strong>(stream, define) </a>
759
+ <a href="#write_defs-instance_method" title="#write_defs (instance method)">- (Object) <strong>write_defs</strong>(stream) </a>
498
760
 
499
761
 
500
762
 
@@ -578,17 +840,35 @@
578
840
  <pre class="lines">
579
841
 
580
842
 
581
- 57
582
- 58
583
- 59
584
- 60</pre>
843
+ 168
844
+ 169
845
+ 170
846
+ 171
847
+ 172
848
+ 173
849
+ 174
850
+ 175
851
+ 176
852
+ 177
853
+ 178
854
+ 179
855
+ 180</pre>
585
856
  </td>
586
857
  <td>
587
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 57</span>
858
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 168</span>
588
859
 
589
860
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_visibility'>visibility</span> <span class='op'>=</span> <span class='symbol'>:public</span><span class='rparen'>)</span>
590
861
  <span class='ivar'>@type</span> <span class='op'>=</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
862
+ <span class='ivar'>@type_ref</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>*</span><span class='tstring_end'>&quot;</span></span>
591
863
  <span class='ivar'>@visibility</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:public</span><span class='comma'>,</span> <span class='symbol'>:private</span><span class='comma'>,</span> <span class='symbol'>:static</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_visibility'>visibility</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_visibility'>visibility</span> <span class='op'>:</span> <span class='id identifier rubyid_raise'>raise</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>unsupported visibility</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
864
+ <span class='ivar'>@capability</span> <span class='op'>=</span> <span class='const'>Set</span><span class='lbracket'>[</span><span class='symbol'>:constructible</span><span class='comma'>,</span> <span class='symbol'>:destructible</span><span class='comma'>,</span> <span class='symbol'>:copyable</span><span class='comma'>,</span> <span class='symbol'>:comparable</span><span class='comma'>,</span> <span class='symbol'>:hashable</span><span class='comma'>,</span> <span class='symbol'>:orderable</span><span class='rbracket'>]</span> <span class='comment'># Can be used to disable specific capabilities for a type
865
+ </span> <span class='comment'># Canonic special method signatures
866
+ </span> <span class='ivar'>@ctor_signature</span> <span class='op'>=</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:self</span><span class='rbracket'>]</span><span class='rparen'>)</span>
867
+ <span class='ivar'>@dtor_signature</span> <span class='op'>=</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:self</span><span class='rbracket'>]</span><span class='rparen'>)</span>
868
+ <span class='ivar'>@copy_signature</span> <span class='op'>=</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:dst</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:src</span><span class='rbracket'>]</span><span class='rparen'>)</span>
869
+ <span class='ivar'>@equal_signature</span> <span class='op'>=</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:lt</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:rt</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:int</span><span class='rparen'>)</span>
870
+ <span class='ivar'>@identify_signature</span> <span class='op'>=</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:self</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:size_t</span><span class='rparen'>)</span>
871
+ <span class='ivar'>@less_signature</span> <span class='op'>=</span> <span class='const'>Function</span><span class='op'>::</span><span class='const'>Signature</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:lt</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='op'>^</span><span class='symbol'>:rt</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='symbol'>:int</span><span class='rparen'>)</span>
592
872
  <span class='kw'>end</span></pre>
593
873
  </td>
594
874
  </tr>
@@ -618,30 +898,32 @@
618
898
  <pre class="lines">
619
899
 
620
900
 
621
- 62
622
- 63
623
- 64
624
- 65
625
- 66
626
- 67
627
- 68
628
- 69
629
- 70
630
- 71
631
- 72</pre>
901
+ 182
902
+ 183
903
+ 184
904
+ 185
905
+ 186
906
+ 187
907
+ 188
908
+ 189
909
+ 190
910
+ 191
911
+ 192
912
+ 193</pre>
632
913
  </td>
633
914
  <td>
634
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 62</span>
915
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 182</span>
635
916
 
636
917
  <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
637
918
  <span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
638
- <span class='id identifier rubyid_func'>func</span> <span class='op'>=</span> <span class='ivar'>@type</span> <span class='op'>+</span> <span class='id identifier rubyid_str'>str</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_capitalize'>capitalize</span> <span class='op'>+</span> <span class='id identifier rubyid_str'>str</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='comment'># Ruby 1.8 compatible
919
+ <span class='id identifier rubyid_str'>str</span> <span class='op'>=</span> <span class='id identifier rubyid_str'>str</span><span class='period'>.</span><span class='id identifier rubyid_sub'>sub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>[\!\?]$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='comment'># Strip trailing ? or !
920
+ </span> <span class='id identifier rubyid_fn'>fn</span> <span class='op'>=</span> <span class='id identifier rubyid_prefix'>prefix</span> <span class='op'>+</span> <span class='id identifier rubyid_str'>str</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_capitalize'>capitalize</span> <span class='op'>+</span> <span class='id identifier rubyid_str'>str</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='comment'># Ruby 1.8 compatible
639
921
  </span> <span class='kw'>if</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
640
- <span class='id identifier rubyid_func'>func</span> <span class='comment'># Emit bare function name
922
+ <span class='id identifier rubyid_fn'>fn</span> <span class='comment'># Emit bare function name
641
923
  </span> <span class='kw'>elsif</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>==</span> <span class='int'>1</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='op'>==</span> <span class='kw'>nil</span>
642
- <span class='id identifier rubyid_func'>func</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>()</span><span class='tstring_end'>&quot;</span></span> <span class='comment'># Use sole nil argument to emit function call with no arguments
924
+ <span class='id identifier rubyid_fn'>fn</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>()</span><span class='tstring_end'>&#39;</span></span> <span class='comment'># Use sole nil argument to emit function call with no arguments
643
925
  </span> <span class='kw'>else</span>
644
- <span class='id identifier rubyid_func'>func</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>(</span><span class='tstring_end'>&quot;</span></span> <span class='op'>+</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>)</span><span class='tstring_end'>&quot;</span></span> <span class='comment'># Emit normal function call with supplied arguments
926
+ <span class='id identifier rubyid_fn'>fn</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>(</span><span class='tstring_end'>&#39;</span></span> <span class='op'>+</span> <span class='id identifier rubyid_args'>args</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='op'>+</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>)</span><span class='tstring_end'>&#39;</span></span> <span class='comment'># Emit normal function call with supplied arguments
645
927
  </span> <span class='kw'>end</span>
646
928
  <span class='kw'>end</span></pre>
647
929
  </td>
@@ -682,12 +964,12 @@
682
964
  <pre class="lines">
683
965
 
684
966
 
685
- 53
686
- 54
687
- 55</pre>
967
+ 160
968
+ 161
969
+ 162</pre>
688
970
  </td>
689
971
  <td>
690
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 53</span>
972
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 160</span>
691
973
 
692
974
  <span class='kw'>def</span> <span class='id identifier rubyid_type'>type</span>
693
975
  <span class='ivar'>@type</span>
@@ -697,15 +979,124 @@
697
979
  </table>
698
980
  </div>
699
981
 
700
- </div>
982
+
983
+ <span id=""></span>
984
+ <div class="method_details ">
985
+ <h3 class="signature " id="type_ref-instance_method">
986
+
987
+ - (<tt>Object</tt>) <strong>type_ref</strong> <span class="extras">(readonly)</span>
988
+
989
+
990
+
991
+
992
+
993
+ </h3><div class="docstring">
994
+ <div class="discussion">
995
+ <div class="paragraph">
996
+ <p>Returns the value of attribute type_ref</p>
997
+ </div>
998
+
999
+ </div>
1000
+ </div>
1001
+ <div class="tags">
1002
+
1003
+
1004
+ </div><table class="source_code">
1005
+ <tr>
1006
+ <td>
1007
+ <pre class="lines">
701
1008
 
702
1009
 
1010
+ 160
1011
+ 161
1012
+ 162</pre>
1013
+ </td>
1014
+ <td>
1015
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 160</span>
1016
+
1017
+ <span class='kw'>def</span> <span class='id identifier rubyid_type_ref'>type_ref</span>
1018
+ <span class='ivar'>@type_ref</span>
1019
+ <span class='kw'>end</span></pre>
1020
+ </td>
1021
+ </tr>
1022
+ </table>
1023
+ </div>
1024
+
1025
+ </div>
1026
+
1027
+
1028
+ <div id="class_method_details" class="method_details_list">
1029
+ <h2>Class Method Details</h2>
1030
+
1031
+
1032
+ <div class="method_details first">
1033
+ <h3 class="signature first" id="coerce-class_method">
1034
+
1035
+ + (<tt>Object</tt>) <strong>coerce</strong>(type)
1036
+
1037
+
1038
+
1039
+
1040
+
1041
+ </h3><table class="source_code">
1042
+ <tr>
1043
+ <td>
1044
+ <pre class="lines">
1045
+
1046
+
1047
+ 148
1048
+ 149
1049
+ 150</pre>
1050
+ </td>
1051
+ <td>
1052
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 148</span>
1053
+
1054
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_coerce'>coerce</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
1055
+ <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Type</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>:</span> <span class='const'>UserDefinedType</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
1056
+ <span class='kw'>end</span></pre>
1057
+ </td>
1058
+ </tr>
1059
+ </table>
1060
+ </div>
1061
+
1062
+ </div>
1063
+
703
1064
  <div id="instance_method_details" class="method_details_list">
704
1065
  <h2>Instance Method Details</h2>
705
1066
 
706
1067
 
707
1068
  <div class="method_details first">
708
- <h3 class="signature first" id="abort-instance_method">
1069
+ <h3 class="signature first" id="==-instance_method">
1070
+
1071
+ - (<tt>Object</tt>) <strong>==</strong>(other)
1072
+
1073
+
1074
+
1075
+ <span class="aliases">Also known as:
1076
+ <span class="names"><span id='eql?-instance_method'>eql?</span></span>
1077
+ </span>
1078
+
1079
+
1080
+
1081
+ </h3><table class="source_code">
1082
+ <tr>
1083
+ <td>
1084
+ <pre class="lines">
1085
+
1086
+
1087
+ 154</pre>
1088
+ </td>
1089
+ <td>
1090
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 154</span>
1091
+
1092
+ <span class='kw'>def</span> <span class='op'>==</span><span class='lparen'>(</span><span class='id identifier rubyid_other'>other</span><span class='rparen'>)</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span> <span class='kw'>end</span></pre>
1093
+ </td>
1094
+ </tr>
1095
+ </table>
1096
+ </div>
1097
+
1098
+ <div class="method_details ">
1099
+ <h3 class="signature " id="abort-instance_method">
709
1100
 
710
1101
  - (<tt>Object</tt>) <strong>abort</strong>
711
1102
 
@@ -719,10 +1110,10 @@
719
1110
  <pre class="lines">
720
1111
 
721
1112
 
722
- 122</pre>
1113
+ 240</pre>
723
1114
  </td>
724
1115
  <td>
725
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 122</span>
1116
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 240</span>
726
1117
 
727
1118
  <span class='kw'>def</span> <span class='id identifier rubyid_abort'>abort</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>abort</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
728
1119
  </td>
@@ -745,10 +1136,10 @@
745
1136
  <pre class="lines">
746
1137
 
747
1138
 
748
- 114</pre>
1139
+ 232</pre>
749
1140
  </td>
750
1141
  <td>
751
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 114</span>
1142
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 232</span>
752
1143
 
753
1144
  <span class='kw'>def</span> <span class='id identifier rubyid_assert'>assert</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>assert</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
754
1145
  </td>
@@ -771,15 +1162,207 @@
771
1162
  <pre class="lines">
772
1163
 
773
1164
 
774
- 118</pre>
1165
+ 236</pre>
775
1166
  </td>
776
1167
  <td>
777
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 118</span>
1168
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 236</span>
778
1169
 
779
1170
  <span class='kw'>def</span> <span class='id identifier rubyid_calloc'>calloc</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>calloc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
780
1171
  </td>
781
1172
  </tr>
782
1173
  </table>
1174
+ </div>
1175
+
1176
+ <div class="method_details ">
1177
+ <h3 class="signature " id="comparable?-instance_method">
1178
+
1179
+ - (<tt>Boolean</tt>) <strong>comparable?</strong>
1180
+
1181
+
1182
+
1183
+
1184
+
1185
+ </h3><div class="docstring">
1186
+ <div class="discussion">
1187
+
1188
+
1189
+ </div>
1190
+ </div>
1191
+ <div class="tags">
1192
+
1193
+ <p class="tag_title">Returns:</p>
1194
+ <ul class="return">
1195
+
1196
+ <li>
1197
+
1198
+
1199
+ <span class='type'>(<tt>Boolean</tt>)</span>
1200
+
1201
+
1202
+
1203
+ </li>
1204
+
1205
+ </ul>
1206
+
1207
+ </div><table class="source_code">
1208
+ <tr>
1209
+ <td>
1210
+ <pre class="lines">
1211
+
1212
+
1213
+ 254</pre>
1214
+ </td>
1215
+ <td>
1216
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 254</span>
1217
+
1218
+ <span class='kw'>def</span> <span class='id identifier rubyid_comparable?'>comparable?</span><span class='semicolon'>;</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='symbol'>:comparable</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
1219
+ </td>
1220
+ </tr>
1221
+ </table>
1222
+ </div>
1223
+
1224
+ <div class="method_details ">
1225
+ <h3 class="signature " id="constructible?-instance_method">
1226
+
1227
+ - (<tt>Boolean</tt>) <strong>constructible?</strong>
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+ </h3><div class="docstring">
1234
+ <div class="discussion">
1235
+
1236
+
1237
+ </div>
1238
+ </div>
1239
+ <div class="tags">
1240
+
1241
+ <p class="tag_title">Returns:</p>
1242
+ <ul class="return">
1243
+
1244
+ <li>
1245
+
1246
+
1247
+ <span class='type'>(<tt>Boolean</tt>)</span>
1248
+
1249
+
1250
+
1251
+ </li>
1252
+
1253
+ </ul>
1254
+
1255
+ </div><table class="source_code">
1256
+ <tr>
1257
+ <td>
1258
+ <pre class="lines">
1259
+
1260
+
1261
+ 248</pre>
1262
+ </td>
1263
+ <td>
1264
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 248</span>
1265
+
1266
+ <span class='kw'>def</span> <span class='id identifier rubyid_constructible?'>constructible?</span><span class='semicolon'>;</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='symbol'>:constructible</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
1267
+ </td>
1268
+ </tr>
1269
+ </table>
1270
+ </div>
1271
+
1272
+ <div class="method_details ">
1273
+ <h3 class="signature " id="copyable?-instance_method">
1274
+
1275
+ - (<tt>Boolean</tt>) <strong>copyable?</strong>
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+ </h3><div class="docstring">
1282
+ <div class="discussion">
1283
+
1284
+
1285
+ </div>
1286
+ </div>
1287
+ <div class="tags">
1288
+
1289
+ <p class="tag_title">Returns:</p>
1290
+ <ul class="return">
1291
+
1292
+ <li>
1293
+
1294
+
1295
+ <span class='type'>(<tt>Boolean</tt>)</span>
1296
+
1297
+
1298
+
1299
+ </li>
1300
+
1301
+ </ul>
1302
+
1303
+ </div><table class="source_code">
1304
+ <tr>
1305
+ <td>
1306
+ <pre class="lines">
1307
+
1308
+
1309
+ 252</pre>
1310
+ </td>
1311
+ <td>
1312
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 252</span>
1313
+
1314
+ <span class='kw'>def</span> <span class='id identifier rubyid_copyable?'>copyable?</span><span class='semicolon'>;</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='symbol'>:copyable</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
1315
+ </td>
1316
+ </tr>
1317
+ </table>
1318
+ </div>
1319
+
1320
+ <div class="method_details ">
1321
+ <h3 class="signature " id="destructible?-instance_method">
1322
+
1323
+ - (<tt>Boolean</tt>) <strong>destructible?</strong>
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+ </h3><div class="docstring">
1330
+ <div class="discussion">
1331
+
1332
+
1333
+ </div>
1334
+ </div>
1335
+ <div class="tags">
1336
+
1337
+ <p class="tag_title">Returns:</p>
1338
+ <ul class="return">
1339
+
1340
+ <li>
1341
+
1342
+
1343
+ <span class='type'>(<tt>Boolean</tt>)</span>
1344
+
1345
+
1346
+
1347
+ </li>
1348
+
1349
+ </ul>
1350
+
1351
+ </div><table class="source_code">
1352
+ <tr>
1353
+ <td>
1354
+ <pre class="lines">
1355
+
1356
+
1357
+ 250</pre>
1358
+ </td>
1359
+ <td>
1360
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 250</span>
1361
+
1362
+ <span class='kw'>def</span> <span class='id identifier rubyid_destructible?'>destructible?</span><span class='semicolon'>;</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='symbol'>:destructible</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
1363
+ </td>
1364
+ </tr>
1365
+ </table>
783
1366
  </div>
784
1367
 
785
1368
  <div class="method_details ">
@@ -797,12 +1380,12 @@
797
1380
  <pre class="lines">
798
1381
 
799
1382
 
800
- 55</pre>
1383
+ 158</pre>
801
1384
  </td>
802
1385
  <td>
803
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 55</span>
1386
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 158</span>
804
1387
 
805
- <span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span><span class='semicolon'>;</span> <span class='lbracket'>[</span><span class='const'>CommonCode</span><span class='rbracket'>]</span> <span class='kw'>end</span></pre>
1388
+ <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='const'>CommonCode</span> <span class='kw'>end</span></pre>
806
1389
  </td>
807
1390
  </tr>
808
1391
  </table>
@@ -817,16 +1400,27 @@
817
1400
 
818
1401
 
819
1402
 
820
- </h3><table class="source_code">
1403
+ </h3><div class="docstring">
1404
+ <div class="discussion">
1405
+ <div class="paragraph">
1406
+ <p>def write_impls(stream, define)</p>
1407
+ </div>
1408
+
1409
+ </div>
1410
+ </div>
1411
+ <div class="tags">
1412
+
1413
+
1414
+ </div><table class="source_code">
821
1415
  <tr>
822
1416
  <td>
823
1417
  <pre class="lines">
824
1418
 
825
1419
 
826
- 108</pre>
1420
+ 226</pre>
827
1421
  </td>
828
1422
  <td>
829
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 108</span>
1423
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 226</span>
830
1424
 
831
1425
  <span class='kw'>def</span> <span class='id identifier rubyid_extern'>extern</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>AUTOC_EXTERN</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
832
1426
  </td>
@@ -849,15 +1443,89 @@
849
1443
  <pre class="lines">
850
1444
 
851
1445
 
852
- 120</pre>
1446
+ 238</pre>
853
1447
  </td>
854
1448
  <td>
855
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 120</span>
1449
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 238</span>
856
1450
 
857
1451
  <span class='kw'>def</span> <span class='id identifier rubyid_free'>free</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>free</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
858
1452
  </td>
859
1453
  </tr>
860
1454
  </table>
1455
+ </div>
1456
+
1457
+ <div class="method_details ">
1458
+ <h3 class="signature " id="hash-instance_method">
1459
+
1460
+ - (<tt>Object</tt>) <strong>hash</strong>
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+ </h3><table class="source_code">
1467
+ <tr>
1468
+ <td>
1469
+ <pre class="lines">
1470
+
1471
+
1472
+ 152</pre>
1473
+ </td>
1474
+ <td>
1475
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 152</span>
1476
+
1477
+ <span class='kw'>def</span> <span class='id identifier rubyid_hash'>hash</span><span class='semicolon'>;</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span> <span class='op'>^</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span> <span class='kw'>end</span></pre>
1478
+ </td>
1479
+ </tr>
1480
+ </table>
1481
+ </div>
1482
+
1483
+ <div class="method_details ">
1484
+ <h3 class="signature " id="hashable?-instance_method">
1485
+
1486
+ - (<tt>Boolean</tt>) <strong>hashable?</strong>
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+ </h3><div class="docstring">
1493
+ <div class="discussion">
1494
+
1495
+
1496
+ </div>
1497
+ </div>
1498
+ <div class="tags">
1499
+
1500
+ <p class="tag_title">Returns:</p>
1501
+ <ul class="return">
1502
+
1503
+ <li>
1504
+
1505
+
1506
+ <span class='type'>(<tt>Boolean</tt>)</span>
1507
+
1508
+
1509
+
1510
+ </li>
1511
+
1512
+ </ul>
1513
+
1514
+ </div><table class="source_code">
1515
+ <tr>
1516
+ <td>
1517
+ <pre class="lines">
1518
+
1519
+
1520
+ 258</pre>
1521
+ </td>
1522
+ <td>
1523
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 258</span>
1524
+
1525
+ <span class='kw'>def</span> <span class='id identifier rubyid_hashable?'>hashable?</span><span class='semicolon'>;</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='symbol'>:hashable</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_comparable?'>comparable?</span> <span class='kw'>end</span></pre>
1526
+ </td>
1527
+ </tr>
1528
+ </table>
861
1529
  </div>
862
1530
 
863
1531
  <div class="method_details ">
@@ -875,10 +1543,10 @@
875
1543
  <pre class="lines">
876
1544
 
877
1545
 
878
- 110</pre>
1546
+ 228</pre>
879
1547
  </td>
880
1548
  <td>
881
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 110</span>
1549
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 228</span>
882
1550
 
883
1551
  <span class='kw'>def</span> <span class='id identifier rubyid_inline'>inline</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>AUTOC_INLINE</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
884
1552
  </td>
@@ -901,10 +1569,10 @@
901
1569
  <pre class="lines">
902
1570
 
903
1571
 
904
- 116</pre>
1572
+ 234</pre>
905
1573
  </td>
906
1574
  <td>
907
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 116</span>
1575
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 234</span>
908
1576
 
909
1577
  <span class='kw'>def</span> <span class='id identifier rubyid_malloc'>malloc</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>malloc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
910
1578
  </td>
@@ -913,35 +1581,57 @@
913
1581
  </div>
914
1582
 
915
1583
  <div class="method_details ">
916
- <h3 class="signature " id="static-instance_method">
1584
+ <h3 class="signature " id="orderable?-instance_method">
917
1585
 
918
- - (<tt>Object</tt>) <strong>static</strong>
1586
+ - (<tt>Boolean</tt>) <strong>orderable?</strong>
919
1587
 
920
1588
 
921
1589
 
922
1590
 
923
1591
 
924
- </h3><table class="source_code">
1592
+ </h3><div class="docstring">
1593
+ <div class="discussion">
1594
+
1595
+
1596
+ </div>
1597
+ </div>
1598
+ <div class="tags">
1599
+
1600
+ <p class="tag_title">Returns:</p>
1601
+ <ul class="return">
1602
+
1603
+ <li>
1604
+
1605
+
1606
+ <span class='type'>(<tt>Boolean</tt>)</span>
1607
+
1608
+
1609
+
1610
+ </li>
1611
+
1612
+ </ul>
1613
+
1614
+ </div><table class="source_code">
925
1615
  <tr>
926
1616
  <td>
927
1617
  <pre class="lines">
928
1618
 
929
1619
 
930
- 112</pre>
1620
+ 256</pre>
931
1621
  </td>
932
1622
  <td>
933
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 112</span>
1623
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 256</span>
934
1624
 
935
- <span class='kw'>def</span> <span class='id identifier rubyid_static'>static</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>AUTOC_STATIC</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
1625
+ <span class='kw'>def</span> <span class='id identifier rubyid_orderable?'>orderable?</span><span class='semicolon'>;</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='symbol'>:orderable</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_comparable?'>comparable?</span> <span class='kw'>end</span></pre>
936
1626
  </td>
937
1627
  </tr>
938
1628
  </table>
939
1629
  </div>
940
1630
 
941
1631
  <div class="method_details ">
942
- <h3 class="signature " id="write_decls-instance_method">
1632
+ <h3 class="signature " id="prefix-instance_method">
943
1633
 
944
- - (<tt>Object</tt>) <strong>write_decls</strong>(stream)
1634
+ - (<tt>Object</tt>) <strong>prefix</strong>
945
1635
 
946
1636
 
947
1637
 
@@ -953,29 +1643,19 @@
953
1643
  <pre class="lines">
954
1644
 
955
1645
 
956
- 82
957
- 83
958
- 84
959
- 85
960
- 86
961
- 87
962
- 88
963
- 89
964
- 90
965
- 91</pre>
1646
+ 162
1647
+ 163
1648
+ 164
1649
+ 165
1650
+ 166</pre>
966
1651
  </td>
967
1652
  <td>
968
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 82</span>
1653
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 162</span>
969
1654
 
970
- <span class='kw'>def</span> <span class='id identifier rubyid_write_decls'>write_decls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
971
- <span class='kw'>case</span> <span class='ivar'>@visibility</span>
972
- <span class='kw'>when</span> <span class='symbol'>:private</span>
973
- <span class='id identifier rubyid_write_exported_types'>write_exported_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
974
- <span class='id identifier rubyid_write_exported_declarations'>write_exported_declarations</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_extern'>extern</span><span class='comma'>,</span> <span class='id identifier rubyid_inline'>inline</span><span class='rparen'>)</span>
975
- <span class='kw'>when</span> <span class='symbol'>:static</span>
976
- <span class='id identifier rubyid_write_exported_types'>write_exported_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
977
- <span class='id identifier rubyid_write_exported_declarations'>write_exported_declarations</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_static'>static</span><span class='comma'>,</span> <span class='id identifier rubyid_inline'>inline</span><span class='rparen'>)</span>
978
- <span class='kw'>end</span>
1655
+ <span class='kw'>def</span> <span class='id identifier rubyid_prefix'>prefix</span>
1656
+ <span class='comment'># Lazy evaluator for simple types like char* which do not actually use
1657
+ </span> <span class='comment'># this method and hence do not require the prefix to be valid C identifier
1658
+ </span> <span class='const'>AutoC</span><span class='period'>.</span><span class='id identifier rubyid_c_id'>c_id</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
979
1659
  <span class='kw'>end</span></pre>
980
1660
  </td>
981
1661
  </tr>
@@ -983,49 +1663,105 @@
983
1663
  </div>
984
1664
 
985
1665
  <div class="method_details ">
986
- <h3 class="signature " id="write_defs-instance_method">
1666
+ <h3 class="signature " id="private?-instance_method">
987
1667
 
988
- - (<tt>Object</tt>) <strong>write_defs</strong>(stream)
1668
+ - (<tt>Boolean</tt>) <strong>private?</strong>
989
1669
 
990
1670
 
991
1671
 
992
1672
 
993
1673
 
994
- </h3><table class="source_code">
1674
+ </h3><div class="docstring">
1675
+ <div class="discussion">
1676
+
1677
+
1678
+ </div>
1679
+ </div>
1680
+ <div class="tags">
1681
+
1682
+ <p class="tag_title">Returns:</p>
1683
+ <ul class="return">
1684
+
1685
+ <li>
1686
+
1687
+
1688
+ <span class='type'>(<tt>Boolean</tt>)</span>
1689
+
1690
+
1691
+
1692
+ </li>
1693
+
1694
+ </ul>
1695
+
1696
+ </div><table class="source_code">
995
1697
  <tr>
996
1698
  <td>
997
1699
  <pre class="lines">
998
1700
 
999
1701
 
1000
- 93
1001
- 94
1002
- 95
1003
- 96
1004
- 97
1005
- 98
1006
- 99
1007
- 100</pre>
1702
+ 244</pre>
1008
1703
  </td>
1009
1704
  <td>
1010
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 93</span>
1705
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 244</span>
1011
1706
 
1012
- <span class='kw'>def</span> <span class='id identifier rubyid_write_defs'>write_defs</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1013
- <span class='kw'>case</span> <span class='ivar'>@visibility</span>
1014
- <span class='kw'>when</span> <span class='symbol'>:public</span><span class='comma'>,</span> <span class='symbol'>:private</span>
1015
- <span class='id identifier rubyid_write_implementations'>write_implementations</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1016
- <span class='kw'>when</span> <span class='symbol'>:static</span>
1017
- <span class='id identifier rubyid_write_implementations'>write_implementations</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_static'>static</span><span class='rparen'>)</span>
1018
- <span class='kw'>end</span>
1019
- <span class='kw'>end</span></pre>
1707
+ <span class='kw'>def</span> <span class='id identifier rubyid_private?'>private?</span><span class='semicolon'>;</span> <span class='ivar'>@visibility</span> <span class='op'>==</span> <span class='symbol'>:private</span> <span class='kw'>end</span></pre>
1020
1708
  </td>
1021
1709
  </tr>
1022
1710
  </table>
1023
1711
  </div>
1024
1712
 
1025
1713
  <div class="method_details ">
1026
- <h3 class="signature " id="write_exported_declarations-instance_method">
1714
+ <h3 class="signature " id="public?-instance_method">
1027
1715
 
1028
- - (<tt>Object</tt>) <strong>write_exported_declarations</strong>(stream, declare, define)
1716
+ - (<tt>Boolean</tt>) <strong>public?</strong>
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+ </h3><div class="docstring">
1723
+ <div class="discussion">
1724
+
1725
+
1726
+ </div>
1727
+ </div>
1728
+ <div class="tags">
1729
+
1730
+ <p class="tag_title">Returns:</p>
1731
+ <ul class="return">
1732
+
1733
+ <li>
1734
+
1735
+
1736
+ <span class='type'>(<tt>Boolean</tt>)</span>
1737
+
1738
+
1739
+
1740
+ </li>
1741
+
1742
+ </ul>
1743
+
1744
+ </div><table class="source_code">
1745
+ <tr>
1746
+ <td>
1747
+ <pre class="lines">
1748
+
1749
+
1750
+ 242</pre>
1751
+ </td>
1752
+ <td>
1753
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 242</span>
1754
+
1755
+ <span class='kw'>def</span> <span class='id identifier rubyid_public?'>public?</span><span class='semicolon'>;</span> <span class='ivar'>@visibility</span> <span class='op'>==</span> <span class='symbol'>:public</span> <span class='kw'>end</span></pre>
1756
+ </td>
1757
+ </tr>
1758
+ </table>
1759
+ </div>
1760
+
1761
+ <div class="method_details ">
1762
+ <h3 class="signature " id="static-instance_method">
1763
+
1764
+ - (<tt>Object</tt>) <strong>static</strong>
1029
1765
 
1030
1766
 
1031
1767
 
@@ -1037,21 +1773,69 @@
1037
1773
  <pre class="lines">
1038
1774
 
1039
1775
 
1040
- 104</pre>
1776
+ 230</pre>
1777
+ </td>
1778
+ <td>
1779
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 230</span>
1780
+
1781
+ <span class='kw'>def</span> <span class='id identifier rubyid_static'>static</span><span class='semicolon'>;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>AUTOC_STATIC</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span></pre>
1782
+ </td>
1783
+ </tr>
1784
+ </table>
1785
+ </div>
1786
+
1787
+ <div class="method_details ">
1788
+ <h3 class="signature " id="static?-instance_method">
1789
+
1790
+ - (<tt>Boolean</tt>) <strong>static?</strong>
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+ </h3><div class="docstring">
1797
+ <div class="discussion">
1798
+
1799
+
1800
+ </div>
1801
+ </div>
1802
+ <div class="tags">
1803
+
1804
+ <p class="tag_title">Returns:</p>
1805
+ <ul class="return">
1806
+
1807
+ <li>
1808
+
1809
+
1810
+ <span class='type'>(<tt>Boolean</tt>)</span>
1811
+
1812
+
1813
+
1814
+ </li>
1815
+
1816
+ </ul>
1817
+
1818
+ </div><table class="source_code">
1819
+ <tr>
1820
+ <td>
1821
+ <pre class="lines">
1822
+
1823
+
1824
+ 246</pre>
1041
1825
  </td>
1042
1826
  <td>
1043
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 104</span>
1827
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 246</span>
1044
1828
 
1045
- <span class='kw'>def</span> <span class='id identifier rubyid_write_exported_declarations'>write_exported_declarations</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_declare'>declare</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
1829
+ <span class='kw'>def</span> <span class='id identifier rubyid_static?'>static?</span><span class='semicolon'>;</span> <span class='ivar'>@visibility</span> <span class='op'>==</span> <span class='symbol'>:static</span> <span class='kw'>end</span></pre>
1046
1830
  </td>
1047
1831
  </tr>
1048
1832
  </table>
1049
1833
  </div>
1050
1834
 
1051
1835
  <div class="method_details ">
1052
- <h3 class="signature " id="write_exported_types-instance_method">
1836
+ <h3 class="signature " id="write_decls-instance_method">
1053
1837
 
1054
- - (<tt>Object</tt>) <strong>write_exported_types</strong>(stream)
1838
+ - (<tt>Object</tt>) <strong>write_decls</strong>(stream)
1055
1839
 
1056
1840
 
1057
1841
 
@@ -1063,21 +1847,37 @@
1063
1847
  <pre class="lines">
1064
1848
 
1065
1849
 
1066
- 102</pre>
1850
+ 202
1851
+ 203
1852
+ 204
1853
+ 205
1854
+ 206
1855
+ 207
1856
+ 208
1857
+ 209
1858
+ 210</pre>
1067
1859
  </td>
1068
1860
  <td>
1069
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 102</span>
1861
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 202</span>
1070
1862
 
1071
- <span class='kw'>def</span> <span class='id identifier rubyid_write_exported_types'>write_exported_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
1863
+ <span class='kw'>def</span> <span class='id identifier rubyid_write_decls'>write_decls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1864
+ <span class='kw'>if</span> <span class='id identifier rubyid_private?'>private?</span>
1865
+ <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>
1866
+ <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_extern'>extern</span><span class='comma'>,</span> <span class='id identifier rubyid_inline'>inline</span><span class='rparen'>)</span>
1867
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_static?'>static?</span>
1868
+ <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>
1869
+ <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_static'>static</span><span class='comma'>,</span> <span class='id identifier rubyid_inline'>inline</span><span class='rparen'>)</span>
1870
+ <span class='kw'>end</span>
1871
+ <span class='kw'>end</span></pre>
1072
1872
  </td>
1073
1873
  </tr>
1074
1874
  </table>
1075
1875
  </div>
1076
1876
 
1077
1877
  <div class="method_details ">
1078
- <h3 class="signature " id="write_implementations-instance_method">
1878
+ <h3 class="signature " id="write_defs-instance_method">
1079
1879
 
1080
- - (<tt>Object</tt>) <strong>write_implementations</strong>(stream, define)
1880
+ - (<tt>Object</tt>) <strong>write_defs</strong>(stream)
1081
1881
 
1082
1882
 
1083
1883
 
@@ -1089,12 +1889,24 @@
1089
1889
  <pre class="lines">
1090
1890
 
1091
1891
 
1092
- 106</pre>
1892
+ 212
1893
+ 213
1894
+ 214
1895
+ 215
1896
+ 216
1897
+ 217
1898
+ 218</pre>
1093
1899
  </td>
1094
1900
  <td>
1095
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 106</span>
1901
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 212</span>
1096
1902
 
1097
- <span class='kw'>def</span> <span class='id identifier rubyid_write_implementations'>write_implementations</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
1903
+ <span class='kw'>def</span> <span class='id identifier rubyid_write_defs'>write_defs</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1904
+ <span class='kw'>if</span> <span class='id identifier rubyid_public?'>public?</span> <span class='op'>||</span> <span class='id identifier rubyid_private?'>private?</span>
1905
+ <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='kw'>nil</span><span class='rparen'>)</span>
1906
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_static?'>static?</span>
1907
+ <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_static'>static</span><span class='rparen'>)</span>
1908
+ <span class='kw'>end</span>
1909
+ <span class='kw'>end</span></pre>
1098
1910
  </td>
1099
1911
  </tr>
1100
1912
  </table>
@@ -1115,22 +1927,20 @@
1115
1927
  <pre class="lines">
1116
1928
 
1117
1929
 
1118
- 74
1119
- 75
1120
- 76
1121
- 77
1122
- 78
1123
- 79
1124
- 80</pre>
1930
+ 195
1931
+ 196
1932
+ 197
1933
+ 198
1934
+ 199
1935
+ 200</pre>
1125
1936
  </td>
1126
1937
  <td>
1127
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 74</span>
1938
+ <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 195</span>
1128
1939
 
1129
1940
  <span class='kw'>def</span> <span class='id identifier rubyid_write_intf'>write_intf</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1130
- <span class='kw'>case</span> <span class='ivar'>@visibility</span>
1131
- <span class='kw'>when</span> <span class='symbol'>:public</span>
1132
- <span class='id identifier rubyid_write_exported_types'>write_exported_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1133
- <span class='id identifier rubyid_write_exported_declarations'>write_exported_declarations</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_extern'>extern</span><span class='comma'>,</span> <span class='id identifier rubyid_inline'>inline</span><span class='rparen'>)</span>
1941
+ <span class='kw'>if</span> <span class='id identifier rubyid_public?'>public?</span>
1942
+ <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>
1943
+ <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_extern'>extern</span><span class='comma'>,</span> <span class='id identifier rubyid_inline'>inline</span><span class='rparen'>)</span>
1134
1944
  <span class='kw'>end</span>
1135
1945
  <span class='kw'>end</span></pre>
1136
1946
  </td>
@@ -1143,9 +1953,9 @@
1143
1953
  </div>
1144
1954
 
1145
1955
  <div id="footer">
1146
- Generated on Mon Jun 9 18:28:02 2014 by
1956
+ Generated on Sat Nov 22 16:58:04 2014 by
1147
1957
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1148
- 0.8.7.4 (ruby-2.0.0).
1958
+ 0.8.7.6 (ruby-2.1.5).
1149
1959
  </div>
1150
1960
 
1151
1961
  </body>