autoc 1.1 → 1.2

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