autoc 1.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES.md +3 -0
  3. data/README.md +149 -0
  4. data/cmake/AutoC.cmake +39 -0
  5. data/lib/autoc/allocators.rb +51 -0
  6. data/lib/autoc/association.rb +126 -0
  7. data/lib/autoc/box.rb +311 -0
  8. data/lib/autoc/cmake.rb +54 -0
  9. data/lib/autoc/collection.rb +83 -110
  10. data/lib/autoc/composite.rb +333 -0
  11. data/lib/autoc/cstring.rb +263 -0
  12. data/lib/autoc/function.rb +247 -0
  13. data/lib/autoc/hash_map.rb +328 -0
  14. data/lib/autoc/hash_set.rb +339 -0
  15. data/lib/autoc/hashers.rb +102 -0
  16. data/lib/autoc/list.rb +444 -0
  17. data/lib/autoc/module.rb +434 -0
  18. data/lib/autoc/openmp.rb +15 -0
  19. data/lib/autoc/primitive.rb +27 -0
  20. data/lib/autoc/ranges.rb +707 -0
  21. data/lib/autoc/record.rb +247 -0
  22. data/lib/autoc/scaffold/docs.rb +117 -0
  23. data/lib/autoc/scaffold/generic_value.rb +86 -0
  24. data/lib/autoc/scaffold/project.rb +75 -0
  25. data/lib/autoc/scaffold/test_cstring.rb +113 -0
  26. data/lib/autoc/scaffold/test_cstring_hash_set.rb +35 -0
  27. data/lib/autoc/scaffold/test_int_box.rb +22 -0
  28. data/lib/autoc/scaffold/test_int_hash_set.rb +448 -0
  29. data/lib/autoc/scaffold/test_int_list.rb +106 -0
  30. data/lib/autoc/scaffold/test_int_vector.rb +83 -0
  31. data/lib/autoc/scaffold/test_v2v_hash_map.rb +83 -0
  32. data/lib/autoc/scaffold/test_value_hash_set.rb +60 -0
  33. data/lib/autoc/scaffold/test_value_vector.rb +146 -0
  34. data/{test/test.rb → lib/autoc/scaffold/tests.rb} +179 -158
  35. data/lib/autoc/scaffold.rb +12 -0
  36. data/lib/autoc/sequential.rb +99 -0
  37. data/lib/autoc/set.rb +331 -0
  38. data/lib/autoc/std.rb +149 -0
  39. data/lib/autoc/type.rb +93 -531
  40. data/lib/autoc/vector.rb +290 -0
  41. data/lib/autoc.rb +4 -35
  42. metadata +55 -85
  43. data/.yardopts +0 -4
  44. data/CHANGES +0 -23
  45. data/README +0 -28
  46. data/doc/AutoC/Code.html +0 -523
  47. data/doc/AutoC/Collection.html +0 -1214
  48. data/doc/AutoC/HashMap.html +0 -1441
  49. data/doc/AutoC/HashSet.html +0 -916
  50. data/doc/AutoC/Iterators/Bidirectional.html +0 -204
  51. data/doc/AutoC/Iterators/Unidirectional.html +0 -200
  52. data/doc/AutoC/Iterators.html +0 -126
  53. data/doc/AutoC/List.html +0 -1039
  54. data/doc/AutoC/Maps.html +0 -290
  55. data/doc/AutoC/Module/File.html +0 -415
  56. data/doc/AutoC/Module/Header.html +0 -437
  57. data/doc/AutoC/Module/Source.html +0 -707
  58. data/doc/AutoC/Module.html +0 -948
  59. data/doc/AutoC/Priority.html +0 -138
  60. data/doc/AutoC/Queue.html +0 -1172
  61. data/doc/AutoC/Reference.html +0 -735
  62. data/doc/AutoC/Sets.html +0 -520
  63. data/doc/AutoC/String.html +0 -1394
  64. data/doc/AutoC/TreeMap.html +0 -1565
  65. data/doc/AutoC/TreeSet.html +0 -1447
  66. data/doc/AutoC/Type.html +0 -2148
  67. data/doc/AutoC/UserDefinedType.html +0 -1047
  68. data/doc/AutoC/Vector.html +0 -987
  69. data/doc/AutoC.html +0 -331
  70. data/doc/_index.html +0 -388
  71. data/doc/class_list.html +0 -51
  72. data/doc/css/common.css +0 -1
  73. data/doc/css/full_list.css +0 -58
  74. data/doc/css/style.css +0 -481
  75. data/doc/file.CHANGES.html +0 -117
  76. data/doc/file.README.html +0 -116
  77. data/doc/file_list.html +0 -61
  78. data/doc/frames.html +0 -17
  79. data/doc/index.html +0 -116
  80. data/doc/js/app.js +0 -243
  81. data/doc/js/full_list.js +0 -216
  82. data/doc/js/jquery.js +0 -4
  83. data/doc/method_list.html +0 -1307
  84. data/doc/top-level-namespace.html +0 -112
  85. data/lib/autoc/code.rb +0 -237
  86. data/lib/autoc/collection/hash_map.rb +0 -385
  87. data/lib/autoc/collection/hash_set.rb +0 -337
  88. data/lib/autoc/collection/iterator.rb +0 -39
  89. data/lib/autoc/collection/list.rb +0 -429
  90. data/lib/autoc/collection/map.rb +0 -41
  91. data/lib/autoc/collection/queue.rb +0 -517
  92. data/lib/autoc/collection/set.rb +0 -134
  93. data/lib/autoc/collection/tree_map.rb +0 -464
  94. data/lib/autoc/collection/tree_set.rb +0 -611
  95. data/lib/autoc/collection/vector.rb +0 -336
  96. data/lib/autoc/string.rb +0 -492
  97. data/test/test_auto.c +0 -7141
  98. data/test/test_auto.h +0 -753
  99. data/test/test_char_string.rb +0 -270
  100. data/test/test_int_list.rb +0 -35
  101. data/test/test_int_tree_set.rb +0 -111
  102. data/test/test_int_vector.rb +0 -34
  103. data/test/test_value_hash_map.rb +0 -162
  104. data/test/test_value_hash_set.rb +0 -173
  105. data/test/test_value_list.rb +0 -193
  106. data/test/test_value_queue.rb +0 -275
  107. data/test/test_value_tree_map.rb +0 -176
  108. data/test/test_value_tree_set.rb +0 -173
  109. data/test/test_value_vector.rb +0 -155
  110. data/test/value.rb +0 -80
@@ -1,1047 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Class: AutoC::UserDefinedType
8
-
9
- &mdash; Documentation by YARD 0.9.5
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "AutoC::UserDefinedType";
19
- relpath = '../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../class_list.html"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../_index.html">Index (U)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../AutoC.html" title="AutoC (module)">AutoC</a></span></span>
41
- &raquo;
42
- <span class="title">UserDefinedType</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <iframe id="search_frame" src="../class_list.html"></iframe>
63
-
64
- <div id="content"><h1>Class: AutoC::UserDefinedType
65
-
66
-
67
-
68
- </h1>
69
- <div class="box_info">
70
-
71
- <dl>
72
- <dt>Inherits:</dt>
73
- <dd>
74
- <span class="inheritName"><span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></span>
75
-
76
- <ul class="fullTree">
77
- <li>Object</li>
78
-
79
- <li class="next"><span class='object_link'><a href="Code.html" title="AutoC::Code (class)">Code</a></span></li>
80
-
81
- <li class="next"><span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></li>
82
-
83
- <li class="next">AutoC::UserDefinedType</li>
84
-
85
- </ul>
86
- <a href="#" class="inheritanceTree">show all</a>
87
-
88
- </dd>
89
- </dl>
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
- <dl>
102
- <dt>Defined in:</dt>
103
- <dd>lib/autoc/type.rb</dd>
104
- </dl>
105
-
106
- </div>
107
-
108
- <h2>Overview</h2><div class="docstring">
109
- <div class="discussion">
110
- <div class="paragraph">
111
- <p>UserDefinedType represents a user-defined custom type.</p>
112
- </div>
113
-
114
- </div>
115
- </div>
116
- <div class="tags">
117
-
118
-
119
- </div>
120
-
121
-
122
-
123
-
124
-
125
- <h2>Instance Attribute Summary</h2>
126
-
127
- <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
128
- <p class="inherited"><span class='object_link'><a href="Type.html#type-instance_method" title="AutoC::Type#type (method)">#type</a></span>, <span class='object_link'><a href="Type.html#type_ref-instance_method" title="AutoC::Type#type_ref (method)">#type_ref</a></span></p>
129
-
130
-
131
-
132
- <h2>
133
- Instance Method Summary
134
- <small><a href="#" class="summary_toggle">collapse</a></small>
135
- </h2>
136
-
137
- <ul class="summary">
138
-
139
- <li class="public ">
140
- <span class="summary_signature">
141
-
142
- <a href="#comparable%3F-instance_method" title="#comparable? (instance method)">#<strong>comparable?</strong> &#x21d2; Boolean </a>
143
-
144
-
145
-
146
- </span>
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
- <span class="summary_desc"><div class='inline'></div></span>
157
-
158
- </li>
159
-
160
-
161
- <li class="public ">
162
- <span class="summary_signature">
163
-
164
- <a href="#constructible%3F-instance_method" title="#constructible? (instance method)">#<strong>constructible?</strong> &#x21d2; Boolean </a>
165
-
166
-
167
-
168
- </span>
169
-
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
-
178
- <span class="summary_desc"><div class='inline'></div></span>
179
-
180
- </li>
181
-
182
-
183
- <li class="public ">
184
- <span class="summary_signature">
185
-
186
- <a href="#copyable%3F-instance_method" title="#copyable? (instance method)">#<strong>copyable?</strong> &#x21d2; Boolean </a>
187
-
188
-
189
-
190
- </span>
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
- <span class="summary_desc"><div class='inline'></div></span>
201
-
202
- </li>
203
-
204
-
205
- <li class="public ">
206
- <span class="summary_signature">
207
-
208
- <a href="#destructible%3F-instance_method" title="#destructible? (instance method)">#<strong>destructible?</strong> &#x21d2; Boolean </a>
209
-
210
-
211
-
212
- </span>
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
- <span class="summary_desc"><div class='inline'></div></span>
223
-
224
- </li>
225
-
226
-
227
- <li class="public ">
228
- <span class="summary_signature">
229
-
230
- <a href="#entities-instance_method" title="#entities (instance method)">#<strong>entities</strong> &#x21d2; Object </a>
231
-
232
-
233
-
234
- </span>
235
-
236
-
237
-
238
-
239
-
240
-
241
-
242
-
243
-
244
- <span class="summary_desc"><div class='inline'><div class="paragraph">
245
- <p>PublicDeclaration.</p>
246
- </div></div></span>
247
-
248
- </li>
249
-
250
-
251
- <li class="public ">
252
- <span class="summary_signature">
253
-
254
- <a href="#hashable%3F-instance_method" title="#hashable? (instance method)">#<strong>hashable?</strong> &#x21d2; Boolean </a>
255
-
256
-
257
-
258
- </span>
259
-
260
-
261
-
262
-
263
-
264
-
265
-
266
-
267
-
268
- <span class="summary_desc"><div class='inline'></div></span>
269
-
270
- </li>
271
-
272
-
273
- <li class="public ">
274
- <span class="summary_signature">
275
-
276
- <a href="#initializable%3F-instance_method" title="#initializable? (instance method)">#<strong>initializable?</strong> &#x21d2; Boolean </a>
277
-
278
-
279
-
280
- </span>
281
-
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
-
290
- <span class="summary_desc"><div class='inline'></div></span>
291
-
292
- </li>
293
-
294
-
295
- <li class="public ">
296
- <span class="summary_signature">
297
-
298
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(opt) &#x21d2; UserDefinedType </a>
299
-
300
-
301
-
302
- </span>
303
-
304
-
305
- <span class="note title constructor">constructor</span>
306
-
307
-
308
-
309
-
310
-
311
-
312
-
313
-
314
- <span class="summary_desc"><div class='inline'><div class="paragraph">
315
- <p>A new instance of UserDefinedType.</p>
316
- </div></div></span>
317
-
318
- </li>
319
-
320
-
321
- <li class="public ">
322
- <span class="summary_signature">
323
-
324
- <a href="#orderable%3F-instance_method" title="#orderable? (instance method)">#<strong>orderable?</strong> &#x21d2; Boolean </a>
325
-
326
-
327
-
328
- </span>
329
-
330
-
331
-
332
-
333
-
334
-
335
-
336
-
337
-
338
- <span class="summary_desc"><div class='inline'></div></span>
339
-
340
- </li>
341
-
342
-
343
- <li class="public ">
344
- <span class="summary_signature">
345
-
346
- <a href="#prefix-instance_method" title="#prefix (instance method)">#<strong>prefix</strong> &#x21d2; Object </a>
347
-
348
-
349
-
350
- </span>
351
-
352
-
353
-
354
-
355
-
356
-
357
-
358
-
359
-
360
- <span class="summary_desc"><div class='inline'></div></span>
361
-
362
- </li>
363
-
364
-
365
- <li class="public ">
366
- <span class="summary_signature">
367
-
368
- <a href="#write_impls-instance_method" title="#write_impls (instance method)">#<strong>write_impls</strong>(stream, define) &#x21d2; Object </a>
369
-
370
-
371
-
372
- </span>
373
-
374
-
375
-
376
-
377
-
378
-
379
-
380
-
381
-
382
- <span class="summary_desc"><div class='inline'></div></span>
383
-
384
- </li>
385
-
386
-
387
- <li class="public ">
388
- <span class="summary_signature">
389
-
390
- <a href="#write_intf_decls-instance_method" title="#write_intf_decls (instance method)">#<strong>write_intf_decls</strong>(stream, declare, define) &#x21d2; Object </a>
391
-
392
-
393
-
394
- </span>
395
-
396
-
397
-
398
-
399
-
400
-
401
-
402
-
403
-
404
- <span class="summary_desc"><div class='inline'></div></span>
405
-
406
- </li>
407
-
408
-
409
- <li class="public ">
410
- <span class="summary_signature">
411
-
412
- <a href="#write_intf_types-instance_method" title="#write_intf_types (instance method)">#<strong>write_intf_types</strong>(stream) &#x21d2; Object </a>
413
-
414
-
415
-
416
- </span>
417
-
418
-
419
-
420
-
421
-
422
-
423
-
424
-
425
-
426
- <span class="summary_desc"><div class='inline'><div class="paragraph">
427
- <p>The methods below are left empty as the user-defined types have no implementation on their own.</p>
428
- </div></div></span>
429
-
430
- </li>
431
-
432
-
433
- </ul>
434
-
435
-
436
-
437
-
438
-
439
-
440
-
441
-
442
-
443
-
444
-
445
- <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
446
- <p class="inherited"><span class='object_link'><a href="Type.html#%3D%3D-instance_method" title="AutoC::Type#== (method)">#==</a></span>, <span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#coerce-class_method" title="AutoC::Type.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#inline-instance_method" title="AutoC::Type#inline (method)">#inline</a></span>, <span class='object_link'><a href="Type.html#malloc-instance_method" title="AutoC::Type#malloc (method)">#malloc</a></span>, <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">#method_missing</a></span>, <span class='object_link'><a href="Type.html#private%3F-instance_method" title="AutoC::Type#private? (method)">#private?</a></span>, <span class='object_link'><a href="Type.html#public%3F-instance_method" title="AutoC::Type#public? (method)">#public?</a></span>, <span class='object_link'><a href="Type.html#sortable%3F-instance_method" title="AutoC::Type#sortable? (method)">#sortable?</a></span>, <span class='object_link'><a href="Type.html#static-instance_method" title="AutoC::Type#static (method)">#static</a></span>, <span class='object_link'><a href="Type.html#static%3F-instance_method" title="AutoC::Type#static? (method)">#static?</a></span>, <span class='object_link'><a href="Type.html#write_decls-instance_method" title="AutoC::Type#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Type.html#write_defs-instance_method" title="AutoC::Type#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Type.html#write_intf-instance_method" title="AutoC::Type#write_intf (method)">#write_intf</a></span></p>
447
-
448
-
449
-
450
-
451
-
452
-
453
-
454
-
455
-
456
- <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Code.html" title="AutoC::Code (class)">Code</a></span></h3>
457
- <p class="inherited"><span class='object_link'><a href="Code.html#attach-instance_method" title="AutoC::Code#attach (method)">#attach</a></span>, <span class='object_link'><a href="Code.html#priority-instance_method" title="AutoC::Code#priority (method)">#priority</a></span>, <span class='object_link'><a href="Code.html#source_size-instance_method" title="AutoC::Code#source_size (method)">#source_size</a></span>, <span class='object_link'><a href="Code.html#write_decls-instance_method" title="AutoC::Code#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Code.html#write_defs-instance_method" title="AutoC::Code#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Code.html#write_intf-instance_method" title="AutoC::Code#write_intf (method)">#write_intf</a></span></p>
458
- <div id="constructor_details" class="method_details_list">
459
- <h2>Constructor Details</h2>
460
-
461
- <div class="method_details first">
462
- <h3 class="signature first" id="initialize-instance_method">
463
-
464
- #<strong>initialize</strong>(opt) &#x21d2; <tt><span class='object_link'><a href="" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span></tt>
465
-
466
-
467
-
468
-
469
-
470
- </h3><div class="docstring">
471
- <div class="discussion">
472
- <div class="paragraph">
473
- <p>Returns a new instance of UserDefinedType</p>
474
- </div>
475
-
476
- </div>
477
- </div>
478
- <div class="tags">
479
-
480
-
481
- </div><table class="source_code">
482
- <tr>
483
- <td>
484
- <pre class="lines">
485
-
486
-
487
- 321
488
- 322
489
- 323
490
- 324
491
- 325
492
- 326
493
- 327
494
- 328
495
- 329
496
- 330
497
- 331
498
- 332
499
- 333
500
- 334
501
- 335
502
- 336
503
- 337</pre>
504
- </td>
505
- <td>
506
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 321</span>
507
-
508
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_opt'>opt</span><span class='rparen'>)</span>
509
- <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='symbol'>:type</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_opt'>opt</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Symbol</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_opt'>opt</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>String</span><span class='rparen'>)</span>
510
- <span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
511
- <span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</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'>type is not specified</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
512
- <span class='kw'>else</span>
513
- <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>argument must be a Symbol, String or Hash</span><span class='tstring_end'>&quot;</span></span>
514
- <span class='kw'>end</span>
515
- <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span>
516
- <span class='ivar'>@prefix</span> <span class='op'>=</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_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:prefix</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:prefix</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
517
- <span class='ivar'>@deps</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='semicolon'>;</span> <span class='ivar'>@deps</span> <span class='op'>&lt;&lt;</span> <span class='const'>PublicDeclaration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:forward</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:forward</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
518
- <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:ctor</span><span class='comma'>,</span> <span class='id identifier rubyid_opt'>opt</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>((</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_obj'>obj</span><span class='embexpr_end'>}</span><span class='tstring_content'>) = 0)</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
519
- <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:dtor</span><span class='comma'>,</span> <span class='id identifier rubyid_opt'>opt</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span> <span class='kw'>end</span><span class='rbrace'>}</span>
520
- <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:copy</span><span class='comma'>,</span> <span class='id identifier rubyid_opt'>opt</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>((</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dst'>dst</span><span class='embexpr_end'>}</span><span class='tstring_content'>) = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_src'>src</span><span class='embexpr_end'>}</span><span class='tstring_content'>))</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
521
- <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:equal</span><span class='comma'>,</span> <span class='id identifier rubyid_opt'>opt</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_lt'>lt</span><span class='comma'>,</span> <span class='id identifier rubyid_rt'>rt</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>((</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_lt'>lt</span><span class='embexpr_end'>}</span><span class='tstring_content'>) == (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rt'>rt</span><span class='embexpr_end'>}</span><span class='tstring_content'>))</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
522
- <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:less</span><span class='comma'>,</span> <span class='id identifier rubyid_opt'>opt</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_lt'>lt</span><span class='comma'>,</span> <span class='id identifier rubyid_rt'>rt</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>((</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_lt'>lt</span><span class='embexpr_end'>}</span><span class='tstring_content'>) &lt; (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rt'>rt</span><span class='embexpr_end'>}</span><span class='tstring_content'>))</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
523
- <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:identify</span><span class='comma'>,</span> <span class='id identifier rubyid_opt'>opt</span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='kw'>def</span> <span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>((size_t)(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_obj'>obj</span><span class='embexpr_end'>}</span><span class='tstring_content'>))</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
524
- <span class='kw'>end</span></pre>
525
- </td>
526
- </tr>
527
- </table>
528
- </div>
529
-
530
- </div>
531
- <div id="method_missing_details" class="method_details_list">
532
- <h2>Dynamic Method Handling</h2>
533
- <p class="notice super">
534
- This class handles dynamic methods through the <tt>method_missing</tt> method
535
-
536
- in the class <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">AutoC::Type</a></span>
537
-
538
- </p>
539
-
540
- </div>
541
-
542
-
543
- <div id="instance_method_details" class="method_details_list">
544
- <h2>Instance Method Details</h2>
545
-
546
-
547
- <div class="method_details first">
548
- <h3 class="signature first" id="comparable?-instance_method">
549
-
550
- #<strong>comparable?</strong> &#x21d2; <tt>Boolean</tt>
551
-
552
-
553
-
554
-
555
-
556
- </h3><div class="docstring">
557
- <div class="discussion">
558
-
559
-
560
- </div>
561
- </div>
562
- <div class="tags">
563
-
564
- <p class="tag_title">Returns:</p>
565
- <ul class="return">
566
-
567
- <li>
568
-
569
-
570
- <span class='type'>(<tt>Boolean</tt>)</span>
571
-
572
-
573
-
574
- </li>
575
-
576
- </ul>
577
-
578
- </div><table class="source_code">
579
- <tr>
580
- <td>
581
- <pre class="lines">
582
-
583
-
584
- 347</pre>
585
- </td>
586
- <td>
587
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 347</span>
588
-
589
- <span class='kw'>def</span> <span class='id identifier rubyid_comparable?'>comparable?</span><span class='semicolon'>;</span> <span class='op'>!</span><span class='ivar'>@equal</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span></pre>
590
- </td>
591
- </tr>
592
- </table>
593
- </div>
594
-
595
- <div class="method_details ">
596
- <h3 class="signature " id="constructible?-instance_method">
597
-
598
- #<strong>constructible?</strong> &#x21d2; <tt>Boolean</tt>
599
-
600
-
601
-
602
-
603
-
604
- </h3><div class="docstring">
605
- <div class="discussion">
606
-
607
-
608
- </div>
609
- </div>
610
- <div class="tags">
611
-
612
- <p class="tag_title">Returns:</p>
613
- <ul class="return">
614
-
615
- <li>
616
-
617
-
618
- <span class='type'>(<tt>Boolean</tt>)</span>
619
-
620
-
621
-
622
- </li>
623
-
624
- </ul>
625
-
626
- </div><table class="source_code">
627
- <tr>
628
- <td>
629
- <pre class="lines">
630
-
631
-
632
- 339</pre>
633
- </td>
634
- <td>
635
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 339</span>
636
-
637
- <span class='kw'>def</span> <span class='id identifier rubyid_constructible?'>constructible?</span><span class='semicolon'>;</span> <span class='op'>!</span><span class='ivar'>@ctor</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@ctor</span><span class='period'>.</span><span class='id identifier rubyid_parameters'>parameters</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>==</span> <span class='int'>1</span> <span class='kw'>end</span></pre>
638
- </td>
639
- </tr>
640
- </table>
641
- </div>
642
-
643
- <div class="method_details ">
644
- <h3 class="signature " id="copyable?-instance_method">
645
-
646
- #<strong>copyable?</strong> &#x21d2; <tt>Boolean</tt>
647
-
648
-
649
-
650
-
651
-
652
- </h3><div class="docstring">
653
- <div class="discussion">
654
-
655
-
656
- </div>
657
- </div>
658
- <div class="tags">
659
-
660
- <p class="tag_title">Returns:</p>
661
- <ul class="return">
662
-
663
- <li>
664
-
665
-
666
- <span class='type'>(<tt>Boolean</tt>)</span>
667
-
668
-
669
-
670
- </li>
671
-
672
- </ul>
673
-
674
- </div><table class="source_code">
675
- <tr>
676
- <td>
677
- <pre class="lines">
678
-
679
-
680
- 345</pre>
681
- </td>
682
- <td>
683
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 345</span>
684
-
685
- <span class='kw'>def</span> <span class='id identifier rubyid_copyable?'>copyable?</span><span class='semicolon'>;</span> <span class='op'>!</span><span class='ivar'>@copy</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span></pre>
686
- </td>
687
- </tr>
688
- </table>
689
- </div>
690
-
691
- <div class="method_details ">
692
- <h3 class="signature " id="destructible?-instance_method">
693
-
694
- #<strong>destructible?</strong> &#x21d2; <tt>Boolean</tt>
695
-
696
-
697
-
698
-
699
-
700
- </h3><div class="docstring">
701
- <div class="discussion">
702
-
703
-
704
- </div>
705
- </div>
706
- <div class="tags">
707
-
708
- <p class="tag_title">Returns:</p>
709
- <ul class="return">
710
-
711
- <li>
712
-
713
-
714
- <span class='type'>(<tt>Boolean</tt>)</span>
715
-
716
-
717
-
718
- </li>
719
-
720
- </ul>
721
-
722
- </div><table class="source_code">
723
- <tr>
724
- <td>
725
- <pre class="lines">
726
-
727
-
728
- 343</pre>
729
- </td>
730
- <td>
731
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 343</span>
732
-
733
- <span class='kw'>def</span> <span class='id identifier rubyid_destructible?'>destructible?</span><span class='semicolon'>;</span> <span class='op'>!</span><span class='ivar'>@dtor</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span></pre>
734
- </td>
735
- </tr>
736
- </table>
737
- </div>
738
-
739
- <div class="method_details ">
740
- <h3 class="signature " id="entities-instance_method">
741
-
742
- #<strong>entities</strong> &#x21d2; <tt>Object</tt>
743
-
744
-
745
-
746
-
747
-
748
- </h3><div class="docstring">
749
- <div class="discussion">
750
- <div class="paragraph">
751
- <p>PublicDeclaration</p>
752
- </div>
753
-
754
- </div>
755
- </div>
756
- <div class="tags">
757
-
758
-
759
- </div><table class="source_code">
760
- <tr>
761
- <td>
762
- <pre class="lines">
763
-
764
-
765
- 317</pre>
766
- </td>
767
- <td>
768
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 317</span>
769
-
770
- <span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span><span class='semicolon'>;</span> <span class='kw'>super</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span><span class='lparen'>(</span><span class='ivar'>@deps</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
771
- </td>
772
- </tr>
773
- </table>
774
- </div>
775
-
776
- <div class="method_details ">
777
- <h3 class="signature " id="hashable?-instance_method">
778
-
779
- #<strong>hashable?</strong> &#x21d2; <tt>Boolean</tt>
780
-
781
-
782
-
783
-
784
-
785
- </h3><div class="docstring">
786
- <div class="discussion">
787
-
788
-
789
- </div>
790
- </div>
791
- <div class="tags">
792
-
793
- <p class="tag_title">Returns:</p>
794
- <ul class="return">
795
-
796
- <li>
797
-
798
-
799
- <span class='type'>(<tt>Boolean</tt>)</span>
800
-
801
-
802
-
803
- </li>
804
-
805
- </ul>
806
-
807
- </div><table class="source_code">
808
- <tr>
809
- <td>
810
- <pre class="lines">
811
-
812
-
813
- 351</pre>
814
- </td>
815
- <td>
816
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 351</span>
817
-
818
- <span class='kw'>def</span> <span class='id identifier rubyid_hashable?'>hashable?</span><span class='semicolon'>;</span> <span class='op'>!</span><span class='ivar'>@identify</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span></pre>
819
- </td>
820
- </tr>
821
- </table>
822
- </div>
823
-
824
- <div class="method_details ">
825
- <h3 class="signature " id="initializable?-instance_method">
826
-
827
- #<strong>initializable?</strong> &#x21d2; <tt>Boolean</tt>
828
-
829
-
830
-
831
-
832
-
833
- </h3><div class="docstring">
834
- <div class="discussion">
835
-
836
-
837
- </div>
838
- </div>
839
- <div class="tags">
840
-
841
- <p class="tag_title">Returns:</p>
842
- <ul class="return">
843
-
844
- <li>
845
-
846
-
847
- <span class='type'>(<tt>Boolean</tt>)</span>
848
-
849
-
850
-
851
- </li>
852
-
853
- </ul>
854
-
855
- </div><table class="source_code">
856
- <tr>
857
- <td>
858
- <pre class="lines">
859
-
860
-
861
- 341</pre>
862
- </td>
863
- <td>
864
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 341</span>
865
-
866
- <span class='kw'>def</span> <span class='id identifier rubyid_initializable?'>initializable?</span><span class='semicolon'>;</span> <span class='op'>!</span><span class='ivar'>@ctor</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span></pre>
867
- </td>
868
- </tr>
869
- </table>
870
- </div>
871
-
872
- <div class="method_details ">
873
- <h3 class="signature " id="orderable?-instance_method">
874
-
875
- #<strong>orderable?</strong> &#x21d2; <tt>Boolean</tt>
876
-
877
-
878
-
879
-
880
-
881
- </h3><div class="docstring">
882
- <div class="discussion">
883
-
884
-
885
- </div>
886
- </div>
887
- <div class="tags">
888
-
889
- <p class="tag_title">Returns:</p>
890
- <ul class="return">
891
-
892
- <li>
893
-
894
-
895
- <span class='type'>(<tt>Boolean</tt>)</span>
896
-
897
-
898
-
899
- </li>
900
-
901
- </ul>
902
-
903
- </div><table class="source_code">
904
- <tr>
905
- <td>
906
- <pre class="lines">
907
-
908
-
909
- 349</pre>
910
- </td>
911
- <td>
912
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 349</span>
913
-
914
- <span class='kw'>def</span> <span class='id identifier rubyid_orderable?'>orderable?</span><span class='semicolon'>;</span> <span class='op'>!</span><span class='ivar'>@less</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span></pre>
915
- </td>
916
- </tr>
917
- </table>
918
- </div>
919
-
920
- <div class="method_details ">
921
- <h3 class="signature " id="prefix-instance_method">
922
-
923
- #<strong>prefix</strong> &#x21d2; <tt>Object</tt>
924
-
925
-
926
-
927
-
928
-
929
- </h3><table class="source_code">
930
- <tr>
931
- <td>
932
- <pre class="lines">
933
-
934
-
935
- 319</pre>
936
- </td>
937
- <td>
938
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 319</span>
939
-
940
- <span class='kw'>def</span> <span class='id identifier rubyid_prefix'>prefix</span><span class='semicolon'>;</span> <span class='ivar'>@prefix</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='kw'>super</span> <span class='op'>:</span> <span class='ivar'>@prefix</span> <span class='kw'>end</span></pre>
941
- </td>
942
- </tr>
943
- </table>
944
- </div>
945
-
946
- <div class="method_details ">
947
- <h3 class="signature " id="write_impls-instance_method">
948
-
949
- #<strong>write_impls</strong>(stream, define) &#x21d2; <tt>Object</tt>
950
-
951
-
952
-
953
-
954
-
955
- </h3><table class="source_code">
956
- <tr>
957
- <td>
958
- <pre class="lines">
959
-
960
-
961
- 359</pre>
962
- </td>
963
- <td>
964
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 359</span>
965
-
966
- <span class='kw'>def</span> <span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
967
- </td>
968
- </tr>
969
- </table>
970
- </div>
971
-
972
- <div class="method_details ">
973
- <h3 class="signature " id="write_intf_decls-instance_method">
974
-
975
- #<strong>write_intf_decls</strong>(stream, declare, define) &#x21d2; <tt>Object</tt>
976
-
977
-
978
-
979
-
980
-
981
- </h3><table class="source_code">
982
- <tr>
983
- <td>
984
- <pre class="lines">
985
-
986
-
987
- 357</pre>
988
- </td>
989
- <td>
990
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 357</span>
991
-
992
- <span class='kw'>def</span> <span class='id identifier rubyid_write_intf_decls'>write_intf_decls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_declare'>declare</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
993
- </td>
994
- </tr>
995
- </table>
996
- </div>
997
-
998
- <div class="method_details ">
999
- <h3 class="signature " id="write_intf_types-instance_method">
1000
-
1001
- #<strong>write_intf_types</strong>(stream) &#x21d2; <tt>Object</tt>
1002
-
1003
-
1004
-
1005
-
1006
-
1007
- </h3><div class="docstring">
1008
- <div class="discussion">
1009
- <div class="paragraph">
1010
- <p>The methods below are left empty as the user-defined types have no implementation on their own</p>
1011
- </div>
1012
-
1013
- </div>
1014
- </div>
1015
- <div class="tags">
1016
-
1017
-
1018
- </div><table class="source_code">
1019
- <tr>
1020
- <td>
1021
- <pre class="lines">
1022
-
1023
-
1024
- 355</pre>
1025
- </td>
1026
- <td>
1027
- <pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 355</span>
1028
-
1029
- <span class='kw'>def</span> <span class='id identifier rubyid_write_intf_types'>write_intf_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span> <span class='kw'>end</span></pre>
1030
- </td>
1031
- </tr>
1032
- </table>
1033
- </div>
1034
-
1035
- </div>
1036
-
1037
- </div>
1038
-
1039
- <div id="footer">
1040
- Generated on Wed Oct 12 12:27:11 2016 by
1041
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1042
- 0.9.5 (ruby-2.3.1).
1043
- </div>
1044
-
1045
- </div>
1046
- </body>
1047
- </html>