autoc 1.2 → 1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +4 -0
  3. data/README +3 -1
  4. data/doc/AutoC.html +23 -7
  5. data/doc/AutoC/Code.html +3 -3
  6. data/doc/AutoC/Collection.html +289 -76
  7. data/doc/AutoC/HashMap.html +44 -46
  8. data/doc/AutoC/HashSet.html +20 -17
  9. data/doc/AutoC/List.html +56 -92
  10. data/doc/AutoC/Module.html +2 -2
  11. data/doc/AutoC/Module/File.html +2 -2
  12. data/doc/AutoC/Module/Header.html +6 -4
  13. data/doc/AutoC/Module/Source.html +26 -26
  14. data/doc/AutoC/Priority.html +2 -2
  15. data/doc/AutoC/Queue.html +30 -92
  16. data/doc/AutoC/Reference.html +217 -61
  17. data/doc/AutoC/String.html +1393 -0
  18. data/doc/AutoC/Type.html +240 -128
  19. data/doc/AutoC/UserDefinedType.html +688 -47
  20. data/doc/AutoC/Vector.html +154 -62
  21. data/doc/_index.html +9 -2
  22. data/doc/class_list.html +1 -1
  23. data/doc/file.CHANGES.html +10 -2
  24. data/doc/file.README.html +5 -3
  25. data/doc/index.html +5 -3
  26. data/doc/method_list.html +235 -97
  27. data/doc/top-level-namespace.html +2 -2
  28. data/lib/autoc.rb +3 -1
  29. data/lib/autoc/code.rb +3 -2
  30. data/lib/autoc/collection.rb +36 -40
  31. data/lib/autoc/collection/hash_map.rb +10 -14
  32. data/lib/autoc/collection/hash_set.rb +12 -11
  33. data/lib/autoc/collection/list.rb +21 -11
  34. data/lib/autoc/collection/queue.rb +5 -8
  35. data/lib/autoc/collection/vector.rb +28 -12
  36. data/lib/autoc/string.rb +492 -0
  37. data/lib/autoc/type.rb +155 -66
  38. data/test/test.rb +157 -35
  39. data/test/test_char_string.rb +270 -0
  40. data/test/test_int_list.rb +35 -0
  41. data/test/test_int_vector.rb +34 -0
  42. data/test/test_value_hash_map.rb +162 -0
  43. data/test/test_value_hash_set.rb +173 -0
  44. data/test/test_value_list.rb +193 -0
  45. data/test/test_value_queue.rb +275 -0
  46. data/test/test_value_vector.rb +155 -0
  47. data/test/value.rb +80 -0
  48. metadata +15 -8
  49. data/test/test.c +0 -1041
  50. data/test/test.h +0 -41
  51. data/test/test_auto.c +0 -3407
  52. data/test/test_auto.h +0 -765
@@ -170,7 +170,7 @@ Stored keys and values are destroyed as well by calling the respective destructo
170
170
  <tr>
171
171
  <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>type</sub>Get(<strong><em>Type</em></strong> * self, <strong><em>K</em></strong> key)</p></td>
172
172
  <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the element in self bound to a key which is considered equal to the key key.
173
- </p><p class="tableblock">WARNING: self <strong>must</strong> contain such key otherwise the behavior is undefined. See <sub>type</sub>Contains().</p></td>
173
+ </p><p class="tableblock">WARNING: self <strong>must</strong> contain such key otherwise the behavior is undefined. See <sub>type</sub>ContainsKey().</p></td>
174
174
  </tr>
175
175
  <tr>
176
176
  <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Purge(<strong><em>Type</em></strong> * self)</p></td>
@@ -186,7 +186,7 @@ Stored keys and values are destroyed as well by calling the respective destructo
186
186
  <td class="tableblock halign-left valign-top"><p class="tableblock">If self contains a key which is considered equal to the key key,
187
187
  remove and destroy that key along with an element bound to it
188
188
  and put a new pair built of the <em>copies</em> of key and value,
189
- otherwise simply put a new key/element pair into self in the way of <sub>type</sub>Put().
189
+ otherwise no nothing.
190
190
  </p><p class="tableblock">Return non-zero value if the replacement was actually performed and zero value otherwise.</p></td>
191
191
  </tr>
192
192
  <tr>
@@ -545,6 +545,12 @@ Destroy an element bound to that key.
545
545
 
546
546
 
547
547
 
548
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
549
+ <p class="inherited"><span class='object_link'><a href="Collection.html#constructible%3F-instance_method" title="AutoC::Collection#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Collection.html#destructible%3F-instance_method" title="AutoC::Collection#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Collection.html#initializable%3F-instance_method" title="AutoC::Collection#initializable? (method)">#initializable?</a></span></p>
550
+
551
+
552
+
553
+
548
554
 
549
555
 
550
556
 
@@ -552,7 +558,7 @@ Destroy an element bound to that key.
552
558
 
553
559
 
554
560
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
555
- <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>
561
+ <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#initializable%3F-instance_method" title="AutoC::Type#initializable? (method)">#initializable?</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>
556
562
 
557
563
 
558
564
 
@@ -600,8 +606,7 @@ Destroy an element bound to that key.
600
606
  148
601
607
  149
602
608
  150
603
- 151
604
- 152</pre>
609
+ 151</pre>
605
610
  </td>
606
611
  <td>
607
612
  <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 144</span>
@@ -611,9 +616,8 @@ Destroy an element bound to that key.
611
616
  <span class='ivar'>@key</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_key_type'>key_type</span><span class='rparen'>)</span>
612
617
  <span class='ivar'>@entry</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='symbol'>:type</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entry'>entry</span><span class='comma'>,</span> <span class='symbol'>:identify</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryIdentify'>entryIdentify</span><span class='comma'>,</span> <span class='symbol'>:equal</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryEqual'>entryEqual</span><span class='comma'>,</span> <span class='symbol'>:copy</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryCopy'>entryCopy</span><span class='comma'>,</span> <span class='symbol'>:dtor</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryDtor'>entryDtor</span><span class='rparen'>)</span>
613
618
  <span class='ivar'>@set</span> <span class='op'>=</span> <span class='const'>HashSet</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_set'>set</span><span class='comma'>,</span> <span class='ivar'>@entry</span><span class='comma'>,</span> <span class='symbol'>:static</span><span class='rparen'>)</span>
614
- <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span> <span class='lbracket'>[</span><span class='symbol'>:orderable</span><span class='rbracket'>]</span>
615
- <span class='id identifier rubyid_element_type_check'>element_type_check</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
616
- <span class='id identifier rubyid_key_type_check'>key_type_check</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
619
+ <span class='id identifier rubyid_element_requirement'>element_requirement</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
620
+ <span class='id identifier rubyid_key_requirement'>key_requirement</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
617
621
  <span class='kw'>end</span></pre>
618
622
  </td>
619
623
  </tr>
@@ -752,10 +756,10 @@ Destroy an element bound to that key.
752
756
  <pre class="lines">
753
757
 
754
758
 
755
- 156</pre>
759
+ 155</pre>
756
760
  </td>
757
761
  <td>
758
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 156</span>
762
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 155</span>
759
763
 
760
764
  <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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_comparable?'>comparable?</span> <span class='kw'>end</span></pre>
761
765
  </td>
@@ -800,10 +804,10 @@ Destroy an element bound to that key.
800
804
  <pre class="lines">
801
805
 
802
806
 
803
- 154</pre>
807
+ 153</pre>
804
808
  </td>
805
809
  <td>
806
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 154</span>
810
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 153</span>
807
811
 
808
812
  <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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_copyable?'>copyable?</span> <span class='kw'>end</span></pre>
809
813
  </td>
@@ -900,20 +904,12 @@ Destroy an element bound to that key.
900
904
  <pre class="lines">
901
905
 
902
906
 
903
- 158
904
- 159
905
- 160
906
- 161
907
- 162</pre>
907
+ 157</pre>
908
908
  </td>
909
909
  <td>
910
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 158</span>
910
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 157</span>
911
911
 
912
- <span class='kw'>def</span> <span class='id identifier rubyid_hashable?'>hashable?</span>
913
- <span class='comment'># NOTE : must be in sync with Type#hashable?
914
- </span> <span class='comment'># No super call here because the map&#39;s element need not to be hashable,- only the key must be
915
- </span> <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='symbol'>:hashable</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_comparable?'>comparable?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_hashable?'>hashable?</span>
916
- <span class='kw'>end</span></pre>
912
+ <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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_hashable?'>hashable?</span> <span class='kw'>end</span></pre>
917
913
  </td>
918
914
  </tr>
919
915
  </table>
@@ -934,6 +930,10 @@ Destroy an element bound to that key.
934
930
  <pre class="lines">
935
931
 
936
932
 
933
+ 211
934
+ 212
935
+ 213
936
+ 214
937
937
  215
938
938
  216
939
939
  217
@@ -1118,16 +1118,13 @@ Destroy an element bound to that key.
1118
1118
  396
1119
1119
  397
1120
1120
  398
1121
- 399
1122
- 400
1123
- 401
1124
- 402
1125
- 403</pre>
1121
+ 399</pre>
1126
1122
  </td>
1127
1123
  <td>
1128
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 215</span>
1124
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 211</span>
1129
1125
 
1130
1126
  <span class='kw'>def</span> <span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span>
1127
+ <span class='kw'>super</span>
1131
1128
  <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'>
1132
1129
  #define AUTOC_VALID_VALUE 1
1133
1130
  #define AUTOC_VALID_KEY 2
@@ -1202,9 +1199,8 @@ Destroy an element bound to that key.
1202
1199
  int absent;
1203
1200
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1204
1201
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(entry);
1205
- if((absent = !</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsKey'>containsKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, entry-&gt;key))) {
1206
- </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_put'>put</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, *entry);
1207
- }
1202
+ absent = !</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsKey'>containsKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, entry-&gt;key);
1203
+ if(absent) </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_put'>put</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, *entry);
1208
1204
  return absent;
1209
1205
  }
1210
1206
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_copy'>copy</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
@@ -1336,6 +1332,10 @@ Destroy an element bound to that key.
1336
1332
  <pre class="lines">
1337
1333
 
1338
1334
 
1335
+ 187
1336
+ 188
1337
+ 189
1338
+ 190
1339
1339
  191
1340
1340
  192
1341
1341
  193
@@ -1354,14 +1354,10 @@ Destroy an element bound to that key.
1354
1354
  206
1355
1355
  207
1356
1356
  208
1357
- 209
1358
- 210
1359
- 211
1360
- 212
1361
- 213</pre>
1357
+ 209</pre>
1362
1358
  </td>
1363
1359
  <td>
1364
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 191</span>
1360
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 187</span>
1365
1361
 
1366
1362
  <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>
1367
1363
  <span class='kw'>super</span>
@@ -1406,6 +1402,11 @@ Destroy an element bound to that key.
1406
1402
  <pre class="lines">
1407
1403
 
1408
1404
 
1405
+ 159
1406
+ 160
1407
+ 161
1408
+ 162
1409
+ 163
1409
1410
  164
1410
1411
  165
1411
1412
  166
@@ -1427,16 +1428,13 @@ Destroy an element bound to that key.
1427
1428
  182
1428
1429
  183
1429
1430
  184
1430
- 185
1431
- 186
1432
- 187
1433
- 188
1434
- 189</pre>
1431
+ 185</pre>
1435
1432
  </td>
1436
1433
  <td>
1437
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 164</span>
1434
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_map.rb', line 159</span>
1438
1435
 
1439
1436
  <span class='kw'>def</span> <span class='id identifier rubyid_write_intf_types'>write_intf_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1437
+ <span class='kw'>super</span>
1440
1438
  <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'>
1441
1439
  /***
1442
1440
  **** </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&lt;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>,</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&gt; (</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'>)
@@ -1472,9 +1470,9 @@ Destroy an element bound to that key.
1472
1470
  </div>
1473
1471
 
1474
1472
  <div id="footer">
1475
- Generated on Sat Nov 22 16:58:04 2014 by
1473
+ Generated on Thu Mar 17 13:32:51 2016 by
1476
1474
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1477
- 0.8.7.6 (ruby-2.1.5).
1475
+ 0.8.7.6 (ruby-2.2.4).
1478
1476
  </div>
1479
1477
 
1480
1478
  </body>
@@ -179,11 +179,11 @@ Stored elements are destroyed as well by calling the respective destructors.</p>
179
179
  <tr>
180
180
  <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Put(<strong><em>Type</em></strong> * self, <strong><em>E</em></strong> what)</p></td>
181
181
  <td class="tableblock halign-left valign-top"><p class="tableblock">Put a <em>copy</em> of the element what into self <strong>only if</strong> there is no such element in self which is considered equal to what.
182
- </p><p class="tableblock">Return non-zero value on successful element put and zero value otherwise.</p></td>
182
+ </p><p class="tableblock">Return non-zero value on successful element put (that is there was not such element in self) and zero value otherwise.</p></td>
183
183
  </tr>
184
184
  <tr>
185
185
  <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Replace(<strong><em>Type</em></strong> * self, <strong><em>E</em></strong> with)</p></td>
186
- <td class="tableblock halign-left valign-top"><p class="tableblock"><strong>If</strong> self contains an element which is considered equal to the element with,
186
+ <td class="tableblock halign-left valign-top"><p class="tableblock">If self contains an element which is considered equal to the element with,
187
187
  replace that element with a <em>copy</em> of with, otherwise do nothing.
188
188
  Replaced element is destroyed.
189
189
  </p><p class="tableblock">Return non-zero value if the replacement was actually performed and zero value otherwise.</p></td>
@@ -398,7 +398,7 @@ Replaced element is destroyed.
398
398
 
399
399
 
400
400
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
401
- <p class="inherited"><span class='object_link'><a href="Collection.html#%3D%3D-instance_method" title="AutoC::Collection#== (method)">#==</a></span>, <span class='object_link'><a href="Collection.html#comparable%3F-instance_method" title="AutoC::Collection#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Collection.html#copyable%3F-instance_method" title="AutoC::Collection#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Collection.html#entities-instance_method" title="AutoC::Collection#entities (method)">#entities</a></span>, <span class='object_link'><a href="Collection.html#hash-instance_method" title="AutoC::Collection#hash (method)">#hash</a></span>, <span class='object_link'><a href="Collection.html#hashable%3F-instance_method" title="AutoC::Collection#hashable? (method)">#hashable?</a></span></p>
401
+ <p class="inherited"><span class='object_link'><a href="Collection.html#%3D%3D-instance_method" title="AutoC::Collection#== (method)">#==</a></span>, <span class='object_link'><a href="Collection.html#comparable%3F-instance_method" title="AutoC::Collection#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Collection.html#constructible%3F-instance_method" title="AutoC::Collection#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Collection.html#copyable%3F-instance_method" title="AutoC::Collection#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Collection.html#destructible%3F-instance_method" title="AutoC::Collection#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Collection.html#entities-instance_method" title="AutoC::Collection#entities (method)">#entities</a></span>, <span class='object_link'><a href="Collection.html#hash-instance_method" title="AutoC::Collection#hash (method)">#hash</a></span>, <span class='object_link'><a href="Collection.html#hashable%3F-instance_method" title="AutoC::Collection#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Collection.html#initializable%3F-instance_method" title="AutoC::Collection#initializable? (method)">#initializable?</a></span></p>
402
402
 
403
403
 
404
404
 
@@ -408,8 +408,9 @@ Replaced element is destroyed.
408
408
 
409
409
 
410
410
 
411
+
411
412
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
412
- <p class="inherited"><span class='object_link'><a href="Type.html#%3D%3D-instance_method" title="AutoC::Type#== (method)">#==</a></span>, <span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#coerce-class_method" title="AutoC::Type.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Type.html#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Type.html#constructible%3F-instance_method" title="AutoC::Type#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Type.html#copyable%3F-instance_method" title="AutoC::Type#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Type.html#destructible%3F-instance_method" title="AutoC::Type#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Type.html#entities-instance_method" title="AutoC::Type#entities (method)">#entities</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Type.html#inline-instance_method" title="AutoC::Type#inline (method)">#inline</a></span>, <span class='object_link'><a href="Type.html#malloc-instance_method" title="AutoC::Type#malloc (method)">#malloc</a></span>, <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">#method_missing</a></span>, <span class='object_link'><a href="Type.html#orderable%3F-instance_method" title="AutoC::Type#orderable? (method)">#orderable?</a></span>, <span class='object_link'><a href="Type.html#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>
413
+ <p class="inherited"><span class='object_link'><a href="Type.html#%3D%3D-instance_method" title="AutoC::Type#== (method)">#==</a></span>, <span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#coerce-class_method" title="AutoC::Type.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Type.html#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Type.html#constructible%3F-instance_method" title="AutoC::Type#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Type.html#copyable%3F-instance_method" title="AutoC::Type#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Type.html#destructible%3F-instance_method" title="AutoC::Type#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Type.html#entities-instance_method" title="AutoC::Type#entities (method)">#entities</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Type.html#initializable%3F-instance_method" title="AutoC::Type#initializable? (method)">#initializable?</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>
413
414
 
414
415
 
415
416
 
@@ -454,8 +455,7 @@ Replaced element is destroyed.
454
455
  149
455
456
  150
456
457
  151
457
- 152
458
- 153</pre>
458
+ 152</pre>
459
459
  </td>
460
460
  <td>
461
461
  <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_set.rb', line 148</span>
@@ -463,8 +463,7 @@ Replaced element is destroyed.
463
463
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
464
464
  <span class='kw'>super</span>
465
465
  <span class='ivar'>@list</span> <span class='op'>=</span> <span class='const'>List</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_list'>list</span><span class='comma'>,</span> <span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='symbol'>:static</span><span class='rparen'>)</span>
466
- <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span> <span class='lbracket'>[</span><span class='symbol'>:orderable</span><span class='rbracket'>]</span>
467
- <span class='id identifier rubyid_key_type_check'>key_type_check</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='rparen'>)</span>
466
+ <span class='id identifier rubyid_key_requirement'>key_requirement</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='rparen'>)</span>
468
467
  <span class='kw'>end</span></pre>
469
468
  </td>
470
469
  </tr>
@@ -729,16 +728,18 @@ Replaced element is destroyed.
729
728
  428
730
729
  429
731
730
  430
732
- 431</pre>
731
+ 431
732
+ 432</pre>
733
733
  </td>
734
734
  <td>
735
735
  <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_set.rb', line 205</span>
736
736
 
737
737
  <span class='kw'>def</span> <span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span>
738
+ <span class='kw'>super</span>
738
739
  <span class='ivar'>@list</span><span class='period'>.</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_static'>static</span><span class='comma'>,</span> <span class='id identifier rubyid_inline'>inline</span><span class='rparen'>)</span>
739
740
  <span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_static'>static</span><span class='rparen'>)</span>
740
741
  <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'>
741
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
742
+ static </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
742
743
  static void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rehash'>rehash</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
743
744
  </span><span class='embexpr_beg'>#{</span><span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> buckets;
744
745
  size_t index, bucket_count, size, fill;
@@ -939,11 +940,11 @@ Replaced element is destroyed.
939
940
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> set) {
940
941
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
941
942
  self-&gt;set = set;
942
- self-&gt;bucket_index = -1;
943
+ self-&gt;bucket_index = self-&gt;set-&gt;bucket_count;
943
944
  }
944
945
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itMove'>itMove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
945
946
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
946
- if(self-&gt;bucket_index &lt; 0) </span><span class='embexpr_beg'>#{</span><span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it, &amp;self-&gt;set-&gt;buckets[self-&gt;bucket_index = 0]);
947
+ if(self-&gt;bucket_index &gt;= self-&gt;set-&gt;bucket_count) </span><span class='embexpr_beg'>#{</span><span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it, &amp;self-&gt;set-&gt;buckets[self-&gt;bucket_index = 0]);
947
948
  if(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_itMove'>itMove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it)) return 1;
948
949
  while(++self-&gt;bucket_index &lt; self-&gt;set-&gt;bucket_count) {
949
950
  </span><span class='embexpr_beg'>#{</span><span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it, &amp;self-&gt;set-&gt;buckets[self-&gt;bucket_index]);
@@ -955,7 +956,7 @@ Replaced element is destroyed.
955
956
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
956
957
  return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_itGet'>itGet</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it);
957
958
  }
958
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
959
+ static </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
959
960
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
960
961
  return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it);
961
962
  }
@@ -1055,6 +1056,7 @@ Replaced element is destroyed.
1055
1056
  <pre class="lines">
1056
1057
 
1057
1058
 
1059
+ 154
1058
1060
  155
1059
1061
  156
1060
1062
  157
@@ -1080,9 +1082,10 @@ Replaced element is destroyed.
1080
1082
  177</pre>
1081
1083
  </td>
1082
1084
  <td>
1083
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_set.rb', line 155</span>
1085
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/hash_set.rb', line 154</span>
1084
1086
 
1085
1087
  <span class='kw'>def</span> <span class='id identifier rubyid_write_intf_types'>write_intf_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
1088
+ <span class='kw'>super</span>
1086
1089
  <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'>
1087
1090
  /***
1088
1091
  **** </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&lt;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&gt; (</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'>)
@@ -1100,7 +1103,7 @@ Replaced element is destroyed.
1100
1103
  };
1101
1104
  struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1102
1105
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> set;
1103
- int bucket_index;
1106
+ size_t bucket_index;
1104
1107
  </span><span class='embexpr_beg'>#{</span><span class='ivar'>@list</span><span class='period'>.</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> it;
1105
1108
  };
1106
1109
  </span><span class='tstring_end'>$</span></span>
@@ -1115,9 +1118,9 @@ Replaced element is destroyed.
1115
1118
  </div>
1116
1119
 
1117
1120
  <div id="footer">
1118
- Generated on Sat Nov 22 16:58:04 2014 by
1121
+ Generated on Thu Mar 17 13:32:51 2016 by
1119
1122
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1120
- 0.8.7.6 (ruby-2.1.5).
1123
+ 0.8.7.6 (ruby-2.2.4).
1121
1124
  </div>
1122
1125
 
1123
1126
  </body>
@@ -109,7 +109,7 @@
109
109
  <div class="discussion">
110
110
  <div class="paragraph">
111
111
  <p>List is an ordered unidirectional sequence container.
112
- List supports submission/polling operations at one end hence it can be used as a LIFO container.</p>
112
+ List supports submission/polling operations on one end hence it can be used as a LIFO container (a stack).</p>
113
113
  </div>
114
114
  <div class="paragraph">
115
115
  <p>The collection&#8217;s C++ counterpart is std::forward_list&lt;&gt; template class.</p>
@@ -298,32 +298,6 @@ If count is negative, <em>all</em> occurrences are removed instead.
298
298
  <li class="public ">
299
299
  <span class="summary_signature">
300
300
 
301
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (List) <strong>initialize</strong>(*args) </a>
302
-
303
-
304
-
305
- </span>
306
-
307
-
308
- <span class="note title constructor">constructor</span>
309
-
310
-
311
-
312
-
313
-
314
-
315
-
316
-
317
- <span class="summary_desc"><div class='inline'><div class="paragraph">
318
- <p>A new instance of List.</p>
319
- </div></div></span>
320
-
321
- </li>
322
-
323
-
324
- <li class="public ">
325
- <span class="summary_signature">
326
-
327
301
  <a href="#write_impls-instance_method" title="#write_impls (instance method)">- (Object) <strong>write_impls</strong>(stream, define) </a>
328
302
 
329
303
 
@@ -400,7 +374,7 @@ If count is negative, <em>all</em> occurrences are removed instead.
400
374
 
401
375
 
402
376
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
403
- <p class="inherited"><span class='object_link'><a href="Collection.html#%3D%3D-instance_method" title="AutoC::Collection#== (method)">#==</a></span>, <span class='object_link'><a href="Collection.html#comparable%3F-instance_method" title="AutoC::Collection#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Collection.html#copyable%3F-instance_method" title="AutoC::Collection#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Collection.html#entities-instance_method" title="AutoC::Collection#entities (method)">#entities</a></span>, <span class='object_link'><a href="Collection.html#hash-instance_method" title="AutoC::Collection#hash (method)">#hash</a></span>, <span class='object_link'><a href="Collection.html#hashable%3F-instance_method" title="AutoC::Collection#hashable? (method)">#hashable?</a></span></p>
377
+ <p class="inherited"><span class='object_link'><a href="Collection.html#%3D%3D-instance_method" title="AutoC::Collection#== (method)">#==</a></span>, <span class='object_link'><a href="Collection.html#comparable%3F-instance_method" title="AutoC::Collection#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Collection.html#constructible%3F-instance_method" title="AutoC::Collection#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Collection.html#copyable%3F-instance_method" title="AutoC::Collection#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Collection.html#destructible%3F-instance_method" title="AutoC::Collection#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Collection.html#entities-instance_method" title="AutoC::Collection#entities (method)">#entities</a></span>, <span class='object_link'><a href="Collection.html#hash-instance_method" title="AutoC::Collection#hash (method)">#hash</a></span>, <span class='object_link'><a href="Collection.html#hashable%3F-instance_method" title="AutoC::Collection#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Collection.html#initializable%3F-instance_method" title="AutoC::Collection#initializable? (method)">#initializable?</a></span>, <span class='object_link'><a href="Collection.html#initialize-instance_method" title="AutoC::Collection#initialize (method)">#initialize</a></span></p>
404
378
 
405
379
 
406
380
 
@@ -410,8 +384,9 @@ If count is negative, <em>all</em> occurrences are removed instead.
410
384
 
411
385
 
412
386
 
387
+
413
388
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
414
- <p class="inherited"><span class='object_link'><a href="Type.html#%3D%3D-instance_method" title="AutoC::Type#== (method)">#==</a></span>, <span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#coerce-class_method" title="AutoC::Type.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Type.html#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Type.html#constructible%3F-instance_method" title="AutoC::Type#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Type.html#copyable%3F-instance_method" title="AutoC::Type#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Type.html#destructible%3F-instance_method" title="AutoC::Type#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Type.html#entities-instance_method" title="AutoC::Type#entities (method)">#entities</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Type.html#inline-instance_method" title="AutoC::Type#inline (method)">#inline</a></span>, <span class='object_link'><a href="Type.html#malloc-instance_method" title="AutoC::Type#malloc (method)">#malloc</a></span>, <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">#method_missing</a></span>, <span class='object_link'><a href="Type.html#orderable%3F-instance_method" title="AutoC::Type#orderable? (method)">#orderable?</a></span>, <span class='object_link'><a href="Type.html#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>
389
+ <p class="inherited"><span class='object_link'><a href="Type.html#%3D%3D-instance_method" title="AutoC::Type#== (method)">#==</a></span>, <span class='object_link'><a href="Type.html#abort-instance_method" title="AutoC::Type#abort (method)">#abort</a></span>, <span class='object_link'><a href="Type.html#assert-instance_method" title="AutoC::Type#assert (method)">#assert</a></span>, <span class='object_link'><a href="Type.html#calloc-instance_method" title="AutoC::Type#calloc (method)">#calloc</a></span>, <span class='object_link'><a href="Type.html#coerce-class_method" title="AutoC::Type.coerce (method)">coerce</a></span>, <span class='object_link'><a href="Type.html#comparable%3F-instance_method" title="AutoC::Type#comparable? (method)">#comparable?</a></span>, <span class='object_link'><a href="Type.html#constructible%3F-instance_method" title="AutoC::Type#constructible? (method)">#constructible?</a></span>, <span class='object_link'><a href="Type.html#copyable%3F-instance_method" title="AutoC::Type#copyable? (method)">#copyable?</a></span>, <span class='object_link'><a href="Type.html#destructible%3F-instance_method" title="AutoC::Type#destructible? (method)">#destructible?</a></span>, <span class='object_link'><a href="Type.html#entities-instance_method" title="AutoC::Type#entities (method)">#entities</a></span>, <span class='object_link'><a href="Type.html#extern-instance_method" title="AutoC::Type#extern (method)">#extern</a></span>, <span class='object_link'><a href="Type.html#free-instance_method" title="AutoC::Type#free (method)">#free</a></span>, <span class='object_link'><a href="Type.html#hash-instance_method" title="AutoC::Type#hash (method)">#hash</a></span>, <span class='object_link'><a href="Type.html#hashable%3F-instance_method" title="AutoC::Type#hashable? (method)">#hashable?</a></span>, <span class='object_link'><a href="Type.html#initializable%3F-instance_method" title="AutoC::Type#initializable? (method)">#initializable?</a></span>, <span class='object_link'><a href="Type.html#initialize-instance_method" title="AutoC::Type#initialize (method)">#initialize</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>
415
390
 
416
391
 
417
392
 
@@ -426,48 +401,7 @@ If count is negative, <em>all</em> occurrences are removed instead.
426
401
  <div id="constructor_details" class="method_details_list">
427
402
  <h2>Constructor Details</h2>
428
403
 
429
- <div class="method_details first">
430
- <h3 class="signature first" id="initialize-instance_method">
431
-
432
- - (<tt><span class='object_link'><a href="" title="AutoC::List (class)">List</a></span></tt>) <strong>initialize</strong>(*args)
433
-
434
-
435
-
436
-
437
-
438
- </h3><div class="docstring">
439
- <div class="discussion">
440
- <div class="paragraph">
441
- <p>Returns a new instance of List</p>
442
- </div>
443
-
444
- </div>
445
- </div>
446
- <div class="tags">
447
-
448
-
449
- </div><table class="source_code">
450
- <tr>
451
- <td>
452
- <pre class="lines">
453
-
454
-
455
- 157
456
- 158
457
- 159
458
- 160</pre>
459
- </td>
460
- <td>
461
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/list.rb', line 157</span>
462
-
463
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
464
- <span class='kw'>super</span>
465
- <span class='ivar'>@capability</span><span class='period'>.</span><span class='id identifier rubyid_subtract'>subtract</span> <span class='lbracket'>[</span><span class='symbol'>:orderable</span><span class='rbracket'>]</span>
466
- <span class='kw'>end</span></pre>
467
- </td>
468
- </tr>
469
- </table>
470
- </div>
404
+ <p class="notice">This class inherits a constructor from <span class='object_link'><a href="Collection.html#initialize-instance_method" title="AutoC::Collection#initialize (method)">AutoC::Collection</a></span></p>
471
405
 
472
406
  </div>
473
407
  <div id="method_missing_details" class="method_details_list">
@@ -501,6 +435,10 @@ If count is negative, <em>all</em> occurrences are removed instead.
501
435
  <pre class="lines">
502
436
 
503
437
 
438
+ 212
439
+ 213
440
+ 214
441
+ 215
504
442
  216
505
443
  217
506
444
  218
@@ -697,14 +635,25 @@ If count is negative, <em>all</em> occurrences are removed instead.
697
635
  409
698
636
  410
699
637
  411
700
- 412</pre>
638
+ 412
639
+ 413
640
+ 414
641
+ 415
642
+ 416
643
+ 417
644
+ 418
645
+ 419
646
+ 420
647
+ 421
648
+ 422</pre>
701
649
  </td>
702
650
  <td>
703
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/list.rb', line 216</span>
651
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/list.rb', line 212</span>
704
652
 
705
653
  <span class='kw'>def</span> <span class='id identifier rubyid_write_impls'>write_impls</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='comma'>,</span> <span class='id identifier rubyid_define'>define</span><span class='rparen'>)</span>
654
+ <span class='kw'>super</span>
706
655
  <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'>
707
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
656
+ static </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
708
657
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</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='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
709
658
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
710
659
  self-&gt;head_node = NULL;
@@ -723,12 +672,22 @@ If count is negative, <em>all</em> occurrences are removed instead.
723
672
  }
724
673
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_copy'>copy</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
725
674
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> it;
675
+ size_t index, size;
676
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>** elements;
726
677
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src);
727
678
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst);
728
679
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor'>ctor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst);
729
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it, src);
730
- while(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itMove'>itMove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it)) {
731
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_push'>push</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst, *</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it));
680
+ if(!</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_empty'>empty</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src)) {
681
+ /* List is a LIFO type container therefore the insertion order into the destination container should be reversed */
682
+ elements = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>**)</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_malloc'>malloc</span><span class='embexpr_end'>}</span><span class='tstring_content'>((size = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src))*sizeof(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>*)); </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(elements);
683
+ index = 0;
684
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it, src);
685
+ while(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itMove'>itMove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it)) {
686
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(index &lt; size);
687
+ elements[index++] = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it);
688
+ }
689
+ for(index = size; index &gt; 0; --index) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_push'>push</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst, *elements[index-1]); /* Be careful not to run into the underflow of the unsigned integer type */
690
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_free'>free</span><span class='embexpr_end'>}</span><span class='tstring_content'>(elements);
732
691
  }
733
692
  }
734
693
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_equal'>equal</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
@@ -820,6 +779,9 @@ If count is negative, <em>all</em> occurrences are removed instead.
820
779
  }
821
780
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_abort'>abort</span><span class='embexpr_end'>}</span><span class='tstring_content'>();
822
781
  }
782
+ /* FIXME: for the generality&#39;s sake there should be both `what` and `with` values
783
+ This is not achievable without breaking the interface, however,
784
+ therefore defer this change to the major version bump */
823
785
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_replaceEx'>replaceEx</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> with, int count) {
824
786
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_content'>* node;
825
787
  int replaced = 0;
@@ -892,7 +854,7 @@ If count is negative, <em>all</em> occurrences are removed instead.
892
854
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_copy'>copy</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>result</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>self-&gt;this_node-&gt;element</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
893
855
  return result;
894
856
  }
895
- </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
857
+ static </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetRef'>itGetRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it_ref'>it_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> self) {
896
858
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
897
859
  </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self-&gt;this_node);
898
860
  return &amp;self-&gt;this_node-&gt;element;
@@ -919,6 +881,10 @@ If count is negative, <em>all</em> occurrences are removed instead.
919
881
  <pre class="lines">
920
882
 
921
883
 
884
+ 184
885
+ 185
886
+ 186
887
+ 187
922
888
  188
923
889
  189
924
890
  190
@@ -941,14 +907,10 @@ If count is negative, <em>all</em> occurrences are removed instead.
941
907
  207
942
908
  208
943
909
  209
944
- 210
945
- 211
946
- 212
947
- 213
948
- 214</pre>
910
+ 210</pre>
949
911
  </td>
950
912
  <td>
951
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/list.rb', line 188</span>
913
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/list.rb', line 184</span>
952
914
 
953
915
  <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>
954
916
  <span class='kw'>super</span>
@@ -997,6 +959,11 @@ If count is negative, <em>all</em> occurrences are removed instead.
997
959
  <pre class="lines">
998
960
 
999
961
 
962
+ 157
963
+ 158
964
+ 159
965
+ 160
966
+ 161
1000
967
  162
1001
968
  163
1002
969
  164
@@ -1017,16 +984,13 @@ If count is negative, <em>all</em> occurrences are removed instead.
1017
984
  179
1018
985
  180
1019
986
  181
1020
- 182
1021
- 183
1022
- 184
1023
- 185
1024
- 186</pre>
987
+ 182</pre>
1025
988
  </td>
1026
989
  <td>
1027
- <pre class="code"><span class="info file"># File 'lib/autoc/collection/list.rb', line 162</span>
990
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/list.rb', line 157</span>
1028
991
 
1029
992
  <span class='kw'>def</span> <span class='id identifier rubyid_write_intf_types'>write_intf_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span>
993
+ <span class='kw'>super</span>
1030
994
  <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'>
1031
995
  /***
1032
996
  **** </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&lt;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&gt; (</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'>)
@@ -1061,9 +1025,9 @@ If count is negative, <em>all</em> occurrences are removed instead.
1061
1025
  </div>
1062
1026
 
1063
1027
  <div id="footer">
1064
- Generated on Sat Nov 22 16:58:04 2014 by
1028
+ Generated on Thu Mar 17 13:32:51 2016 by
1065
1029
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1066
- 0.8.7.6 (ruby-2.1.5).
1030
+ 0.8.7.6 (ruby-2.2.4).
1067
1031
  </div>
1068
1032
 
1069
1033
  </body>