autoc 1.1 → 1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +3 -1
- data/CHANGES +15 -0
- data/README +2 -0
- data/doc/AutoC.html +84 -14
- data/doc/AutoC/Code.html +31 -31
- data/doc/AutoC/Collection.html +250 -182
- data/doc/AutoC/HashMap.html +565 -245
- data/doc/AutoC/HashSet.html +266 -264
- data/doc/AutoC/List.html +317 -249
- data/doc/AutoC/Module.html +66 -72
- data/doc/AutoC/Module/File.html +25 -25
- data/doc/AutoC/Module/Header.html +25 -25
- data/doc/AutoC/Module/Source.html +43 -43
- data/doc/AutoC/Priority.html +3 -3
- data/doc/AutoC/Queue.html +352 -286
- data/doc/AutoC/Reference.html +578 -0
- data/doc/AutoC/Type.html +941 -131
- data/doc/AutoC/UserDefinedType.html +64 -313
- data/doc/AutoC/Vector.html +336 -306
- data/doc/_index.html +22 -4
- data/doc/class_list.html +6 -2
- data/doc/file.CHANGES.html +102 -0
- data/doc/file.README.html +7 -4
- data/doc/file_list.html +8 -1
- data/doc/frames.html +1 -1
- data/doc/index.html +7 -4
- data/doc/js/full_list.js +4 -1
- data/doc/method_list.html +236 -118
- data/doc/top-level-namespace.html +3 -3
- data/lib/autoc.rb +3 -3
- data/lib/autoc/code.rb +11 -5
- data/lib/autoc/collection.rb +62 -56
- data/lib/autoc/collection/hash_map.rb +83 -63
- data/lib/autoc/collection/hash_set.rb +74 -64
- data/lib/autoc/collection/list.rb +48 -41
- data/lib/autoc/collection/queue.rb +53 -47
- data/lib/autoc/collection/vector.rb +63 -42
- data/lib/autoc/type.rb +326 -61
- data/test/test.c +120 -0
- data/test/test.rb +16 -2
- data/test/test_auto.c +1683 -987
- data/test/test_auto.h +491 -176
- metadata +22 -19
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: AutoC::UserDefinedType
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— Documentation by YARD 0.8.7.6
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -103,7 +103,18 @@
|
|
103
103
|
</dl>
|
104
104
|
<div class="clear"></div>
|
105
105
|
|
106
|
+
<h2>Overview</h2><div class="docstring">
|
107
|
+
<div class="discussion">
|
108
|
+
<div class="paragraph">
|
109
|
+
<p>UserDefinedType represents a user-defined custom type.</p>
|
110
|
+
</div>
|
111
|
+
|
112
|
+
</div>
|
113
|
+
</div>
|
114
|
+
<div class="tags">
|
115
|
+
|
106
116
|
|
117
|
+
</div>
|
107
118
|
<h2>Constant Summary</h2>
|
108
119
|
|
109
120
|
|
@@ -115,7 +126,7 @@
|
|
115
126
|
<h2>Instance Attribute Summary</h2>
|
116
127
|
|
117
128
|
<h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
|
118
|
-
<p class="inherited"><span class='object_link'><a href="Type.html#type-instance_method" title="AutoC::Type#type (method)">#type</a></span></p>
|
129
|
+
<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>
|
119
130
|
|
120
131
|
|
121
132
|
|
@@ -129,72 +140,6 @@
|
|
129
140
|
<li class="public ">
|
130
141
|
<span class="summary_signature">
|
131
142
|
|
132
|
-
<a href="#copy-instance_method" title="#copy (instance method)">- (Object) <strong>copy</strong>(dst, src) </a>
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
</span>
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
<span class="summary_desc"><div class='inline'></div></span>
|
147
|
-
|
148
|
-
</li>
|
149
|
-
|
150
|
-
|
151
|
-
<li class="public ">
|
152
|
-
<span class="summary_signature">
|
153
|
-
|
154
|
-
<a href="#ctor-instance_method" title="#ctor (instance method)">- (Object) <strong>ctor</strong>(obj) </a>
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
</span>
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
<span class="summary_desc"><div class='inline'></div></span>
|
169
|
-
|
170
|
-
</li>
|
171
|
-
|
172
|
-
|
173
|
-
<li class="public ">
|
174
|
-
<span class="summary_signature">
|
175
|
-
|
176
|
-
<a href="#dtor-instance_method" title="#dtor (instance method)">- (Object) <strong>dtor</strong>(obj) </a>
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
</span>
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
<span class="summary_desc"><div class='inline'></div></span>
|
191
|
-
|
192
|
-
</li>
|
193
|
-
|
194
|
-
|
195
|
-
<li class="public ">
|
196
|
-
<span class="summary_signature">
|
197
|
-
|
198
143
|
<a href="#entities-instance_method" title="#entities (instance method)">- (Object) <strong>entities</strong> </a>
|
199
144
|
|
200
145
|
|
@@ -213,50 +158,6 @@
|
|
213
158
|
<p>PublicDeclaration.</p>
|
214
159
|
</div></div></span>
|
215
160
|
|
216
|
-
</li>
|
217
|
-
|
218
|
-
|
219
|
-
<li class="public ">
|
220
|
-
<span class="summary_signature">
|
221
|
-
|
222
|
-
<a href="#equal-instance_method" title="#equal (instance method)">- (Object) <strong>equal</strong>(lt, rt) </a>
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
</span>
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
<span class="summary_desc"><div class='inline'></div></span>
|
237
|
-
|
238
|
-
</li>
|
239
|
-
|
240
|
-
|
241
|
-
<li class="public ">
|
242
|
-
<span class="summary_signature">
|
243
|
-
|
244
|
-
<a href="#identify-instance_method" title="#identify (instance method)">- (Object) <strong>identify</strong>(obj) </a>
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
</span>
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
<span class="summary_desc"><div class='inline'></div></span>
|
259
|
-
|
260
161
|
</li>
|
261
162
|
|
262
163
|
|
@@ -289,7 +190,7 @@
|
|
289
190
|
<li class="public ">
|
290
191
|
<span class="summary_signature">
|
291
192
|
|
292
|
-
<a href="#
|
193
|
+
<a href="#prefix-instance_method" title="#prefix (instance method)">- (Object) <strong>prefix</strong> </a>
|
293
194
|
|
294
195
|
|
295
196
|
|
@@ -321,7 +222,7 @@
|
|
321
222
|
|
322
223
|
|
323
224
|
<h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
|
324
|
-
<p class="inherited"><span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#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#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#
|
225
|
+
<p class="inherited"><span class='object_link'><a href="Type.html#%3D%3D-instance_method" title="AutoC::Type#== (method)">#==</a></span>, <span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#coerce-class_method" title="AutoC::Type.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Type.html#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Type.html#constructible%3F-instance_method" title="AutoC::Type#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Type.html#copyable%3F-instance_method" title="AutoC::Type#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Type.html#destructible%3F-instance_method" title="AutoC::Type#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Type.html#inline-instance_method" title="AutoC::Type#inline (method)">#inline</a></span>, <span class='object_link'><a href="Type.html#malloc-instance_method" title="AutoC::Type#malloc (method)">#malloc</a></span>, <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">#method_missing</a></span>, <span class='object_link'><a href="Type.html#orderable%3F-instance_method" title="AutoC::Type#orderable? (method)">#orderable?</a></span>, <span class='object_link'><a href="Type.html#private%3F-instance_method" title="AutoC::Type#private? (method)">#private?</a></span>, <span class='object_link'><a href="Type.html#public%3F-instance_method" title="AutoC::Type#public? (method)">#public?</a></span>, <span class='object_link'><a href="Type.html#static-instance_method" title="AutoC::Type#static (method)">#static</a></span>, <span class='object_link'><a href="Type.html#static%3F-instance_method" title="AutoC::Type#static? (method)">#static?</a></span>, <span class='object_link'><a href="Type.html#write_decls-instance_method" title="AutoC::Type#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Type.html#write_defs-instance_method" title="AutoC::Type#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Type.html#write_intf-instance_method" title="AutoC::Type#write_intf (method)">#write_intf</a></span></p>
|
325
226
|
|
326
227
|
|
327
228
|
|
@@ -362,46 +263,50 @@
|
|
362
263
|
<pre class="lines">
|
363
264
|
|
364
265
|
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
266
|
+
301
|
267
|
+
302
|
268
|
+
303
|
269
|
+
304
|
270
|
+
305
|
271
|
+
306
|
272
|
+
307
|
273
|
+
308
|
274
|
+
309
|
275
|
+
310
|
276
|
+
311
|
277
|
+
312
|
278
|
+
313
|
279
|
+
314
|
280
|
+
315
|
281
|
+
316
|
282
|
+
317
|
283
|
+
318
|
284
|
+
319
|
285
|
+
320</pre>
|
383
286
|
</td>
|
384
287
|
<td>
|
385
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line
|
288
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 301</span>
|
386
289
|
|
387
290
|
<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>
|
388
|
-
<span class='
|
389
|
-
<span class='id identifier
|
390
|
-
|
391
|
-
<span class='id identifier rubyid_t'>t</span> <span class='op'>=</span> <span class='id identifier rubyid_opt'>opt</span>
|
392
|
-
<span class='kw'>elsif</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>
|
393
|
-
<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'>"</span><span class='tstring_content'>type is not specified</span><span class='tstring_end'>"</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>
|
394
|
-
<span class='lbracket'>[</span><span class='symbol'>:ctor</span><span class='comma'>,</span> <span class='symbol'>:dtor</span><span class='comma'>,</span> <span class='symbol'>:copy</span><span class='comma'>,</span> <span class='symbol'>:equal</span><span class='comma'>,</span> <span class='symbol'>:less</span><span class='comma'>,</span> <span class='symbol'>:identify</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
|
395
|
-
<span class='id identifier rubyid_instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
396
|
-
<span class='kw'>end</span>
|
397
|
-
<span class='ivar'>@deps</span> <span class='op'><<</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>
|
398
|
-
<span class='id identifier rubyid_optv'>optv</span> <span class='op'>=</span> <span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:visibility</span><span class='rbracket'>]</span>
|
399
|
-
<span class='id identifier rubyid_v'>v</span> <span class='op'>=</span> <span class='id identifier rubyid_optv'>optv</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='symbol'>:public</span> <span class='op'>:</span> <span class='id identifier rubyid_optv'>optv</span>
|
291
|
+
<span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='symbol'>:type</span> <span class='op'>=></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='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='const'>String</span><span class='rparen'>)</span>
|
292
|
+
<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>
|
293
|
+
<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'>"</span><span class='tstring_content'>type is not specified</span><span class='tstring_end'>"</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>
|
400
294
|
<span class='kw'>else</span>
|
401
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>
|
295
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>argument must be a Symbol, String or Hash</span><span class='tstring_end'>"</span></span>
|
402
296
|
<span class='kw'>end</span>
|
403
|
-
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='
|
404
|
-
<span class='kw'>
|
297
|
+
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_t'>t</span><span class='rparen'>)</span>
|
298
|
+
<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>
|
299
|
+
<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'><<</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>
|
300
|
+
<span class='id identifier rubyid_opt'>opt</span><span class='period'>.</span><span class='id identifier rubyid_default'>default</span> <span class='op'>=</span> <span class='symbol'>:unset</span> <span class='comment'># This allows to use nil as a value to indicate that the specific method is not avaliable
|
301
|
+
</span> <span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:ctor</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:constructible</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_define_callable'>define_callable</span><span class='lparen'>(</span><span class='symbol'>:ctor</span><span class='comma'>,</span> <span class='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'>"</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'>"</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
|
302
|
+
<span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:dtor</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:destructible</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <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>
|
303
|
+
<span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:copy</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:copyable</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <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'>"</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'>"</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
|
304
|
+
<span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:equal</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:comparable</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <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'>"</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'>"</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
|
305
|
+
<span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:less</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:orderable</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <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'>"</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'>"</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
|
306
|
+
<span class='id identifier rubyid_opt'>opt</span><span class='lbracket'>[</span><span class='symbol'>:identify</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:hashable</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <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'>"</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'>"</span></span> <span class='kw'>end</span><span class='rbrace'>}</span>
|
307
|
+
<span class='comment'># Handle specific requirements
|
308
|
+
</span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:constructible</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</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='comment'># Constructible type must not have extra parameters besides self
|
309
|
+
</span><span class='kw'>end</span></pre>
|
405
310
|
</td>
|
406
311
|
</tr>
|
407
312
|
</table>
|
@@ -425,97 +330,7 @@
|
|
425
330
|
|
426
331
|
|
427
332
|
<div class="method_details first">
|
428
|
-
<h3 class="signature first" id="
|
429
|
-
|
430
|
-
- (<tt>Object</tt>) <strong>copy</strong>(dst, src)
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
</h3><table class="source_code">
|
437
|
-
<tr>
|
438
|
-
<td>
|
439
|
-
<pre class="lines">
|
440
|
-
|
441
|
-
|
442
|
-
179
|
443
|
-
180
|
444
|
-
181</pre>
|
445
|
-
</td>
|
446
|
-
<td>
|
447
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 179</span>
|
448
|
-
|
449
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_copy'>copy</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>
|
450
|
-
<span class='ivar'>@copy</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@copy</span><span class='embexpr_end'>}</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'>"</span></span>
|
451
|
-
<span class='kw'>end</span></pre>
|
452
|
-
</td>
|
453
|
-
</tr>
|
454
|
-
</table>
|
455
|
-
</div>
|
456
|
-
|
457
|
-
<div class="method_details ">
|
458
|
-
<h3 class="signature " id="ctor-instance_method">
|
459
|
-
|
460
|
-
- (<tt>Object</tt>) <strong>ctor</strong>(obj)
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
</h3><table class="source_code">
|
467
|
-
<tr>
|
468
|
-
<td>
|
469
|
-
<pre class="lines">
|
470
|
-
|
471
|
-
|
472
|
-
171
|
473
|
-
172
|
474
|
-
173</pre>
|
475
|
-
</td>
|
476
|
-
<td>
|
477
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 171</span>
|
478
|
-
|
479
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_ctor'>ctor</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
|
480
|
-
<span class='ivar'>@ctor</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@ctor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_obj'>obj</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span>
|
481
|
-
<span class='kw'>end</span></pre>
|
482
|
-
</td>
|
483
|
-
</tr>
|
484
|
-
</table>
|
485
|
-
</div>
|
486
|
-
|
487
|
-
<div class="method_details ">
|
488
|
-
<h3 class="signature " id="dtor-instance_method">
|
489
|
-
|
490
|
-
- (<tt>Object</tt>) <strong>dtor</strong>(obj)
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
</h3><table class="source_code">
|
497
|
-
<tr>
|
498
|
-
<td>
|
499
|
-
<pre class="lines">
|
500
|
-
|
501
|
-
|
502
|
-
175
|
503
|
-
176
|
504
|
-
177</pre>
|
505
|
-
</td>
|
506
|
-
<td>
|
507
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 175</span>
|
508
|
-
|
509
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
|
510
|
-
<span class='ivar'>@dtor</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='kw'>nil</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@dtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_obj'>obj</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span>
|
511
|
-
<span class='kw'>end</span></pre>
|
512
|
-
</td>
|
513
|
-
</tr>
|
514
|
-
</table>
|
515
|
-
</div>
|
516
|
-
|
517
|
-
<div class="method_details ">
|
518
|
-
<h3 class="signature " id="entities-instance_method">
|
333
|
+
<h3 class="signature first" id="entities-instance_method">
|
519
334
|
|
520
335
|
- (<tt>Object</tt>) <strong>entities</strong>
|
521
336
|
|
@@ -540,81 +355,21 @@
|
|
540
355
|
<pre class="lines">
|
541
356
|
|
542
357
|
|
543
|
-
|
544
|
-
</td>
|
545
|
-
<td>
|
546
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 150</span>
|
547
|
-
|
548
|
-
<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'>+</span> <span class='ivar'>@deps</span> <span class='kw'>end</span></pre>
|
549
|
-
</td>
|
550
|
-
</tr>
|
551
|
-
</table>
|
552
|
-
</div>
|
553
|
-
|
554
|
-
<div class="method_details ">
|
555
|
-
<h3 class="signature " id="equal-instance_method">
|
556
|
-
|
557
|
-
- (<tt>Object</tt>) <strong>equal</strong>(lt, rt)
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
</h3><table class="source_code">
|
564
|
-
<tr>
|
565
|
-
<td>
|
566
|
-
<pre class="lines">
|
567
|
-
|
568
|
-
|
569
|
-
183
|
570
|
-
184
|
571
|
-
185</pre>
|
572
|
-
</td>
|
573
|
-
<td>
|
574
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 183</span>
|
575
|
-
|
576
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_equal'>equal</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>
|
577
|
-
<span class='ivar'>@equal</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@equal</span><span class='embexpr_end'>}</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'>"</span></span>
|
578
|
-
<span class='kw'>end</span></pre>
|
579
|
-
</td>
|
580
|
-
</tr>
|
581
|
-
</table>
|
582
|
-
</div>
|
583
|
-
|
584
|
-
<div class="method_details ">
|
585
|
-
<h3 class="signature " id="identify-instance_method">
|
586
|
-
|
587
|
-
- (<tt>Object</tt>) <strong>identify</strong>(obj)
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
</h3><table class="source_code">
|
594
|
-
<tr>
|
595
|
-
<td>
|
596
|
-
<pre class="lines">
|
597
|
-
|
598
|
-
|
599
|
-
191
|
600
|
-
192
|
601
|
-
193</pre>
|
358
|
+
297</pre>
|
602
359
|
</td>
|
603
360
|
<td>
|
604
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line
|
361
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 297</span>
|
605
362
|
|
606
|
-
<span class='kw'>def</span> <span class='id identifier
|
607
|
-
<span class='ivar'>@identify</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@identify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_obj'>obj</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='tstring_end'>"</span></span>
|
608
|
-
<span class='kw'>end</span></pre>
|
363
|
+
<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>
|
609
364
|
</td>
|
610
365
|
</tr>
|
611
366
|
</table>
|
612
367
|
</div>
|
613
368
|
|
614
369
|
<div class="method_details ">
|
615
|
-
<h3 class="signature " id="
|
370
|
+
<h3 class="signature " id="prefix-instance_method">
|
616
371
|
|
617
|
-
- (<tt>Object</tt>) <strong>
|
372
|
+
- (<tt>Object</tt>) <strong>prefix</strong>
|
618
373
|
|
619
374
|
|
620
375
|
|
@@ -626,16 +381,12 @@
|
|
626
381
|
<pre class="lines">
|
627
382
|
|
628
383
|
|
629
|
-
|
630
|
-
188
|
631
|
-
189</pre>
|
384
|
+
299</pre>
|
632
385
|
</td>
|
633
386
|
<td>
|
634
|
-
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line
|
387
|
+
<pre class="code"><span class="info file"># File 'lib/autoc/type.rb', line 299</span>
|
635
388
|
|
636
|
-
<span class='kw'>def</span> <span class='id identifier
|
637
|
-
<span class='ivar'>@less</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@less</span><span class='embexpr_end'>}</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'>"</span></span>
|
638
|
-
<span class='kw'>end</span></pre>
|
389
|
+
<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>
|
639
390
|
</td>
|
640
391
|
</tr>
|
641
392
|
</table>
|
@@ -646,9 +397,9 @@
|
|
646
397
|
</div>
|
647
398
|
|
648
399
|
<div id="footer">
|
649
|
-
Generated on
|
400
|
+
Generated on Sat Nov 22 16:58:04 2014 by
|
650
401
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
651
|
-
0.8.7.
|
402
|
+
0.8.7.6 (ruby-2.1.5).
|
652
403
|
</div>
|
653
404
|
|
654
405
|
</body>
|