autoc 1.1 → 1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 78159f85450c667707482b092f361283a2522fe8
4
- data.tar.gz: 7449b397c265e86764d612c4da5760bca36a2730
3
+ metadata.gz: 11ae44f4721df067b0dbb59a288d3d72cef3d57d
4
+ data.tar.gz: 89de40d76ed3cf3beaf5ee4ac3392eb3df6b9133
5
5
  SHA512:
6
- metadata.gz: 540e26c27f53eaaefd23ffa45668ac2e04bf4d471868cb2edb0aff9c9a4817292d12acb4c406febc0c4298b5b4bc63dc51d13eb2eefb4bdd8ad2e70ac78ecc90
7
- data.tar.gz: 1c4fa2eea13bca4e9800b612dfca196e0c32f091cea8414b338542926282cf062d2d4a084a5383597d65d13db2d22e695815dcc13ba97f09be4ce8d862a122df
6
+ metadata.gz: 7f7bf12543d317658b89bed344a08f6d0ddc47c61a5585a7690c75a0d9d0acfcf09e69d07f892edc80c0f8afa1447030e46d03cd76f45f2d7f6fdcd03d8128a3
7
+ data.tar.gz: 7558ad5590ce8872d57603be29d07d4e080644a89eed4bc1df35a4a06a5c7cd7ca195c8bce8661aae4f80547b04730abce1efdeb3ad7bec5320a4fbfdd1967ea
data/.yardopts CHANGED
@@ -1,2 +1,4 @@
1
1
  --markup asciidoc
2
- --no-private
2
+ --no-private
3
+ -
4
+ CHANGES
data/CHANGES ADDED
@@ -0,0 +1,15 @@
1
+ == 1.2
2
+
3
+ Introduced counted reference type AutoC::Reference.
4
+
5
+ Introduced type capabilities/restrictions and optional operations for collections.
6
+
7
+ Made AutoC::Vector#sort() an optional operation.
8
+
9
+ == 1.1
10
+
11
+ Fixed online documentation generation issues.
12
+
13
+ == 1.0
14
+
15
+ Initial release of version 1.
data/README CHANGED
@@ -19,6 +19,8 @@ Ad-hoc test build instructions:
19
19
  > cc -o test test.c test_auto.c
20
20
  ----
21
21
 
22
+ For (in)complete list of changes refer to {file:CHANGES}.
23
+
22
24
  That's all for now, folks! Stay tuned.
23
25
 
24
26
  Oleg A. Khlybov <fougas@mail.ru>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Module: AutoC
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
 
@@ -94,10 +94,10 @@
94
94
  <div class="olist arabic">
95
95
  <ol class="arabic">
96
96
  <li>
97
- <p><span class='object_link'><a href="AutoC/Code.html" title="AutoC::Code (class)">Code</a></span> - generic C multi-source module generator.</p>
97
+ <p><span class='object_link'><a href="AutoC/Code.html" title="AutoC::Code (class)">Code</a></span> generic C multi-source module generator.</p>
98
98
  </li>
99
99
  <li>
100
- <p><span class='object_link'><a href="AutoC/Collection.html" title="AutoC::Collection (class)">Collection</a></span> - strongly-typed data structure generators similar
100
+ <p><span class='object_link'><a href="AutoC/Collection.html" title="AutoC::Collection (class)">Collection</a></span> strongly-typed data structure generators similar
101
101
  to the C++ STL container classes.</p>
102
102
  </li>
103
103
  </ol>
@@ -135,7 +135,7 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
135
135
 
136
136
 
137
137
 
138
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="AutoC/Code.html" title="AutoC::Code (class)">Code</a></span>, <span class='object_link'><a href="AutoC/Collection.html" title="AutoC::Collection (class)">Collection</a></span>, <span class='object_link'><a href="AutoC/HashMap.html" title="AutoC::HashMap (class)">HashMap</a></span>, <span class='object_link'><a href="AutoC/HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span>, <span class='object_link'><a href="AutoC/List.html" title="AutoC::List (class)">List</a></span>, <span class='object_link'><a href="AutoC/Module.html" title="AutoC::Module (class)">Module</a></span>, <span class='object_link'><a href="AutoC/Queue.html" title="AutoC::Queue (class)">Queue</a></span>, <span class='object_link'><a href="AutoC/Type.html" title="AutoC::Type (class)">Type</a></span>, <span class='object_link'><a href="AutoC/UserDefinedType.html" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span>, <span class='object_link'><a href="AutoC/Vector.html" title="AutoC::Vector (class)">Vector</a></span>
138
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="AutoC/Code.html" title="AutoC::Code (class)">Code</a></span>, <span class='object_link'><a href="AutoC/Collection.html" title="AutoC::Collection (class)">Collection</a></span>, <span class='object_link'><a href="AutoC/HashMap.html" title="AutoC::HashMap (class)">HashMap</a></span>, <span class='object_link'><a href="AutoC/HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span>, <span class='object_link'><a href="AutoC/List.html" title="AutoC::List (class)">List</a></span>, <span class='object_link'><a href="AutoC/Module.html" title="AutoC::Module (class)">Module</a></span>, <span class='object_link'><a href="AutoC/Queue.html" title="AutoC::Queue (class)">Queue</a></span>, <span class='object_link'><a href="AutoC/Reference.html" title="AutoC::Reference (class)">Reference</a></span>, <span class='object_link'><a href="AutoC/Type.html" title="AutoC::Type (class)">Type</a></span>, <span class='object_link'><a href="AutoC/UserDefinedType.html" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span>, <span class='object_link'><a href="AutoC/Vector.html" title="AutoC::Vector (class)">Vector</a></span>
139
139
 
140
140
 
141
141
  </p>
@@ -147,7 +147,7 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
147
147
  <dt id="VERSION-constant" class="">VERSION =
148
148
 
149
149
  </dt>
150
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>1.1</span><span class='tstring_end'>&quot;</span></span></pre></dd>
150
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>1.2</span><span class='tstring_end'>&quot;</span></span></pre></dd>
151
151
 
152
152
  </dl>
153
153
 
@@ -169,6 +169,30 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
169
169
  <li class="public ">
170
170
  <span class="summary_signature">
171
171
 
172
+ <a href="#c_id-class_method" title="c_id (class method)">+ (Object) <strong>c_id</strong>(obj) </a>
173
+
174
+
175
+
176
+ </span>
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+ <span class="summary_desc"><div class='inline'><div class="paragraph">
187
+ <p>Convert obj to string and return it.</p>
188
+ </div></div></span>
189
+
190
+ </li>
191
+
192
+
193
+ <li class="public ">
194
+ <span class="summary_signature">
195
+
172
196
  <a href="#priority_sort-class_method" title="priority_sort (class method)">+ (Object) <strong>priority_sort</strong>(entities, reverse = false) </a>
173
197
 
174
198
 
@@ -198,7 +222,53 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
198
222
 
199
223
 
200
224
  <div class="method_details first">
201
- <h3 class="signature first" id="priority_sort-class_method">
225
+ <h3 class="signature first" id="c_id-class_method">
226
+
227
+ + (<tt>Object</tt>) <strong>c_id</strong>(obj)
228
+
229
+
230
+
231
+
232
+
233
+ </h3><div class="docstring">
234
+ <div class="discussion">
235
+ <div class="paragraph">
236
+ <p>Convert obj to string and return it.
237
+ Throw NameError is resulting string is not a valid C identifier.</p>
238
+ </div>
239
+
240
+ </div>
241
+ </div>
242
+ <div class="tags">
243
+
244
+
245
+ </div><table class="source_code">
246
+ <tr>
247
+ <td>
248
+ <pre class="lines">
249
+
250
+
251
+ 22
252
+ 23
253
+ 24
254
+ 25
255
+ 26</pre>
256
+ </td>
257
+ <td>
258
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 22</span>
259
+
260
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_c_id'>c_id</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span>
261
+ <span class='id identifier rubyid_obj'>obj</span> <span class='op'>=</span> <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
262
+ <span class='comment'>#raise NameError.new(&quot;#{obj} is not a valid C identifier&quot;, obj) if (/^[_a-zA-Z]\w*$/ =~ obj).nil?
263
+ </span> <span class='id identifier rubyid_obj'>obj</span>
264
+ <span class='kw'>end</span></pre>
265
+ </td>
266
+ </tr>
267
+ </table>
268
+ </div>
269
+
270
+ <div class="method_details ">
271
+ <h3 class="signature " id="priority_sort-class_method">
202
272
 
203
273
  + (<tt>Object</tt>) <strong>priority_sort</strong>(entities, reverse = false)
204
274
 
@@ -212,14 +282,14 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
212
282
  <pre class="lines">
213
283
 
214
284
 
215
- 123
216
- 124
217
- 125
218
- 126
219
- 127</pre>
285
+ 129
286
+ 130
287
+ 131
288
+ 132
289
+ 133</pre>
220
290
  </td>
221
291
  <td>
222
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 123</span>
292
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 129</span>
223
293
 
224
294
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_priority_sort'>priority_sort</span><span class='lparen'>(</span><span class='id identifier rubyid_entities'>entities</span><span class='comma'>,</span> <span class='id identifier rubyid_reverse'>reverse</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
225
295
  <span class='id identifier rubyid_list'>list</span> <span class='op'>=</span> <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span><span class='period'>.</span><span class='id identifier rubyid_sort!'>sort!</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='comma'>,</span><span class='id identifier rubyid_b'>b</span><span class='op'>|</span> <span class='id identifier rubyid_a'>a</span><span class='period'>.</span><span class='id identifier rubyid_priority'>priority</span> <span class='op'>&lt;=&gt;</span> <span class='id identifier rubyid_b'>b</span><span class='period'>.</span><span class='id identifier rubyid_priority'>priority</span><span class='rbrace'>}</span>
@@ -236,9 +306,9 @@ Should the major incompatible changes be made, the new release 2.0 will be intro
236
306
  </div>
237
307
 
238
308
  <div id="footer">
239
- Generated on Mon Jun 9 18:28:02 2014 by
309
+ Generated on Sat Nov 22 16:58:03 2014 by
240
310
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
241
- 0.8.7.4 (ruby-2.0.0).
311
+ 0.8.7.6 (ruby-2.1.5).
242
312
  </div>
243
313
 
244
314
  </body>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: AutoC::Code
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
 
@@ -307,10 +307,10 @@
307
307
  <pre class="lines">
308
308
 
309
309
 
310
- 49</pre>
310
+ 58</pre>
311
311
  </td>
312
312
  <td>
313
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 49</span>
313
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 58</span>
314
314
 
315
315
  <span class='kw'>def</span> <span class='id identifier rubyid_attach'>attach</span><span class='lparen'>(</span><span class='id identifier rubyid_source'>source</span><span class='rparen'>)</span> <span class='id identifier rubyid_source'>source</span> <span class='op'>&lt;&lt;</span> <span class='kw'>self</span> <span class='kw'>if</span> <span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_smallest?'>smallest?</span> <span class='kw'>end</span></pre>
316
316
  </td>
@@ -333,10 +333,10 @@
333
333
  <pre class="lines">
334
334
 
335
335
 
336
- 30</pre>
336
+ 39</pre>
337
337
  </td>
338
338
  <td>
339
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 30</span>
339
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 39</span>
340
340
 
341
341
  <span class='kw'>def</span> <span class='id identifier rubyid_entities'>entities</span><span class='semicolon'>;</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='kw'>end</span></pre>
342
342
  </td>
@@ -359,21 +359,21 @@
359
359
  <pre class="lines">
360
360
 
361
361
 
362
- 31
363
- 32
364
- 33
365
- 34
366
- 35
367
- 36
368
- 37
369
- 38
370
- 39
371
362
  40
372
363
  41
373
- 42</pre>
364
+ 42
365
+ 43
366
+ 44
367
+ 45
368
+ 46
369
+ 47
370
+ 48
371
+ 49
372
+ 50
373
+ 51</pre>
374
374
  </td>
375
375
  <td>
376
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 31</span>
376
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 40</span>
377
377
 
378
378
  <span class='kw'>def</span> <span class='id identifier rubyid_priority'>priority</span>
379
379
  <span class='kw'>if</span> <span class='id identifier rubyid_entities'>entities</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
@@ -407,15 +407,15 @@
407
407
  <pre class="lines">
408
408
 
409
409
 
410
- 43
411
- 44
412
- 45
413
- 46
414
- 47
415
- 48</pre>
410
+ 52
411
+ 53
412
+ 54
413
+ 55
414
+ 56
415
+ 57</pre>
416
416
  </td>
417
417
  <td>
418
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 43</span>
418
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 52</span>
419
419
 
420
420
  <span class='kw'>def</span> <span class='id identifier rubyid_source_size'>source_size</span>
421
421
  <span class='id identifier rubyid_s'>s</span> <span class='op'>=</span> <span class='const'>String</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
@@ -443,10 +443,10 @@
443
443
  <pre class="lines">
444
444
 
445
445
 
446
- 52</pre>
446
+ 61</pre>
447
447
  </td>
448
448
  <td>
449
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 52</span>
449
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 61</span>
450
450
 
451
451
  <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> <span class='kw'>end</span></pre>
452
452
  </td>
@@ -469,10 +469,10 @@
469
469
  <pre class="lines">
470
470
 
471
471
 
472
- 51</pre>
472
+ 60</pre>
473
473
  </td>
474
474
  <td>
475
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 51</span>
475
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 60</span>
476
476
 
477
477
  <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> <span class='kw'>end</span></pre>
478
478
  </td>
@@ -495,10 +495,10 @@
495
495
  <pre class="lines">
496
496
 
497
497
 
498
- 50</pre>
498
+ 59</pre>
499
499
  </td>
500
500
  <td>
501
- <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 50</span>
501
+ <pre class="code"><span class="info file"># File 'lib/autoc/code.rb', line 59</span>
502
502
 
503
503
  <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> <span class='kw'>end</span></pre>
504
504
  </td>
@@ -511,9 +511,9 @@
511
511
  </div>
512
512
 
513
513
  <div id="footer">
514
- Generated on Mon Jun 9 18:28:02 2014 by
514
+ Generated on Sat Nov 22 16:58:04 2014 by
515
515
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
516
- 0.8.7.4 (ruby-2.0.0).
516
+ 0.8.7.6 (ruby-2.1.5).
517
517
  </div>
518
518
 
519
519
  </body>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: AutoC::Collection
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
 
@@ -106,24 +106,39 @@
106
106
  <h2>Overview</h2><div class="docstring">
107
107
  <div class="discussion">
108
108
  <div class="sect1">
109
+ <h2 id="_implemented_types">Implemented types</h2>
110
+ <div class="sectionbody">
111
+ <div class="ulist">
112
+ <ul>
113
+ <li>
114
+ <p><span class='object_link'><a href="UserDefinedType.html" title="AutoC::UserDefinedType (class)">UserDefinedType</a></span> user-defined custom type</p>
115
+ </li>
116
+ <li>
117
+ <p><span class='object_link'><a href="Reference.html" title="AutoC::Reference (class)">Reference</a></span> counted reference type</p>
118
+ </li>
119
+ </ul>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ <div class="sect1">
109
124
  <h2 id="_implemented_collections">Implemented collections</h2>
110
125
  <div class="sectionbody">
111
126
  <div class="ulist">
112
127
  <ul>
113
128
  <li>
114
- <p><span class='object_link'><a href="Vector.html" title="AutoC::Vector (class)">Vector</a></span> a fixed-sized array</p>
129
+ <p><span class='object_link'><a href="Vector.html" title="AutoC::Vector (class)">Vector</a></span> resizable array</p>
115
130
  </li>
116
131
  <li>
117
- <p><span class='object_link'><a href="List.html" title="AutoC::List (class)">List</a></span> a single linked list</p>
132
+ <p><span class='object_link'><a href="List.html" title="AutoC::List (class)">List</a></span> single linked list</p>
118
133
  </li>
119
134
  <li>
120
- <p><span class='object_link'><a href="Queue.html" title="AutoC::Queue (class)">Queue</a></span> a double linked list</p>
135
+ <p><span class='object_link'><a href="Queue.html" title="AutoC::Queue (class)">Queue</a></span> double linked list</p>
121
136
  </li>
122
137
  <li>
123
- <p><span class='object_link'><a href="HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span> a hash-based set</p>
138
+ <p><span class='object_link'><a href="HashSet.html" title="AutoC::HashSet (class)">HashSet</a></span> hash-based set</p>
124
139
  </li>
125
140
  <li>
126
- <p><span class='object_link'><a href="HashMap.html" title="AutoC::HashMap (class)">HashMap</a></span> a hash-based map</p>
141
+ <p><span class='object_link'><a href="HashMap.html" title="AutoC::HashMap (class)">HashMap</a></span> hash-based map</p>
127
142
  </li>
128
143
  </ul>
129
144
  </div>
@@ -135,15 +150,15 @@
135
150
  <div class="listingblock">
136
151
  <div class="title">Complete example for generation of a list of integers collection:</div>
137
152
  <div class="content">
138
- <pre class="highlight"><code class="ruby language-ruby">require "autoc"
153
+ <pre class="highlight"><code class="language-ruby" data-lang="ruby">require "autoc"
139
154
  AutoC::Module.generate!(:Test) do |c|
140
155
  c &lt;&lt; AutoC::List.new(:IntList, :int)
141
156
  end</code></pre>
142
157
  </div>
143
158
  </div>
144
159
  <div class="paragraph">
145
- <p>In the above example a C module Test represented by the C header <code>test_auto.h</code> and the C source <code>test_auto.c</code> are generated.
146
- The C++ counterpart of the generated collection is <code>std::forward_list&lt;int&gt;</code>.</p>
160
+ <p>In the above example a C module Test represented by the C header test_auto.h and the C source test_auto.c is generated.
161
+ The C++ counterpart of the generated collection is std::forward_list&lt;int&gt;.</p>
147
162
  </div>
148
163
  </div>
149
164
  </div>
@@ -152,7 +167,9 @@ The C++ counterpart of the generated collection is <code>std::forward_list&lt;in
152
167
  <div class="sectionbody">
153
168
  <div class="sect2">
154
169
  <h3 id="_element_types_values_references">Element types: values, references</h3>
155
-
170
+ <div class="paragraph">
171
+ <p>Collections may contain both value and reference types, including other collections.</p>
172
+ </div>
156
173
  </div>
157
174
  <div class="sect2">
158
175
  <h3 id="_thread_safety">Thread safety</h3>
@@ -179,7 +196,7 @@ All implemented iterators do not require destruction after use.</p>
179
196
  <div class="listingblock">
180
197
  <div class="title">Basic iterator usage example:</div>
181
198
  <div class="content">
182
- <pre class="highlight"><code class="c language-c">MyVector c;
199
+ <pre class="highlight"><code class="language-c" data-lang="c">MyVector c;
183
200
  MyVectorIt it;
184
201
  ...
185
202
  MyVectorItCtor(&amp;it, &amp;c);
@@ -254,28 +271,10 @@ the collection being iterated <strong>must not</strong> be modified in any way o
254
271
  </li>
255
272
 
256
273
 
257
- </ul>
258
-
259
-
260
-
261
-
262
-
263
- <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
264
- <p class="inherited"><span class='object_link'><a href="Type.html#type-instance_method" title="AutoC::Type#type (method)">#type</a></span></p>
265
-
266
-
267
-
268
- <h2>
269
- Class Method Summary
270
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
271
- </h2>
272
-
273
- <ul class="summary">
274
-
275
- <li class="public ">
274
+ <li class="public ">
276
275
  <span class="summary_signature">
277
276
 
278
- <a href="#coerce-class_method" title="coerce (class method)">+ (Object) <strong>coerce</strong>(type) </a>
277
+ <a href="#it_ref-instance_method" title="#it_ref (instance method)">- (Object) <strong>it_ref</strong> </a>
279
278
 
280
279
 
281
280
 
@@ -283,18 +282,34 @@ the collection being iterated <strong>must not</strong> be modified in any way o
283
282
 
284
283
 
285
284
 
285
+
286
+ <span class="note title readonly">readonly</span>
287
+
288
+
289
+
286
290
 
287
291
 
288
292
 
289
293
 
290
294
 
291
295
 
292
- <span class="summary_desc"><div class='inline'></div></span>
296
+ <span class="summary_desc"><div class='inline'><div class="paragraph">
297
+ <p>Returns the value of attribute it_ref.</p>
298
+ </div></div></span>
293
299
 
294
300
  </li>
295
301
 
296
-
297
- </ul>
302
+
303
+ </ul>
304
+
305
+
306
+
307
+
308
+
309
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
310
+ <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>
311
+
312
+
298
313
 
299
314
  <h2>
300
315
  Instance Method Summary
@@ -306,10 +321,12 @@ the collection being iterated <strong>must not</strong> be modified in any way o
306
321
  <li class="public ">
307
322
  <span class="summary_signature">
308
323
 
309
- <a href="#copy-instance_method" title="#copy (instance method)">- (Object) <strong>copy</strong>(*args) </a>
324
+ <a href="#%3D%3D-instance_method" title="#== (instance method)">- (Object) <strong>==</strong>(other) </a>
310
325
 
311
326
 
312
327
 
328
+ (also: #eql?)
329
+
313
330
  </span>
314
331
 
315
332
 
@@ -328,7 +345,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
328
345
  <li class="public ">
329
346
  <span class="summary_signature">
330
347
 
331
- <a href="#ctor-instance_method" title="#ctor (instance method)">- (Object) <strong>ctor</strong>(*args) </a>
348
+ <a href="#comparable%3F-instance_method" title="#comparable? (instance method)">- (Boolean) <strong>comparable?</strong> </a>
332
349
 
333
350
 
334
351
 
@@ -350,7 +367,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
350
367
  <li class="public ">
351
368
  <span class="summary_signature">
352
369
 
353
- <a href="#dtor-instance_method" title="#dtor (instance method)">- (Object) <strong>dtor</strong>(*args) </a>
370
+ <a href="#copyable%3F-instance_method" title="#copyable? (instance method)">- (Boolean) <strong>copyable?</strong> </a>
354
371
 
355
372
 
356
373
 
@@ -394,7 +411,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
394
411
  <li class="public ">
395
412
  <span class="summary_signature">
396
413
 
397
- <a href="#equal-instance_method" title="#equal (instance method)">- (Object) <strong>equal</strong>(*args) </a>
414
+ <a href="#hash-instance_method" title="#hash (instance method)">- (Object) <strong>hash</strong> </a>
398
415
 
399
416
 
400
417
 
@@ -416,7 +433,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
416
433
  <li class="public ">
417
434
  <span class="summary_signature">
418
435
 
419
- <a href="#identify-instance_method" title="#identify (instance method)">- (Object) <strong>identify</strong>(*args) </a>
436
+ <a href="#hashable%3F-instance_method" title="#hashable? (instance method)">- (Boolean) <strong>hashable?</strong> </a>
420
437
 
421
438
 
422
439
 
@@ -464,7 +481,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
464
481
  <li class="public ">
465
482
  <span class="summary_signature">
466
483
 
467
- <a href="#less-instance_method" title="#less (instance method)">- (Object) <strong>less</strong>(*args) </a>
484
+ <a href="#write_intf_decls-instance_method" title="#write_intf_decls (instance method)">- (Object) <strong>write_intf_decls</strong>(stream, declare, define) </a>
468
485
 
469
486
 
470
487
 
@@ -496,7 +513,7 @@ the collection being iterated <strong>must not</strong> be modified in any way o
496
513
 
497
514
 
498
515
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
499
- <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#static-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_exported_declarations-instance_method" title="AutoC::Type#write_exported_declarations (method)">#write_exported_declarations</a></span>, <span class='object_link'><a href="Type.html#write_exported_types-instance_method" title="AutoC::Type#write_exported_types (method)">#write_exported_types</a></span>, <span class='object_link'><a href="Type.html#write_implementations-instance_method" title="AutoC::Type#write_implementations (method)">#write_implementations</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>
516
+ <p class="inherited"><span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#coerce-class_method" title="AutoC::Type.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Type.html#constructible%3F-instance_method" title="AutoC::Type#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Type.html#destructible%3F-instance_method" title="AutoC::Type#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#inline-instance_method" title="AutoC::Type#inline (method)">#inline</a></span>, <span class='object_link'><a href="Type.html#malloc-instance_method" title="AutoC::Type#malloc (method)">#malloc</a></span>, <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">#method_missing</a></span>, <span class='object_link'><a href="Type.html#orderable%3F-instance_method" title="AutoC::Type#orderable? (method)">#orderable?</a></span>, <span class='object_link'><a href="Type.html#prefix-instance_method" title="AutoC::Type#prefix (method)">#prefix</a></span>, <span class='object_link'><a href="Type.html#private%3F-instance_method" title="AutoC::Type#private? (method)">#private?</a></span>, <span class='object_link'><a href="Type.html#public%3F-instance_method" title="AutoC::Type#public? (method)">#public?</a></span>, <span class='object_link'><a href="Type.html#static-instance_method" title="AutoC::Type#static (method)">#static</a></span>, <span class='object_link'><a href="Type.html#static%3F-instance_method" title="AutoC::Type#static? (method)">#static?</a></span>, <span class='object_link'><a href="Type.html#write_decls-instance_method" title="AutoC::Type#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Type.html#write_defs-instance_method" title="AutoC::Type#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Type.html#write_intf-instance_method" title="AutoC::Type#write_intf (method)">#write_intf</a></span></p>
500
517
 
501
518
 
502
519
 
@@ -537,17 +554,33 @@ the collection being iterated <strong>must not</strong> be modified in any way o
537
554
  <pre class="lines">
538
555
 
539
556
 
540
- 75
541
- 76
542
- 77
543
- 78</pre>
557
+ 85
558
+ 86
559
+ 87
560
+ 88
561
+ 89
562
+ 90
563
+ 91
564
+ 92
565
+ 93
566
+ 94
567
+ 95
568
+ 96</pre>
544
569
  </td>
545
570
  <td>
546
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 75</span>
571
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 85</span>
547
572
 
548
573
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_type_name'>type_name</span><span class='comma'>,</span> <span class='id identifier rubyid_element_type'>element_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>
549
574
  <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_type_name'>type_name</span><span class='comma'>,</span> <span class='id identifier rubyid_visibility'>visibility</span><span class='rparen'>)</span>
550
- <span class='ivar'>@element</span> <span class='op'>=</span> <span class='const'>Collection</span><span class='period'>.</span><span class='id identifier rubyid_coerce'>coerce</span><span class='lparen'>(</span><span class='id identifier rubyid_element_type'>element_type</span><span class='rparen'>)</span>
575
+ <span class='ivar'>@it_ref</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'>*</span><span class='tstring_end'>&quot;</span></span>
576
+ <span class='ivar'>@element</span> <span class='op'>=</span> <span class='const'>Type</span><span class='period'>.</span><span class='id identifier rubyid_coerce'>coerce</span><span class='lparen'>(</span><span class='id identifier rubyid_element_type'>element_type</span><span class='rparen'>)</span>
577
+ <span class='ivar'>@ctor</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:ctor</span><span class='comma'>,</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_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:self</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
578
+ <span class='ivar'>@dtor</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:dtor</span><span class='comma'>,</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_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:self</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
579
+ <span class='ivar'>@copy</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:copy</span><span class='comma'>,</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_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:dst</span><span class='comma'>,</span> <span class='id identifier rubyid_type_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:src</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='rparen'>)</span>
580
+ <span class='ivar'>@equal</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:equal</span><span class='comma'>,</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_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:lt</span><span class='comma'>,</span> <span class='id identifier rubyid_type_ref'>type_ref</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><span class='rparen'>)</span>
581
+ <span class='ivar'>@identify</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:identify</span><span class='comma'>,</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_ref'>type_ref</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><span class='rparen'>)</span>
582
+ <span class='ivar'>@less</span> <span class='op'>=</span> <span class='id identifier rubyid_define_function'>define_function</span><span class='lparen'>(</span><span class='symbol'>:less</span><span class='comma'>,</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_ref'>type_ref</span><span class='op'>^</span><span class='symbol'>:lt</span><span class='comma'>,</span> <span class='id identifier rubyid_type_ref'>type_ref</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><span class='rparen'>)</span>
583
+ <span class='id identifier rubyid_element_type_check'>element_type_check</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='rparen'>)</span>
551
584
  <span class='kw'>end</span></pre>
552
585
  </td>
553
586
  </tr>
@@ -597,12 +630,12 @@ the collection being iterated <strong>must not</strong> be modified in any way o
597
630
  <pre class="lines">
598
631
 
599
632
 
600
- 71
601
- 72
602
- 73</pre>
633
+ 75
634
+ 76
635
+ 77</pre>
603
636
  </td>
604
637
  <td>
605
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 71</span>
638
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 75</span>
606
639
 
607
640
  <span class='kw'>def</span> <span class='id identifier rubyid_element'>element</span>
608
641
  <span class='ivar'>@element</span>
@@ -612,37 +645,43 @@ the collection being iterated <strong>must not</strong> be modified in any way o
612
645
  </table>
613
646
  </div>
614
647
 
615
- </div>
616
-
617
-
618
- <div id="class_method_details" class="method_details_list">
619
- <h2>Class Method Details</h2>
620
-
621
-
622
- <div class="method_details first">
623
- <h3 class="signature first" id="coerce-class_method">
648
+
649
+ <span id=""></span>
650
+ <div class="method_details ">
651
+ <h3 class="signature " id="it_ref-instance_method">
624
652
 
625
- + (<tt>Object</tt>) <strong>coerce</strong>(type)
653
+ - (<tt>Object</tt>) <strong>it_ref</strong> <span class="extras">(readonly)</span>
626
654
 
627
655
 
628
656
 
629
657
 
630
658
 
631
- </h3><table class="source_code">
659
+ </h3><div class="docstring">
660
+ <div class="discussion">
661
+ <div class="paragraph">
662
+ <p>Returns the value of attribute it_ref</p>
663
+ </div>
664
+
665
+ </div>
666
+ </div>
667
+ <div class="tags">
668
+
669
+
670
+ </div><table class="source_code">
632
671
  <tr>
633
672
  <td>
634
673
  <pre class="lines">
635
674
 
636
675
 
637
- 67
638
- 68
639
- 69</pre>
676
+ 75
677
+ 76
678
+ 77</pre>
640
679
  </td>
641
680
  <td>
642
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 67</span>
681
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 75</span>
643
682
 
644
- <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>
645
- <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>
683
+ <span class='kw'>def</span> <span class='id identifier rubyid_it_ref'>it_ref</span>
684
+ <span class='ivar'>@it_ref</span>
646
685
  <span class='kw'>end</span></pre>
647
686
  </td>
648
687
  </tr>
@@ -651,17 +690,22 @@ the collection being iterated <strong>must not</strong> be modified in any way o
651
690
 
652
691
  </div>
653
692
 
693
+
654
694
  <div id="instance_method_details" class="method_details_list">
655
695
  <h2>Instance Method Details</h2>
656
696
 
657
697
 
658
698
  <div class="method_details first">
659
- <h3 class="signature first" id="copy-instance_method">
699
+ <h3 class="signature first" id="==-instance_method">
660
700
 
661
- - (<tt>Object</tt>) <strong>copy</strong>(*args)
701
+ - (<tt>Object</tt>) <strong>==</strong>(other)
662
702
 
663
703
 
664
704
 
705
+ <span class="aliases">Also known as:
706
+ <span class="names"><span id='eql?-instance_method'>eql?</span></span>
707
+ </span>
708
+
665
709
 
666
710
 
667
711
  </h3><table class="source_code">
@@ -670,112 +714,108 @@ the collection being iterated <strong>must not</strong> be modified in any way o
670
714
  <pre class="lines">
671
715
 
672
716
 
673
- 100
674
- 101
675
- 102
676
- 103
677
- 104
678
- 105
679
- 106
680
- 107
681
- 108</pre>
717
+ 79</pre>
682
718
  </td>
683
719
  <td>
684
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 100</span>
685
-
686
- <span class='kw'>def</span> <span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
687
- <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>
688
- <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
689
- <span class='kw'>else</span>
690
- <span class='id identifier rubyid_check_args'>check_args</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
691
- <span class='id identifier rubyid_dst'>dst</span><span class='comma'>,</span> <span class='id identifier rubyid_src'>src</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span>
692
- <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>(&amp;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dst'>dst</span><span class='embexpr_end'>}</span><span class='tstring_content'>, &amp;</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>
693
- <span class='kw'>end</span>
694
- <span class='kw'>end</span></pre>
720
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 79</span>
721
+
722
+ <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'>super</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_element'>element</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_element'>element</span> <span class='kw'>end</span></pre>
695
723
  </td>
696
724
  </tr>
697
725
  </table>
698
726
  </div>
699
727
 
700
728
  <div class="method_details ">
701
- <h3 class="signature " id="ctor-instance_method">
729
+ <h3 class="signature " id="comparable?-instance_method">
702
730
 
703
- - (<tt>Object</tt>) <strong>ctor</strong>(*args)
731
+ - (<tt>Boolean</tt>) <strong>comparable?</strong>
704
732
 
705
733
 
706
734
 
707
735
 
708
736
 
709
- </h3><table class="source_code">
737
+ </h3><div class="docstring">
738
+ <div class="discussion">
739
+
740
+
741
+ </div>
742
+ </div>
743
+ <div class="tags">
744
+
745
+ <p class="tag_title">Returns:</p>
746
+ <ul class="return">
747
+
748
+ <li>
749
+
750
+
751
+ <span class='type'>(<tt>Boolean</tt>)</span>
752
+
753
+
754
+
755
+ </li>
756
+
757
+ </ul>
758
+
759
+ </div><table class="source_code">
710
760
  <tr>
711
761
  <td>
712
762
  <pre class="lines">
713
763
 
714
764
 
715
- 80
716
- 81
717
- 82
718
- 83
719
- 84
720
- 85
721
- 86
722
- 87
723
- 88</pre>
765
+ 117</pre>
724
766
  </td>
725
767
  <td>
726
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 80</span>
727
-
728
- <span class='kw'>def</span> <span class='id identifier rubyid_ctor'>ctor</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
729
- <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>
730
- <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
731
- <span class='kw'>else</span>
732
- <span class='id identifier rubyid_check_args'>check_args</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='int'>1</span><span class='rparen'>)</span>
733
- <span class='id identifier rubyid_obj'>obj</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
734
- <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>(&amp;</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>
735
- <span class='kw'>end</span>
736
- <span class='kw'>end</span></pre>
768
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 117</span>
769
+
770
+ <span class='kw'>def</span> <span class='id identifier rubyid_comparable?'>comparable?</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_comparable?'>comparable?</span> <span class='kw'>end</span></pre>
737
771
  </td>
738
772
  </tr>
739
773
  </table>
740
774
  </div>
741
775
 
742
776
  <div class="method_details ">
743
- <h3 class="signature " id="dtor-instance_method">
777
+ <h3 class="signature " id="copyable?-instance_method">
744
778
 
745
- - (<tt>Object</tt>) <strong>dtor</strong>(*args)
779
+ - (<tt>Boolean</tt>) <strong>copyable?</strong>
746
780
 
747
781
 
748
782
 
749
783
 
750
784
 
751
- </h3><table class="source_code">
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">
752
808
  <tr>
753
809
  <td>
754
810
  <pre class="lines">
755
811
 
756
812
 
757
- 90
758
- 91
759
- 92
760
- 93
761
- 94
762
- 95
763
- 96
764
- 97
765
- 98</pre>
813
+ 115</pre>
766
814
  </td>
767
815
  <td>
768
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 90</span>
769
-
770
- <span class='kw'>def</span> <span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
771
- <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>
772
- <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
773
- <span class='kw'>else</span>
774
- <span class='id identifier rubyid_check_args'>check_args</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='int'>1</span><span class='rparen'>)</span>
775
- <span class='id identifier rubyid_obj'>obj</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
776
- <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>(&amp;</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>
777
- <span class='kw'>end</span>
778
- <span class='kw'>end</span></pre>
816
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 115</span>
817
+
818
+ <span class='kw'>def</span> <span class='id identifier rubyid_copyable?'>copyable?</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_copyable?'>copyable?</span> <span class='kw'>end</span></pre>
779
819
  </td>
780
820
  </tr>
781
821
  </table>
@@ -796,21 +836,21 @@ the collection being iterated <strong>must not</strong> be modified in any way o
796
836
  <pre class="lines">
797
837
 
798
838
 
799
- 73</pre>
839
+ 83</pre>
800
840
  </td>
801
841
  <td>
802
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 73</span>
842
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 83</span>
803
843
 
804
- <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='lbracket'>[</span><span class='id identifier rubyid_element'>element</span><span class='rbracket'>]</span> <span class='kw'>end</span></pre>
844
+ <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='id identifier rubyid_element'>element</span> <span class='kw'>end</span></pre>
805
845
  </td>
806
846
  </tr>
807
847
  </table>
808
848
  </div>
809
849
 
810
850
  <div class="method_details ">
811
- <h3 class="signature " id="equal-instance_method">
851
+ <h3 class="signature " id="hash-instance_method">
812
852
 
813
- - (<tt>Object</tt>) <strong>equal</strong>(*args)
853
+ - (<tt>Object</tt>) <strong>hash</strong>
814
854
 
815
855
 
816
856
 
@@ -822,67 +862,69 @@ the collection being iterated <strong>must not</strong> be modified in any way o
822
862
  <pre class="lines">
823
863
 
824
864
 
825
- 110
826
- 111
827
- 112
828
- 113
829
- 114
830
- 115
831
- 116
832
- 117
833
- 118</pre>
865
+ 77</pre>
834
866
  </td>
835
867
  <td>
836
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 110</span>
837
-
838
- <span class='kw'>def</span> <span class='id identifier rubyid_equal'>equal</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
839
- <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>
840
- <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span>
841
- <span class='kw'>else</span>
842
- <span class='id identifier rubyid_check_args'>check_args</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='int'>2</span><span class='rparen'>)</span>
843
- <span class='id identifier rubyid_lt'>lt</span><span class='comma'>,</span> <span class='id identifier rubyid_rt'>rt</span> <span class='op'>=</span> <span class='id identifier rubyid_args'>args</span>
844
- <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>(&amp;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_lt'>lt</span><span class='embexpr_end'>}</span><span class='tstring_content'>, &amp;</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>
845
- <span class='kw'>end</span>
846
- <span class='kw'>end</span></pre>
868
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 77</span>
869
+
870
+ <span class='kw'>def</span> <span class='id identifier rubyid_hash'>hash</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>^</span> <span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span> <span class='kw'>end</span></pre>
847
871
  </td>
848
872
  </tr>
849
873
  </table>
850
874
  </div>
851
875
 
852
876
  <div class="method_details ">
853
- <h3 class="signature " id="identify-instance_method">
877
+ <h3 class="signature " id="hashable?-instance_method">
854
878
 
855
- - (<tt>Object</tt>) <strong>identify</strong>(*args)
879
+ - (<tt>Boolean</tt>) <strong>hashable?</strong>
856
880
 
857
881
 
858
882
 
859
883
 
860
884
 
861
- </h3><table class="source_code">
885
+ </h3><div class="docstring">
886
+ <div class="discussion">
887
+
888
+
889
+ </div>
890
+ </div>
891
+ <div class="tags">
892
+
893
+ <p class="tag_title">Returns:</p>
894
+ <ul class="return">
895
+
896
+ <li>
897
+
898
+
899
+ <span class='type'>(<tt>Boolean</tt>)</span>
900
+
901
+
902
+
903
+ </li>
904
+
905
+ </ul>
906
+
907
+ </div><table class="source_code">
862
908
  <tr>
863
909
  <td>
864
910
  <pre class="lines">
865
911
 
866
912
 
867
- 124
868
- 125
869
- 126</pre>
913
+ 119</pre>
870
914
  </td>
871
915
  <td>
872
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 124</span>
916
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 119</span>
873
917
 
874
- <span class='kw'>def</span> <span class='id identifier rubyid_identify'>identify</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
875
- <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</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='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'> provides no hashing functionality</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
876
- <span class='kw'>end</span></pre>
918
+ <span class='kw'>def</span> <span class='id identifier rubyid_hashable?'>hashable?</span><span class='semicolon'>;</span> <span class='kw'>super</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_hashable?'>hashable?</span> <span class='kw'>end</span></pre>
877
919
  </td>
878
920
  </tr>
879
921
  </table>
880
922
  </div>
881
923
 
882
924
  <div class="method_details ">
883
- <h3 class="signature " id="less-instance_method">
925
+ <h3 class="signature " id="write_intf_decls-instance_method">
884
926
 
885
- - (<tt>Object</tt>) <strong>less</strong>(*args)
927
+ - (<tt>Object</tt>) <strong>write_intf_decls</strong>(stream, declare, define)
886
928
 
887
929
 
888
930
 
@@ -894,15 +936,41 @@ the collection being iterated <strong>must not</strong> be modified in any way o
894
936
  <pre class="lines">
895
937
 
896
938
 
897
- 120
898
- 121
899
- 122</pre>
939
+ 98
940
+ 99
941
+ 100
942
+ 101
943
+ 102
944
+ 103
945
+ 104
946
+ 105
947
+ 106
948
+ 107
949
+ 108
950
+ 109
951
+ 110
952
+ 111
953
+ 112
954
+ 113</pre>
900
955
  </td>
901
956
  <td>
902
- <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 120</span>
903
-
904
- <span class='kw'>def</span> <span class='id identifier rubyid_less'>less</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
905
- <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='kw'>super</span><span class='lparen'>(</span><span class='rparen'>)</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='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'> provides no ordering functionality</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
957
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection.rb', line 98</span>
958
+
959
+ <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>
960
+ <span class='comment'># Emit default redirection macros
961
+ </span> <span class='comment'># Unlike other special methods the constructors may have extra arguments
962
+ </span> <span class='comment'># Assume the constructor&#39;s first parameter is always a target
963
+ </span> <span class='id identifier rubyid_ctor_ex'>ctor_ex</span> <span class='op'>=</span> <span class='id identifier rubyid_ctor'>ctor</span><span class='period'>.</span><span class='id identifier rubyid_parameters'>parameters</span><span class='period'>.</span><span class='id identifier rubyid_names'>names</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>
964
+ <span class='id identifier rubyid_ctor_lt'>ctor_lt</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>self</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span><span class='lparen'>(</span><span class='id identifier rubyid_ctor_ex'>ctor_ex</span><span class='rparen'>)</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>
965
+ <span class='id identifier rubyid_ctor_rt'>ctor_rt</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&amp;self</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span><span class='lparen'>(</span><span class='id identifier rubyid_ctor_ex'>ctor_ex</span><span class='rparen'>)</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>
966
+ <span class='id identifier rubyid_stream'>stream</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>%$</span><span class='tstring_content'>
967
+ #define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor'>ctor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor_lt'>ctor_lt</span><span class='embexpr_end'>}</span><span class='tstring_content'>) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor'>ctor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor_rt'>ctor_rt</span><span class='embexpr_end'>}</span><span class='tstring_content'>)
968
+ #define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dtor'>dtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dtor'>dtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self)
969
+ #define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_identify'>identify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_identify'>identify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self)
970
+ #define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_copy'>copy</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst,src) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_copy'>copy</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;dst,&amp;src)
971
+ #define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_equal'>equal</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt,rt) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_equal'>equal</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;lt,&amp;rt)
972
+ #define _</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_less'>less</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt,rt) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_less'>less</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;lt,&amp;rt)
973
+ </span><span class='tstring_end'>$</span></span>
906
974
  <span class='kw'>end</span></pre>
907
975
  </td>
908
976
  </tr>
@@ -914,9 +982,9 @@ the collection being iterated <strong>must not</strong> be modified in any way o
914
982
  </div>
915
983
 
916
984
  <div id="footer">
917
- Generated on Mon Jun 9 18:28:03 2014 by
985
+ Generated on Sat Nov 22 16:58:04 2014 by
918
986
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
919
- 0.8.7.4 (ruby-2.0.0).
987
+ 0.8.7.6 (ruby-2.1.5).
920
988
  </div>
921
989
 
922
990
  </body>