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 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>