autoc 1.3 → 1.4

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +4 -0
  3. data/doc/AutoC.html +55 -55
  4. data/doc/AutoC/Code.html +60 -57
  5. data/doc/AutoC/Collection.html +134 -124
  6. data/doc/AutoC/HashMap.html +147 -185
  7. data/doc/AutoC/HashSet.html +114 -325
  8. data/doc/AutoC/Iterators.html +126 -0
  9. data/doc/AutoC/Iterators/Bidirectional.html +204 -0
  10. data/doc/AutoC/Iterators/Unidirectional.html +200 -0
  11. data/doc/AutoC/List.html +81 -76
  12. data/doc/AutoC/Maps.html +290 -0
  13. data/doc/AutoC/Module.html +72 -69
  14. data/doc/AutoC/Module/File.html +55 -52
  15. data/doc/AutoC/Module/Header.html +55 -52
  16. data/doc/AutoC/Module/Source.html +63 -60
  17. data/doc/AutoC/Priority.html +57 -57
  18. data/doc/AutoC/Queue.html +75 -74
  19. data/doc/AutoC/Reference.html +92 -91
  20. data/doc/AutoC/Sets.html +520 -0
  21. data/doc/AutoC/String.html +70 -69
  22. data/doc/AutoC/TreeMap.html +1565 -0
  23. data/doc/AutoC/TreeSet.html +1447 -0
  24. data/doc/AutoC/Type.html +184 -110
  25. data/doc/AutoC/UserDefinedType.html +102 -102
  26. data/doc/AutoC/Vector.html +100 -91
  27. data/doc/_index.html +97 -33
  28. data/doc/class_list.html +24 -31
  29. data/doc/css/full_list.css +32 -31
  30. data/doc/css/style.css +220 -78
  31. data/doc/file.CHANGES.html +37 -30
  32. data/doc/file.README.html +29 -30
  33. data/doc/file_list.html +29 -31
  34. data/doc/frames.html +7 -16
  35. data/doc/index.html +29 -30
  36. data/doc/js/app.js +100 -76
  37. data/doc/js/full_list.js +170 -135
  38. data/doc/method_list.html +877 -431
  39. data/doc/top-level-namespace.html +35 -35
  40. data/lib/autoc.rb +4 -2
  41. data/lib/autoc/collection.rb +10 -4
  42. data/lib/autoc/collection/hash_map.rb +22 -41
  43. data/lib/autoc/collection/hash_set.rb +13 -120
  44. data/lib/autoc/collection/iterator.rb +39 -0
  45. data/lib/autoc/collection/list.rb +7 -5
  46. data/lib/autoc/collection/map.rb +41 -0
  47. data/lib/autoc/collection/queue.rb +8 -8
  48. data/lib/autoc/collection/set.rb +134 -0
  49. data/lib/autoc/collection/tree_map.rb +464 -0
  50. data/lib/autoc/collection/tree_set.rb +611 -0
  51. data/lib/autoc/collection/vector.rb +8 -4
  52. data/lib/autoc/string.rb +1 -1
  53. data/lib/autoc/type.rb +3 -0
  54. data/test/test.rb +2 -2
  55. data/test/test_auto.c +7141 -0
  56. data/test/test_auto.h +753 -0
  57. data/test/test_int_tree_set.rb +111 -0
  58. data/test/test_value_hash_map.rb +1 -1
  59. data/test/test_value_hash_set.rb +1 -1
  60. data/test/test_value_tree_map.rb +176 -0
  61. data/test/test_value_tree_set.rb +173 -0
  62. metadata +21 -5
@@ -1,12 +1,12 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
1
+ <!DOCTYPE html>
2
+ <html>
4
3
  <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>
7
7
  Class: AutoC::String
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.6
9
+ &mdash; Documentation by YARD 0.9.5
10
10
 
11
11
  </title>
12
12
 
@@ -15,9 +15,8 @@
15
15
  <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
18
+ pathId = "AutoC::String";
19
19
  relpath = '../';
20
- framesUrl = "../frames.html#!AutoC/String.html";
21
20
  </script>
22
21
 
23
22
 
@@ -28,51 +27,50 @@
28
27
 
29
28
  </head>
30
29
  <body>
31
- <div id="header">
32
- <div id="menu">
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
33
38
 
34
39
  <a href="../_index.html">Index (S)</a> &raquo;
35
40
  <span class='title'><span class='object_link'><a href="../AutoC.html" title="AutoC (module)">AutoC</a></span></span>
36
41
  &raquo;
37
42
  <span class="title">String</span>
38
43
 
39
-
40
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
44
  </div>
42
45
 
43
- <div id="search">
46
+ <div id="search">
44
47
 
45
48
  <a class="full_list_link" id="class_list_link"
46
49
  href="../class_list.html">
47
- Class List
48
- </a>
49
-
50
- <a class="full_list_link" id="method_list_link"
51
- href="../method_list.html">
52
- Method List
53
- </a>
54
-
55
- <a class="full_list_link" id="file_list_link"
56
- href="../file_list.html">
57
- File List
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
58
56
  </a>
59
57
 
60
58
  </div>
61
- <div class="clear"></div>
62
- </div>
59
+ <div class="clear"></div>
60
+ </div>
63
61
 
64
- <iframe id="search_frame"></iframe>
62
+ <iframe id="search_frame" src="../class_list.html"></iframe>
65
63
 
66
- <div id="content"><h1>Class: AutoC::String
64
+ <div id="content"><h1>Class: AutoC::String
67
65
 
68
66
 
69
67
 
70
68
  </h1>
71
-
72
- <dl class="box">
69
+ <div class="box_info">
73
70
 
74
- <dt class="r1">Inherits:</dt>
75
- <dd class="r1">
71
+ <dl>
72
+ <dt>Inherits:</dt>
73
+ <dd>
76
74
  <span class="inheritName"><span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></span>
77
75
 
78
76
  <ul class="fullTree">
@@ -87,25 +85,30 @@
87
85
  </ul>
88
86
  <a href="#" class="inheritanceTree">show all</a>
89
87
 
90
- </dd>
91
-
88
+ </dd>
89
+ </dl>
92
90
 
91
+
93
92
 
94
-
95
93
 
96
-
97
- <dt class="r2">Includes:</dt>
98
- <dd class="r2">Redirecting</dd>
99
-
100
-
101
94
 
102
95
 
96
+ <dl>
97
+ <dt>Includes:</dt>
98
+ <dd>Redirecting</dd>
99
+ </dl>
100
+
101
+
102
+
103
+
104
+
103
105
 
104
- <dt class="r1 last">Defined in:</dt>
105
- <dd class="r1 last">lib/autoc/string.rb</dd>
106
+ <dl>
107
+ <dt>Defined in:</dt>
108
+ <dd>lib/autoc/string.rb</dd>
109
+ </dl>
106
110
 
107
- </dl>
108
- <div class="clear"></div>
111
+ </div>
109
112
 
110
113
  <h2>Overview</h2><div class="docstring">
111
114
  <div class="discussion">
@@ -308,19 +311,16 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
308
311
 
309
312
 
310
313
  </div>
311
- <h2>Constant Summary</h2>
312
-
313
-
314
314
 
315
315
 
316
316
 
317
- <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
317
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
318
318
  <ul class="summary">
319
319
 
320
320
  <li class="public ">
321
321
  <span class="summary_signature">
322
322
 
323
- <a href="#it_ref-instance_method" title="#it_ref (instance method)">- (Object) <strong>it_ref</strong> </a>
323
+ <a href="#it_ref-instance_method" title="#it_ref (instance method)">#<strong>it_ref</strong> &#x21d2; Object </a>
324
324
 
325
325
 
326
326
 
@@ -359,7 +359,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
359
359
 
360
360
  <h2>
361
361
  Instance Method Summary
362
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
362
+ <small><a href="#" class="summary_toggle">collapse</a></small>
363
363
  </h2>
364
364
 
365
365
  <ul class="summary">
@@ -367,7 +367,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
367
367
  <li class="public ">
368
368
  <span class="summary_signature">
369
369
 
370
- <a href="#char_type-instance_method" title="#char_type (instance method)">- (Object) <strong>char_type</strong> </a>
370
+ <a href="#char_type-instance_method" title="#char_type (instance method)">#<strong>char_type</strong> &#x21d2; Object </a>
371
371
 
372
372
 
373
373
 
@@ -389,7 +389,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
389
389
  <li class="public ">
390
390
  <span class="summary_signature">
391
391
 
392
- <a href="#char_type_ref-instance_method" title="#char_type_ref (instance method)">- (Object) <strong>char_type_ref</strong> </a>
392
+ <a href="#char_type_ref-instance_method" title="#char_type_ref (instance method)">#<strong>char_type_ref</strong> &#x21d2; Object </a>
393
393
 
394
394
 
395
395
 
@@ -411,7 +411,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
411
411
  <li class="public ">
412
412
  <span class="summary_signature">
413
413
 
414
- <a href="#constructible%3F-instance_method" title="#constructible? (instance method)">- (Boolean) <strong>constructible?</strong> </a>
414
+ <a href="#constructible%3F-instance_method" title="#constructible? (instance method)">#<strong>constructible?</strong> &#x21d2; Boolean </a>
415
415
 
416
416
 
417
417
 
@@ -435,7 +435,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
435
435
  <li class="public ">
436
436
  <span class="summary_signature">
437
437
 
438
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (String) <strong>initialize</strong>(type_name = :String, visibility = :public) </a>
438
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(type_name = :String, visibility = :public) &#x21d2; String </a>
439
439
 
440
440
 
441
441
 
@@ -461,7 +461,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
461
461
  <li class="public ">
462
462
  <span class="summary_signature">
463
463
 
464
- <a href="#write_impls-instance_method" title="#write_impls (instance method)">- (Object) <strong>write_impls</strong>(stream, define) </a>
464
+ <a href="#write_impls-instance_method" title="#write_impls (instance method)">#<strong>write_impls</strong>(stream, define) &#x21d2; Object </a>
465
465
 
466
466
 
467
467
 
@@ -483,7 +483,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
483
483
  <li class="public ">
484
484
  <span class="summary_signature">
485
485
 
486
- <a href="#write_intf_decls-instance_method" title="#write_intf_decls (instance method)">- (Object) <strong>write_intf_decls</strong>(stream, declare, define) </a>
486
+ <a href="#write_intf_decls-instance_method" title="#write_intf_decls (instance method)">#<strong>write_intf_decls</strong>(stream, declare, define) &#x21d2; Object </a>
487
487
 
488
488
 
489
489
 
@@ -505,7 +505,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
505
505
  <li class="public ">
506
506
  <span class="summary_signature">
507
507
 
508
- <a href="#write_intf_types-instance_method" title="#write_intf_types (instance method)">- (Object) <strong>write_intf_types</strong>(stream) </a>
508
+ <a href="#write_intf_types-instance_method" title="#write_intf_types (instance method)">#<strong>write_intf_types</strong>(stream) &#x21d2; Object </a>
509
509
 
510
510
 
511
511
 
@@ -538,7 +538,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
538
538
 
539
539
 
540
540
  <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
541
- <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#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>
541
+ <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#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#sortable%3F-instance_method" title="AutoC::Type#sortable? (method)">#sortable?</a></span>, <span class='object_link'><a href="Type.html#static-instance_method" title="AutoC::Type#static (method)">#static</a></span>, <span class='object_link'><a href="Type.html#static%3F-instance_method" title="AutoC::Type#static? (method)">#static?</a></span>, <span class='object_link'><a href="Type.html#write_decls-instance_method" title="AutoC::Type#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Type.html#write_defs-instance_method" title="AutoC::Type#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Type.html#write_intf-instance_method" title="AutoC::Type#write_intf (method)">#write_intf</a></span></p>
542
542
 
543
543
 
544
544
 
@@ -556,7 +556,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
556
556
  <div class="method_details first">
557
557
  <h3 class="signature first" id="initialize-instance_method">
558
558
 
559
- - (<tt><span class='object_link'><a href="" title="AutoC::String (class)">String</a></span></tt>) <strong>initialize</strong>(type_name = :String, visibility = :public)
559
+ #<strong>initialize</strong>(type_name = :String, visibility = :public) &#x21d2; <tt><span class='object_link'><a href="" title="AutoC::String (class)">String</a></span></tt>
560
560
 
561
561
 
562
562
 
@@ -622,7 +622,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
622
622
  <div class="method_details first">
623
623
  <h3 class="signature first" id="it_ref-instance_method">
624
624
 
625
- - (<tt>Object</tt>) <strong>it_ref</strong> <span class="extras">(readonly)</span>
625
+ #<strong>it_ref</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
626
626
 
627
627
 
628
628
 
@@ -670,7 +670,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
670
670
  <div class="method_details first">
671
671
  <h3 class="signature first" id="char_type-instance_method">
672
672
 
673
- - (<tt>Object</tt>) <strong>char_type</strong>
673
+ #<strong>char_type</strong> &#x21d2; <tt>Object</tt>
674
674
 
675
675
 
676
676
 
@@ -696,7 +696,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
696
696
  <div class="method_details ">
697
697
  <h3 class="signature " id="char_type_ref-instance_method">
698
698
 
699
- - (<tt>Object</tt>) <strong>char_type_ref</strong>
699
+ #<strong>char_type_ref</strong> &#x21d2; <tt>Object</tt>
700
700
 
701
701
 
702
702
 
@@ -722,7 +722,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
722
722
  <div class="method_details ">
723
723
  <h3 class="signature " id="constructible?-instance_method">
724
724
 
725
- - (<tt>Boolean</tt>) <strong>constructible?</strong>
725
+ #<strong>constructible?</strong> &#x21d2; <tt>Boolean</tt>
726
726
 
727
727
 
728
728
 
@@ -772,7 +772,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
772
772
  <div class="method_details ">
773
773
  <h3 class="signature " id="write_impls-instance_method">
774
774
 
775
- - (<tt>Object</tt>) <strong>write_impls</strong>(stream, define)
775
+ #<strong>write_impls</strong>(stream, define) &#x21d2; <tt>Object</tt>
776
776
 
777
777
 
778
778
 
@@ -1128,7 +1128,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1128
1128
  <div class="method_details ">
1129
1129
  <h3 class="signature " id="write_intf_decls-instance_method">
1130
1130
 
1131
- - (<tt>Object</tt>) <strong>write_intf_decls</strong>(stream, declare, define)
1131
+ #<strong>write_intf_decls</strong>(stream, declare, define) &#x21d2; <tt>Object</tt>
1132
1132
 
1133
1133
 
1134
1134
 
@@ -1310,7 +1310,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1310
1310
  <div class="method_details ">
1311
1311
  <h3 class="signature " id="write_intf_types-instance_method">
1312
1312
 
1313
- - (<tt>Object</tt>) <strong>write_intf_types</strong>(stream)
1313
+ #<strong>write_intf_types</strong>(stream) &#x21d2; <tt>Object</tt>
1314
1314
 
1315
1315
 
1316
1316
 
@@ -1353,7 +1353,7 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1353
1353
  <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>
1354
1354
  <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'>
1355
1355
  /***
1356
- **** </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_char_type'>char_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'>)
1356
+ **** </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_char_type'>char_type</span><span class='embexpr_end'>}</span><span class='tstring_content'>&gt;
1357
1357
  ***/
1358
1358
  </span><span class='tstring_end'>$</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_public?'>public?</span>
1359
1359
  <span class='lbracket'>[</span><span class='ivar'>@list</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span><span class='op'>|</span><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_write_intf_types'>write_intf_types</span><span class='lparen'>(</span><span class='id identifier rubyid_stream'>stream</span><span class='rparen'>)</span><span class='rbrace'>}</span> <span class='comment'># TODO : this should be handled by the entity dependencies system
@@ -1383,11 +1383,12 @@ Non-zero value of forward specifies a forward iterator, zero value specifies a b
1383
1383
 
1384
1384
  </div>
1385
1385
 
1386
- <div id="footer">
1387
- Generated on Thu Mar 17 13:32:51 2016 by
1386
+ <div id="footer">
1387
+ Generated on Wed Oct 12 12:27:11 2016 by
1388
1388
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1389
- 0.8.7.6 (ruby-2.2.4).
1389
+ 0.9.5 (ruby-2.3.1).
1390
1390
  </div>
1391
1391
 
1392
+ </div>
1392
1393
  </body>
1393
1394
  </html>
@@ -0,0 +1,1565 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: AutoC::TreeMap
8
+
9
+ &mdash; Documentation by YARD 0.9.5
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "AutoC::TreeMap";
19
+ relpath = '../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../_index.html">Index (T)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../AutoC.html" title="AutoC (module)">AutoC</a></span></span>
41
+ &raquo;
42
+ <span class="title">TreeMap</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <iframe id="search_frame" src="../class_list.html"></iframe>
63
+
64
+ <div id="content"><h1>Class: AutoC::TreeMap
65
+
66
+
67
+
68
+ </h1>
69
+ <div class="box_info">
70
+
71
+ <dl>
72
+ <dt>Inherits:</dt>
73
+ <dd>
74
+ <span class="inheritName"><span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></span>
75
+
76
+ <ul class="fullTree">
77
+ <li>Object</li>
78
+
79
+ <li class="next"><span class='object_link'><a href="Code.html" title="AutoC::Code (class)">Code</a></span></li>
80
+
81
+ <li class="next"><span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></li>
82
+
83
+ <li class="next"><span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></li>
84
+
85
+ <li class="next">AutoC::TreeMap</li>
86
+
87
+ </ul>
88
+ <a href="#" class="inheritanceTree">show all</a>
89
+
90
+ </dd>
91
+ </dl>
92
+
93
+
94
+
95
+
96
+
97
+
98
+ <dl>
99
+ <dt>Includes:</dt>
100
+ <dd><span class='object_link'><a href="Maps.html" title="AutoC::Maps (module)">Maps</a></span></dd>
101
+ </dl>
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <dl>
109
+ <dt>Defined in:</dt>
110
+ <dd>lib/autoc/collection/tree_map.rb</dd>
111
+ </dl>
112
+
113
+ </div>
114
+
115
+ <h2>Overview</h2><div class="docstring">
116
+ <div class="discussion">
117
+ <div class="paragraph">
118
+ <p>TreeMap&lt; <strong><em>K</em></strong> &#8658; <strong><em>E</em></strong> &gt; is a tree-based ordered random access container holding unique keys with each key having an element bound to it.</p>
119
+ </div>
120
+ <div class="paragraph">
121
+ <p>TreeMap is backed by <span class='object_link'><a href="TreeSet.html" title="AutoC::TreeSet (class)">TreeSet</a></span> container.</p>
122
+ </div>
123
+ <div class="paragraph">
124
+ <p>The collection&#8217;s C++ counterpart is std::map&lt;&gt; template class.</p>
125
+ </div>
126
+ <div class="sect1">
127
+ <h2 id="_generated_c_interface">Generated C interface</h2>
128
+ <div class="sectionbody">
129
+ <div class="sect2">
130
+ <h3 id="_collection_management">Collection management</h3>
131
+ <table class="tableblock frame-all grid-all spread">
132
+ <colgroup>
133
+ <col style="width: 50%;">
134
+ <col style="width: 50%;">
135
+ </colgroup>
136
+ <tbody>
137
+ <tr>
138
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Copy(<strong><em>Type</em></strong> * dst, <strong><em>Type</em></strong> * src)</p></td>
139
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Create a new map dst filled with the contents of src.
140
+ A copy operation is performed on all keys and values in src.
141
+ </p><p class="tableblock">NOTE: Previous contents of dst is overwritten.</p></td>
142
+ </tr>
143
+ <tr>
144
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Ctor(<strong><em>Type</em></strong> * self)</p></td>
145
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Create a new empty map self.
146
+ </p><p class="tableblock">NOTE: Previous contents of self is overwritten.</p></td>
147
+ </tr>
148
+ <tr>
149
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>type</sub>Dtor(<strong><em>Type</em></strong> * self)</p></td>
150
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Destroy map self.
151
+ Stored keys and values are destroyed as well by calling the respective destructors.</p></td>
152
+ </tr>
153
+ <tr>
154
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Equal(<strong><em>Type</em></strong> * lt, <strong><em>Type</em></strong> * rt)</p></td>
155
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return non-zero value if maps lt and rt are considered equal by contents and zero value otherwise.</p></td>
156
+ </tr>
157
+ <tr>
158
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>size_t</em></strong> <sub>type</sub>Identify(<strong><em>Type</em></strong> * self)</p></td>
159
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return hash code for map self.</p></td>
160
+ </tr>
161
+ </tbody>
162
+ </table>
163
+ </div>
164
+ <div class="sect2">
165
+ <h3 id="_basic_operations">Basic operations</h3>
166
+ <table class="tableblock frame-all grid-all spread">
167
+ <colgroup>
168
+ <col style="width: 50%;">
169
+ <col style="width: 50%;">
170
+ </colgroup>
171
+ <tbody>
172
+ <tr>
173
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>ContainsKey(<strong><em>Type</em></strong> * self, <strong><em>K</em></strong> key)</p></td>
174
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return non-zero value if map self contains an entry with a key considered equal to the key key and zero value otherwise.</p></td>
175
+ </tr>
176
+ <tr>
177
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Empty(<strong><em>Type</em></strong> * self)</p></td>
178
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return non-zero value if map self contains no entries and zero value otherwise.</p></td>
179
+ </tr>
180
+ <tr>
181
+ <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>
182
+ <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.
183
+ </p><p class="tableblock">WARNING: self <strong>must</strong> contain such key otherwise the behavior is undefined. See <sub>type</sub>ContainsKey().</p></td>
184
+ </tr>
185
+ <tr>
186
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>type</sub>PeekLowestElement(<strong><em>Type</em></strong> * self)</p></td>
187
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of an element bound to the lowest key in self.
188
+ </p><p class="tableblock">WARNING: self <strong>must not</strong> be empty otherwise the behavior is undefined. See <sub>type</sub>Empty().</p></td>
189
+ </tr>
190
+ <tr>
191
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>K</em></strong> <sub>type</sub>PeekLowestKey(<strong><em>Type</em></strong> * self)</p></td>
192
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the lowest key in self.
193
+ </p><p class="tableblock">WARNING: self <strong>must not</strong> be empty otherwise the behavior is undefined. See <sub>type</sub>Empty().</p></td>
194
+ </tr>
195
+ <tr>
196
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>type</sub>PeekHighestElement(<strong><em>Type</em></strong> * self)</p></td>
197
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of an element bound to the highest key in self.
198
+ </p><p class="tableblock">WARNING: self <strong>must not</strong> be empty otherwise the behavior is undefined. See <sub>type</sub>Empty().</p></td>
199
+ </tr>
200
+ <tr>
201
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>K</em></strong> <sub>type</sub>PeekHighestKey(<strong><em>Type</em></strong> * self)</p></td>
202
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the highest key in self.
203
+ </p><p class="tableblock">WARNING: self <strong>must not</strong> be empty otherwise the behavior is undefined. See <sub>type</sub>Empty().</p></td>
204
+ </tr>
205
+ <tr>
206
+ <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>
207
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Remove and destroy all keys and elements stored in self.</p></td>
208
+ </tr>
209
+ <tr>
210
+ <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>K</em></strong> key, <strong><em>E</em></strong> value)</p></td>
211
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Put a <em>copy</em> of the element value bound to a <em>copy</em> of the key key into self
212
+ <strong>only if</strong> there is no such key in self which is considered equal to key.
213
+ </p><p class="tableblock">Return non-zero value on successful put and zero value otherwise.</p></td>
214
+ </tr>
215
+ <tr>
216
+ <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>K</em></strong> key, <strong><em>E</em></strong> value)</p></td>
217
+ <td class="tableblock halign-left valign-top"><p class="tableblock">If self contains a key which is considered equal to the key key,
218
+ remove and destroy that key along with an element bound to it
219
+ and put a new pair built of the <em>copies</em> of key and value,
220
+ otherwise no nothing.
221
+ </p><p class="tableblock">Return non-zero value if the replacement was actually performed and zero value otherwise.</p></td>
222
+ </tr>
223
+ <tr>
224
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>type</sub>Remove(<strong><em>Type</em></strong> * self, <strong><em>K</em></strong> key)</p></td>
225
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Remove and destroy a key which is considered equal to the key key.
226
+ Destroy an element bound to that key.
227
+ </p><p class="tableblock">Return non-zero value on successful key/element pair removal and zero value otherwise.</p></td>
228
+ </tr>
229
+ <tr>
230
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>size_t</em></strong> <sub>type</sub>Size(<strong><em>Type</em></strong> * self)</p></td>
231
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return number of key/element pairs stored in self.</p></td>
232
+ </tr>
233
+ </tbody>
234
+ </table>
235
+ </div>
236
+ <div class="sect2">
237
+ <h3 id="_iteration">Iteration</h3>
238
+ <table class="tableblock frame-all grid-all spread">
239
+ <colgroup>
240
+ <col style="width: 50%;">
241
+ <col style="width: 50%;">
242
+ </colgroup>
243
+ <tbody>
244
+ <tr>
245
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>it</sub>Ctor(<strong><em>IteratorType</em></strong> * it, <strong><em>Type</em></strong> * self)</p></td>
246
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Create a new ascending iterator it on map self. See <sub>it</sub>CtorEx().
247
+ </p><p class="tableblock">NOTE: Previous contents of it is overwritten.</p></td>
248
+ </tr>
249
+ <tr>
250
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>void</em></strong> <sub>it</sub>CtorEx(<strong><em>IteratorType</em></strong> * it, <strong><em>Type</em></strong> * self, <strong><em>int</em></strong> ascending)</p></td>
251
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Create a new iterator it on map self.
252
+ Non-zero value of ascending specifies an ascending (lowest to highest key traversal) iterator, zero value specifies a descending (highest to lowest key traversal) iterator.
253
+ </p><p class="tableblock">NOTE: Previous contents of it is overwritten.</p></td>
254
+ </tr>
255
+ <tr>
256
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>int</em></strong> <sub>it</sub>Move(<strong><em>IteratorType</em></strong> * it)</p></td>
257
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Advance iterator position of it <strong>and</strong> return non-zero value if new position is valid and zero value otherwise.</p></td>
258
+ </tr>
259
+ <tr>
260
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>K</em></strong> <sub>it</sub>GetKey(<strong><em>IteratorType</em></strong> * it)</p></td>
261
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the key from a key/value pair pointed to by the iterator it.
262
+ </p><p class="tableblock">WARNING: current position <strong>must</strong> be valid otherwise the behavior is undefined. See <sub>it</sub>Move().</p></td>
263
+ </tr>
264
+ <tr>
265
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>it</sub>GetElement(<strong><em>IteratorType</em></strong> * it)</p></td>
266
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Return a <em>copy</em> of the element from a key/element pair pointed to by the iterator it.
267
+ </p><p class="tableblock">WARNING: current position <strong>must</strong> be valid otherwise the behavior is undefined. See <sub>it</sub>Move().</p></td>
268
+ </tr>
269
+ <tr>
270
+ <td class="tableblock halign-left valign-top"><p class="tableblock"><strong><em>E</em></strong> <sub>it</sub>Get(<strong><em>IteratorType</em></strong> * it)</p></td>
271
+ <td class="tableblock halign-left valign-top"><p class="tableblock">Alias for <sub>it</sub>GetElement().</p></td>
272
+ </tr>
273
+ </tbody>
274
+ </table>
275
+ </div>
276
+ </div>
277
+ </div>
278
+
279
+ </div>
280
+ </div>
281
+ <div class="tags">
282
+
283
+
284
+ </div>
285
+
286
+
287
+
288
+ <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
289
+ <ul class="summary">
290
+
291
+ <li class="public ">
292
+ <span class="summary_signature">
293
+
294
+ <a href="#key-instance_method" title="#key (instance method)">#<strong>key</strong> &#x21d2; Object </a>
295
+
296
+
297
+
298
+ </span>
299
+
300
+
301
+
302
+
303
+ <span class="note title readonly">readonly</span>
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ <span class="summary_desc"><div class='inline'><div class="paragraph">
314
+ <p>Returns the value of attribute key.</p>
315
+ </div></div></span>
316
+
317
+ </li>
318
+
319
+
320
+ </ul>
321
+
322
+
323
+
324
+
325
+
326
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
327
+ <p class="inherited"><span class='object_link'><a href="Collection.html#element-instance_method" title="AutoC::Collection#element (method)">#element</a></span>, <span class='object_link'><a href="Collection.html#it_ref-instance_method" title="AutoC::Collection#it_ref (method)">#it_ref</a></span></p>
328
+
329
+
330
+
331
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
332
+ <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>
333
+
334
+
335
+
336
+ <h2>
337
+ Instance Method Summary
338
+ <small><a href="#" class="summary_toggle">collapse</a></small>
339
+ </h2>
340
+
341
+ <ul class="summary">
342
+
343
+ <li class="public ">
344
+ <span class="summary_signature">
345
+
346
+ <a href="#%3D%3D-instance_method" title="#== (instance method)">#<strong>==</strong>(other) &#x21d2; Object </a>
347
+
348
+
349
+
350
+ (also: #eql?)
351
+
352
+ </span>
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+ <span class="summary_desc"><div class='inline'></div></span>
363
+
364
+ </li>
365
+
366
+
367
+ <li class="public ">
368
+ <span class="summary_signature">
369
+
370
+ <a href="#comparable%3F-instance_method" title="#comparable? (instance method)">#<strong>comparable?</strong> &#x21d2; Boolean </a>
371
+
372
+
373
+
374
+ </span>
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+
383
+
384
+ <span class="summary_desc"><div class='inline'></div></span>
385
+
386
+ </li>
387
+
388
+
389
+ <li class="public ">
390
+ <span class="summary_signature">
391
+
392
+ <a href="#copyable%3F-instance_method" title="#copyable? (instance method)">#<strong>copyable?</strong> &#x21d2; Boolean </a>
393
+
394
+
395
+
396
+ </span>
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+ <span class="summary_desc"><div class='inline'></div></span>
407
+
408
+ </li>
409
+
410
+
411
+ <li class="public ">
412
+ <span class="summary_signature">
413
+
414
+ <a href="#entities-instance_method" title="#entities (instance method)">#<strong>entities</strong> &#x21d2; Object </a>
415
+
416
+
417
+
418
+ </span>
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+ <span class="summary_desc"><div class='inline'></div></span>
429
+
430
+ </li>
431
+
432
+
433
+ <li class="public ">
434
+ <span class="summary_signature">
435
+
436
+ <a href="#hash-instance_method" title="#hash (instance method)">#<strong>hash</strong> &#x21d2; Object </a>
437
+
438
+
439
+
440
+ </span>
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+ <span class="summary_desc"><div class='inline'></div></span>
451
+
452
+ </li>
453
+
454
+
455
+ <li class="public ">
456
+ <span class="summary_signature">
457
+
458
+ <a href="#hashable%3F-instance_method" title="#hashable? (instance method)">#<strong>hashable?</strong> &#x21d2; Boolean </a>
459
+
460
+
461
+
462
+ </span>
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+ <span class="summary_desc"><div class='inline'></div></span>
473
+
474
+ </li>
475
+
476
+
477
+ <li class="public ">
478
+ <span class="summary_signature">
479
+
480
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(type, key_type, value_type, visibility = :public) &#x21d2; TreeMap </a>
481
+
482
+
483
+
484
+ </span>
485
+
486
+
487
+ <span class="note title constructor">constructor</span>
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+ <span class="summary_desc"><div class='inline'><div class="paragraph">
497
+ <p>A new instance of TreeMap.</p>
498
+ </div></div></span>
499
+
500
+ </li>
501
+
502
+
503
+ <li class="public ">
504
+ <span class="summary_signature">
505
+
506
+ <a href="#write_impls-instance_method" title="#write_impls (instance method)">#<strong>write_impls</strong>(stream, define) &#x21d2; Object </a>
507
+
508
+
509
+
510
+ </span>
511
+
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+ <span class="summary_desc"><div class='inline'></div></span>
521
+
522
+ </li>
523
+
524
+
525
+ <li class="public ">
526
+ <span class="summary_signature">
527
+
528
+ <a href="#write_intf_decls-instance_method" title="#write_intf_decls (instance method)">#<strong>write_intf_decls</strong>(stream, declare, define) &#x21d2; Object </a>
529
+
530
+
531
+
532
+ </span>
533
+
534
+
535
+
536
+
537
+
538
+
539
+
540
+
541
+
542
+ <span class="summary_desc"><div class='inline'></div></span>
543
+
544
+ </li>
545
+
546
+
547
+ <li class="public ">
548
+ <span class="summary_signature">
549
+
550
+ <a href="#write_intf_types-instance_method" title="#write_intf_types (instance method)">#<strong>write_intf_types</strong>(stream) &#x21d2; Object </a>
551
+
552
+
553
+
554
+ </span>
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+
563
+
564
+ <span class="summary_desc"><div class='inline'></div></span>
565
+
566
+ </li>
567
+
568
+
569
+ </ul>
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Collection.html" title="AutoC::Collection (class)">Collection</a></span></h3>
588
+ <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>
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+
598
+
599
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Type.html" title="AutoC::Type (class)">Type</a></span></h3>
600
+ <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#sortable%3F-instance_method" title="AutoC::Type#sortable? (method)">#sortable?</a></span>, <span class='object_link'><a href="Type.html#static-instance_method" title="AutoC::Type#static (method)">#static</a></span>, <span class='object_link'><a href="Type.html#static%3F-instance_method" title="AutoC::Type#static? (method)">#static?</a></span>, <span class='object_link'><a href="Type.html#write_decls-instance_method" title="AutoC::Type#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Type.html#write_defs-instance_method" title="AutoC::Type#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Type.html#write_intf-instance_method" title="AutoC::Type#write_intf (method)">#write_intf</a></span></p>
601
+
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="Code.html" title="AutoC::Code (class)">Code</a></span></h3>
611
+ <p class="inherited"><span class='object_link'><a href="Code.html#attach-instance_method" title="AutoC::Code#attach (method)">#attach</a></span>, <span class='object_link'><a href="Code.html#priority-instance_method" title="AutoC::Code#priority (method)">#priority</a></span>, <span class='object_link'><a href="Code.html#source_size-instance_method" title="AutoC::Code#source_size (method)">#source_size</a></span>, <span class='object_link'><a href="Code.html#write_decls-instance_method" title="AutoC::Code#write_decls (method)">#write_decls</a></span>, <span class='object_link'><a href="Code.html#write_defs-instance_method" title="AutoC::Code#write_defs (method)">#write_defs</a></span>, <span class='object_link'><a href="Code.html#write_intf-instance_method" title="AutoC::Code#write_intf (method)">#write_intf</a></span></p>
612
+ <div id="constructor_details" class="method_details_list">
613
+ <h2>Constructor Details</h2>
614
+
615
+ <div class="method_details first">
616
+ <h3 class="signature first" id="initialize-instance_method">
617
+
618
+ #<strong>initialize</strong>(type, key_type, value_type, visibility = :public) &#x21d2; <tt><span class='object_link'><a href="" title="AutoC::TreeMap (class)">TreeMap</a></span></tt>
619
+
620
+
621
+
622
+
623
+
624
+ </h3><div class="docstring">
625
+ <div class="discussion">
626
+ <div class="paragraph">
627
+ <p>Returns a new instance of TreeMap</p>
628
+ </div>
629
+
630
+ </div>
631
+ </div>
632
+ <div class="tags">
633
+
634
+
635
+ </div><table class="source_code">
636
+ <tr>
637
+ <td>
638
+ <pre class="lines">
639
+
640
+
641
+ 181
642
+ 182
643
+ 183
644
+ 184
645
+ 185
646
+ 186
647
+ 187
648
+ 188</pre>
649
+ </td>
650
+ <td>
651
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 181</span>
652
+
653
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_key_type'>key_type</span><span class='comma'>,</span> <span class='id identifier rubyid_value_type'>value_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>
654
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_value_type'>value_type</span><span class='comma'>,</span> <span class='id identifier rubyid_visibility'>visibility</span><span class='rparen'>)</span>
655
+ <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>
656
+ <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'>:less</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_entryLess'>entryLess</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>
657
+ <span class='ivar'>@set</span> <span class='op'>=</span> <span class='const'>TreeSet</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>
658
+ <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>
659
+ <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>
660
+ <span class='kw'>end</span></pre>
661
+ </td>
662
+ </tr>
663
+ </table>
664
+ </div>
665
+
666
+ </div>
667
+ <div id="method_missing_details" class="method_details_list">
668
+ <h2>Dynamic Method Handling</h2>
669
+ <p class="notice super">
670
+ This class handles dynamic methods through the <tt>method_missing</tt> method
671
+
672
+ in the class <span class='object_link'><a href="Type.html#method_missing-instance_method" title="AutoC::Type#method_missing (method)">AutoC::Type</a></span>
673
+
674
+ </p>
675
+
676
+ </div>
677
+
678
+ <div id="instance_attr_details" class="attr_details">
679
+ <h2>Instance Attribute Details</h2>
680
+
681
+
682
+ <span id=""></span>
683
+ <div class="method_details first">
684
+ <h3 class="signature first" id="key-instance_method">
685
+
686
+ #<strong>key</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
687
+
688
+
689
+
690
+
691
+
692
+ </h3><div class="docstring">
693
+ <div class="discussion">
694
+ <div class="paragraph">
695
+ <p>Returns the value of attribute key</p>
696
+ </div>
697
+
698
+ </div>
699
+ </div>
700
+ <div class="tags">
701
+
702
+
703
+ </div><table class="source_code">
704
+ <tr>
705
+ <td>
706
+ <pre class="lines">
707
+
708
+
709
+ 169
710
+ 170
711
+ 171</pre>
712
+ </td>
713
+ <td>
714
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 169</span>
715
+
716
+ <span class='kw'>def</span> <span class='id identifier rubyid_key'>key</span>
717
+ <span class='ivar'>@key</span>
718
+ <span class='kw'>end</span></pre>
719
+ </td>
720
+ </tr>
721
+ </table>
722
+ </div>
723
+
724
+ </div>
725
+
726
+
727
+ <div id="instance_method_details" class="method_details_list">
728
+ <h2>Instance Method Details</h2>
729
+
730
+
731
+ <div class="method_details first">
732
+ <h3 class="signature first" id="==-instance_method">
733
+
734
+ #<strong>==</strong>(other) &#x21d2; <tt>Object</tt>
735
+
736
+
737
+
738
+ <span class="aliases">Also known as:
739
+ <span class="names"><span id='eql?-instance_method'>eql?</span></span>
740
+ </span>
741
+
742
+
743
+
744
+ </h3><table class="source_code">
745
+ <tr>
746
+ <td>
747
+ <pre class="lines">
748
+
749
+
750
+ 175</pre>
751
+ </td>
752
+ <td>
753
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 175</span>
754
+
755
+ <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_key'>key</span> <span class='op'>==</span> <span class='id identifier rubyid_other'>other</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span> <span class='kw'>end</span></pre>
756
+ </td>
757
+ </tr>
758
+ </table>
759
+ </div>
760
+
761
+ <div class="method_details ">
762
+ <h3 class="signature " id="comparable?-instance_method">
763
+
764
+ #<strong>comparable?</strong> &#x21d2; <tt>Boolean</tt>
765
+
766
+
767
+
768
+
769
+
770
+ </h3><div class="docstring">
771
+ <div class="discussion">
772
+
773
+
774
+ </div>
775
+ </div>
776
+ <div class="tags">
777
+
778
+ <p class="tag_title">Returns:</p>
779
+ <ul class="return">
780
+
781
+ <li>
782
+
783
+
784
+ <span class='type'>(<tt>Boolean</tt>)</span>
785
+
786
+
787
+
788
+ </li>
789
+
790
+ </ul>
791
+
792
+ </div><table class="source_code">
793
+ <tr>
794
+ <td>
795
+ <pre class="lines">
796
+
797
+
798
+ 192</pre>
799
+ </td>
800
+ <td>
801
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 192</span>
802
+
803
+ <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>
804
+ </td>
805
+ </tr>
806
+ </table>
807
+ </div>
808
+
809
+ <div class="method_details ">
810
+ <h3 class="signature " id="copyable?-instance_method">
811
+
812
+ #<strong>copyable?</strong> &#x21d2; <tt>Boolean</tt>
813
+
814
+
815
+
816
+
817
+
818
+ </h3><div class="docstring">
819
+ <div class="discussion">
820
+
821
+
822
+ </div>
823
+ </div>
824
+ <div class="tags">
825
+
826
+ <p class="tag_title">Returns:</p>
827
+ <ul class="return">
828
+
829
+ <li>
830
+
831
+
832
+ <span class='type'>(<tt>Boolean</tt>)</span>
833
+
834
+
835
+
836
+ </li>
837
+
838
+ </ul>
839
+
840
+ </div><table class="source_code">
841
+ <tr>
842
+ <td>
843
+ <pre class="lines">
844
+
845
+
846
+ 190</pre>
847
+ </td>
848
+ <td>
849
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 190</span>
850
+
851
+ <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>
852
+ </td>
853
+ </tr>
854
+ </table>
855
+ </div>
856
+
857
+ <div class="method_details ">
858
+ <h3 class="signature " id="entities-instance_method">
859
+
860
+ #<strong>entities</strong> &#x21d2; <tt>Object</tt>
861
+
862
+
863
+
864
+
865
+
866
+ </h3><table class="source_code">
867
+ <tr>
868
+ <td>
869
+ <pre class="lines">
870
+
871
+
872
+ 179</pre>
873
+ </td>
874
+ <td>
875
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 179</span>
876
+
877
+ <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_key'>key</span> <span class='kw'>end</span></pre>
878
+ </td>
879
+ </tr>
880
+ </table>
881
+ </div>
882
+
883
+ <div class="method_details ">
884
+ <h3 class="signature " id="hash-instance_method">
885
+
886
+ #<strong>hash</strong> &#x21d2; <tt>Object</tt>
887
+
888
+
889
+
890
+
891
+
892
+ </h3><table class="source_code">
893
+ <tr>
894
+ <td>
895
+ <pre class="lines">
896
+
897
+
898
+ 173</pre>
899
+ </td>
900
+ <td>
901
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 173</span>
902
+
903
+ <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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span> <span class='kw'>end</span></pre>
904
+ </td>
905
+ </tr>
906
+ </table>
907
+ </div>
908
+
909
+ <div class="method_details ">
910
+ <h3 class="signature " id="hashable?-instance_method">
911
+
912
+ #<strong>hashable?</strong> &#x21d2; <tt>Boolean</tt>
913
+
914
+
915
+
916
+
917
+
918
+ </h3><div class="docstring">
919
+ <div class="discussion">
920
+
921
+
922
+ </div>
923
+ </div>
924
+ <div class="tags">
925
+
926
+ <p class="tag_title">Returns:</p>
927
+ <ul class="return">
928
+
929
+ <li>
930
+
931
+
932
+ <span class='type'>(<tt>Boolean</tt>)</span>
933
+
934
+
935
+
936
+ </li>
937
+
938
+ </ul>
939
+
940
+ </div><table class="source_code">
941
+ <tr>
942
+ <td>
943
+ <pre class="lines">
944
+
945
+
946
+ 194</pre>
947
+ </td>
948
+ <td>
949
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 194</span>
950
+
951
+ <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>
952
+ </td>
953
+ </tr>
954
+ </table>
955
+ </div>
956
+
957
+ <div class="method_details ">
958
+ <h3 class="signature " id="write_impls-instance_method">
959
+
960
+ #<strong>write_impls</strong>(stream, define) &#x21d2; <tt>Object</tt>
961
+
962
+
963
+
964
+
965
+
966
+ </h3><table class="source_code">
967
+ <tr>
968
+ <td>
969
+ <pre class="lines">
970
+
971
+
972
+ 231
973
+ 232
974
+ 233
975
+ 234
976
+ 235
977
+ 236
978
+ 237
979
+ 238
980
+ 239
981
+ 240
982
+ 241
983
+ 242
984
+ 243
985
+ 244
986
+ 245
987
+ 246
988
+ 247
989
+ 248
990
+ 249
991
+ 250
992
+ 251
993
+ 252
994
+ 253
995
+ 254
996
+ 255
997
+ 256
998
+ 257
999
+ 258
1000
+ 259
1001
+ 260
1002
+ 261
1003
+ 262
1004
+ 263
1005
+ 264
1006
+ 265
1007
+ 266
1008
+ 267
1009
+ 268
1010
+ 269
1011
+ 270
1012
+ 271
1013
+ 272
1014
+ 273
1015
+ 274
1016
+ 275
1017
+ 276
1018
+ 277
1019
+ 278
1020
+ 279
1021
+ 280
1022
+ 281
1023
+ 282
1024
+ 283
1025
+ 284
1026
+ 285
1027
+ 286
1028
+ 287
1029
+ 288
1030
+ 289
1031
+ 290
1032
+ 291
1033
+ 292
1034
+ 293
1035
+ 294
1036
+ 295
1037
+ 296
1038
+ 297
1039
+ 298
1040
+ 299
1041
+ 300
1042
+ 301
1043
+ 302
1044
+ 303
1045
+ 304
1046
+ 305
1047
+ 306
1048
+ 307
1049
+ 308
1050
+ 309
1051
+ 310
1052
+ 311
1053
+ 312
1054
+ 313
1055
+ 314
1056
+ 315
1057
+ 316
1058
+ 317
1059
+ 318
1060
+ 319
1061
+ 320
1062
+ 321
1063
+ 322
1064
+ 323
1065
+ 324
1066
+ 325
1067
+ 326
1068
+ 327
1069
+ 328
1070
+ 329
1071
+ 330
1072
+ 331
1073
+ 332
1074
+ 333
1075
+ 334
1076
+ 335
1077
+ 336
1078
+ 337
1079
+ 338
1080
+ 339
1081
+ 340
1082
+ 341
1083
+ 342
1084
+ 343
1085
+ 344
1086
+ 345
1087
+ 346
1088
+ 347
1089
+ 348
1090
+ 349
1091
+ 350
1092
+ 351
1093
+ 352
1094
+ 353
1095
+ 354
1096
+ 355
1097
+ 356
1098
+ 357
1099
+ 358
1100
+ 359
1101
+ 360
1102
+ 361
1103
+ 362
1104
+ 363
1105
+ 364
1106
+ 365
1107
+ 366
1108
+ 367
1109
+ 368
1110
+ 369
1111
+ 370
1112
+ 371
1113
+ 372
1114
+ 373
1115
+ 374
1116
+ 375
1117
+ 376
1118
+ 377
1119
+ 378
1120
+ 379
1121
+ 380
1122
+ 381
1123
+ 382
1124
+ 383
1125
+ 384
1126
+ 385
1127
+ 386
1128
+ 387
1129
+ 388
1130
+ 389
1131
+ 390
1132
+ 391
1133
+ 392
1134
+ 393
1135
+ 394
1136
+ 395
1137
+ 396
1138
+ 397
1139
+ 398
1140
+ 399
1141
+ 400
1142
+ 401
1143
+ 402
1144
+ 403
1145
+ 404
1146
+ 405
1147
+ 406
1148
+ 407
1149
+ 408
1150
+ 409
1151
+ 410
1152
+ 411
1153
+ 412
1154
+ 413
1155
+ 414
1156
+ 415
1157
+ 416
1158
+ 417
1159
+ 418
1160
+ 419
1161
+ 420
1162
+ 421
1163
+ 422
1164
+ 423
1165
+ 424
1166
+ 425
1167
+ 426
1168
+ 427
1169
+ 428
1170
+ 429
1171
+ 430
1172
+ 431
1173
+ 432
1174
+ 433
1175
+ 434
1176
+ 435
1177
+ 436
1178
+ 437
1179
+ 438
1180
+ 439
1181
+ 440
1182
+ 441
1183
+ 442
1184
+ 443
1185
+ 444
1186
+ 445
1187
+ 446
1188
+ 447
1189
+ 448
1190
+ 449
1191
+ 450
1192
+ 451
1193
+ 452
1194
+ 453
1195
+ 454
1196
+ 455
1197
+ 456
1198
+ 457
1199
+ 458
1200
+ 459</pre>
1201
+ </td>
1202
+ <td>
1203
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 231</span>
1204
+
1205
+ <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>
1206
+ <span class='kw'>super</span>
1207
+ <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'>
1208
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> 1
1209
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'> 2
1210
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedValue'>ownedValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> 4
1211
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedKey'>ownedKey</span><span class='embexpr_end'>}</span><span class='tstring_content'> 8
1212
+ static </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</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_entryKeyOnlyRef'>entryKeyOnlyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> key) {
1213
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1214
+ entry.key = *key;
1215
+ entry.flags = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1216
+ return entry;
1217
+ }
1218
+ static </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</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_entryKeyValueRef'>entryKeyValueRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> key, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> value) {
1219
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1220
+ entry.key = *key;
1221
+ entry.value = *value;
1222
+ entry.flags = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'> | </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1223
+ return entry;
1224
+ }
1225
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryEqual'>entryEqual</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt, rt) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryEqualRef'>entryEqualRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;lt, &amp;rt)
1226
+ static int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryEqualRef'>entryEqualRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</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='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* rt) {
1227
+ return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_equal'>equal</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>lt-&gt;key</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'>rt-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1228
+ }
1229
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryLess'>entryLess</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt, rt) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryLessRef'>entryLessRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;lt, &amp;rt)
1230
+ static int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryLessRef'>entryLessRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</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='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* rt) {
1231
+ return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_less'>less</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>lt-&gt;key</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'>rt-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1232
+ }
1233
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryIdentify'>entryIdentify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(obj) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryIdentifyRef'>entryIdentifyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;obj)
1234
+ static size_t </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryIdentifyRef'>entryIdentifyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* entry) {
1235
+ return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_identify'>identify</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1236
+ }
1237
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryCopy'>entryCopy</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst, src) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryCopyRef'>entryCopyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;dst, &amp;src)
1238
+ static void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryCopyRef'>entryCopyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> dst, </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> src) {
1239
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1240
+ dst-&gt;flags = (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'> | </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedKey'>ownedKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1241
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</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'>dst-&gt;key</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'>src-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1242
+ if(src-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>) {
1243
+ dst-&gt;flags |= (</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> | </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedValue'>ownedValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1244
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</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'>dst-&gt;value</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'>src-&gt;value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1245
+ }
1246
+ }
1247
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryDtor'>entryDtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(obj) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryDtorRef'>entryDtorRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;obj)
1248
+ static void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryDtorRef'>entryDtorRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* entry) {
1249
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(entry-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validKey'>validKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1250
+ if(entry-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedKey'>ownedKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1251
+ if(entry-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> &amp;&amp; entry-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ownedValue'>ownedValue</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_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry-&gt;value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1252
+ }
1253
+ static </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</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_itGetEntryRef'>itGetEntryRef</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'>);
1254
+ static int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsAllOf'>containsAllOf</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_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> other) {
1255
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> it;
1256
+ </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, self);
1257
+ 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)) {
1258
+ int found = 0;
1259
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* e = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it);
1260
+ if(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsKey'>containsKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(other, e-&gt;key)) {
1261
+ </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'> other_value = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_get'>get</span><span class='embexpr_end'>}</span><span class='tstring_content'>(other, e-&gt;key);
1262
+ found = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_equal'>equal</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>e-&gt;value</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'>other_value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1263
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>other_value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1264
+ }
1265
+ if(!found) return 0;
1266
+ }
1267
+ return 1;
1268
+ }
1269
+ </span><span class='tstring_end'>$</span></span>
1270
+ <span class='ivar'>@set</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>
1271
+ <span class='ivar'>@set</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>
1272
+ <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'>
1273
+ </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'> {
1274
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1275
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_ctor'>ctor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1276
+ }
1277
+ </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_dtor'>dtor</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1278
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1279
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1280
+ }
1281
+ static int </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_putEntryRef'>putEntryRef</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='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry) {
1282
+ int absent;
1283
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1284
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(entry);
1285
+ 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);
1286
+ 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);
1287
+ return absent;
1288
+ }
1289
+ </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'> {
1290
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> it;
1291
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(src);
1292
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst);
1293
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_ctor'>ctor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst);
1294
+ </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);
1295
+ 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)) {
1296
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>* e = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;it);
1297
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_putEntryRef'>putEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(dst, e);
1298
+ }
1299
+ }
1300
+ </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'> {
1301
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt);
1302
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(rt);
1303
+ return </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt) == </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(rt) &amp;&amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsAllOf'>containsAllOf</span><span class='embexpr_end'>}</span><span class='tstring_content'>(lt, rt) &amp;&amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsAllOf'>containsAllOf</span><span class='embexpr_end'>}</span><span class='tstring_content'>(rt, lt);
1304
+ }
1305
+ </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_identify'>identify</span><span class='period'>.</span><span class='id identifier rubyid_definition'>definition</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1306
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1307
+ return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_identify'>identify</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries); /* TODO : make use of the values&#39; hashes */
1308
+ }
1309
+ </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_purge'>purge</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) {
1310
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1311
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_purge'>purge</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1312
+ }
1313
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_define'>define</span><span class='embexpr_end'>}</span><span class='tstring_content'> size_t </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_size'>size</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) {
1314
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1315
+ return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1316
+ }
1317
+ </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_containsKey'>containsKey</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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key) {
1318
+ int result;
1319
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1320
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1321
+ result = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_contains'>contains</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyOnlyRef'>entryKeyOnlyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key));
1322
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1323
+ return result;
1324
+ }
1325
+ </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_value'>value</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_get'>get</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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key) {
1326
+ </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'> result;
1327
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry, existing_entry;
1328
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1329
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_containsKey'>containsKey</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, key));
1330
+ existing_entry = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_get'>get</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyOnlyRef'>entryKeyOnlyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key));
1331
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</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'>existing_entry.value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1332
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>existing_entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1333
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1334
+ return result;
1335
+ }
1336
+ </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_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_peekLowestKey'>peekLowestKey</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) {
1337
+ </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'> result;
1338
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_content'>* node;
1339
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1340
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(!</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_empty'>empty</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self));
1341
+ node = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_lowestNode'>lowestNode</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1342
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(node);
1343
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</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'>node-&gt;element.key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1344
+ return result;
1345
+ }
1346
+ </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_value'>value</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_peekLowestElement'>peekLowestElement</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) {
1347
+ </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'> result;
1348
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_content'>* node;
1349
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1350
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(!</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_empty'>empty</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self));
1351
+ node = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_lowestNode'>lowestNode</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1352
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(node);
1353
+ </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'>node-&gt;element.value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1354
+ return result;
1355
+ }
1356
+ </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_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_peekHighestKey'>peekHighestKey</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) {
1357
+ </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'> result;
1358
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_content'>* node;
1359
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1360
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(!</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_empty'>empty</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self));
1361
+ node = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_highestNode'>highestNode</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1362
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(node);
1363
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</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'>node-&gt;element.key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1364
+ return result;
1365
+ }
1366
+ </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_value'>value</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_peekHighestElement'>peekHighestElement</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) {
1367
+ </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'> result;
1368
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_node'>node</span><span class='embexpr_end'>}</span><span class='tstring_content'>* node;
1369
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1370
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(!</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_empty'>empty</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self));
1371
+ node = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_highestNode'>highestNode</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries);
1372
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(node);
1373
+ </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'>node-&gt;element.value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1374
+ return result;
1375
+ }
1376
+ </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_put'>put</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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key, </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'> value) {
1377
+ int result;
1378
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1379
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1380
+ entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyValueRef'>entryKeyValueRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key, &amp;value);
1381
+ result = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_putEntryRef'>putEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, &amp;entry);
1382
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1383
+ return result;
1384
+ }
1385
+ </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_replace'>replace</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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key, </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'> value) {
1386
+ int result;
1387
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1388
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1389
+ entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyValueRef'>entryKeyValueRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key, &amp;value);
1390
+ result = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_replace'>replace</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, entry);
1391
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1392
+ return result;
1393
+ }
1394
+ </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_remove'>remove</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_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> key) {
1395
+ int result;
1396
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entry;
1397
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1398
+ result = </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_remove'>remove</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;entries, entry = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_entryKeyOnlyRef'>entryKeyOnlyRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;key));
1399
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_dtor'>dtor</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>entry</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1400
+ return result;
1401
+ }
1402
+ </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_itCtorEx'>itCtorEx</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'> map, int ascending) {
1403
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1404
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(map);
1405
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_itCtorEx'>itCtorEx</span><span class='embexpr_end'>}</span><span class='tstring_content'>(&amp;self-&gt;it, &amp;map-&gt;entries, ascending);
1406
+ }
1407
+ </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) {
1408
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1409
+ return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</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);
1410
+ }
1411
+ </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_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_itGetKey'>itGetKey</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) {
1412
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> e;
1413
+ </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'> key;
1414
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1415
+ e = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1416
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_key'>key</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'>key</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'>e-&gt;key</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1417
+ return key;
1418
+ }
1419
+ </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_value'>value</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_itGetElement'>itGetElement</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) {
1420
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type_ref'>type_ref</span><span class='embexpr_end'>}</span><span class='tstring_content'> e;
1421
+ </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'> value;
1422
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1423
+ e = </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itGetEntryRef'>itGetEntryRef</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1424
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(e-&gt;flags &amp; </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'>);
1425
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</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'>value</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'>e-&gt;value</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1426
+ return value;
1427
+ }
1428
+ static </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</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_itGetEntryRef'>itGetEntryRef</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) {
1429
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_assert'>assert</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self);
1430
+ return </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</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);
1431
+ }
1432
+ </span><span class='tstring_end'>$</span></span>
1433
+ <span class='kw'>end</span></pre>
1434
+ </td>
1435
+ </tr>
1436
+ </table>
1437
+ </div>
1438
+
1439
+ <div class="method_details ">
1440
+ <h3 class="signature " id="write_intf_decls-instance_method">
1441
+
1442
+ #<strong>write_intf_decls</strong>(stream, declare, define) &#x21d2; <tt>Object</tt>
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+ </h3><table class="source_code">
1449
+ <tr>
1450
+ <td>
1451
+ <pre class="lines">
1452
+
1453
+
1454
+ 219
1455
+ 220
1456
+ 221
1457
+ 222
1458
+ 223
1459
+ 224
1460
+ 225
1461
+ 226
1462
+ 227
1463
+ 228
1464
+ 229</pre>
1465
+ </td>
1466
+ <td>
1467
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 219</span>
1468
+
1469
+ <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>
1470
+ <span class='kw'>super</span>
1471
+ <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'>
1472
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> </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_peekLowestKey'>peekLowestKey</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'>);
1473
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</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'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_peekLowestElement'>peekLowestElement</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'>);
1474
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> </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_peekHighestKey'>peekHighestKey</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'>);
1475
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</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'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_peekHighestElement'>peekHighestElement</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'>);
1476
+ #define </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtor'>itCtor</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, type) </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtorEx'>itCtorEx</span><span class='embexpr_end'>}</span><span class='tstring_content'>(self, type, 1)
1477
+ </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_declare'>declare</span><span class='embexpr_end'>}</span><span class='tstring_content'> void </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_itCtorEx'>itCtorEx</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'>, </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'>, int);
1478
+ </span><span class='tstring_end'>$</span></span>
1479
+ <span class='kw'>end</span></pre>
1480
+ </td>
1481
+ </tr>
1482
+ </table>
1483
+ </div>
1484
+
1485
+ <div class="method_details ">
1486
+ <h3 class="signature " id="write_intf_types-instance_method">
1487
+
1488
+ #<strong>write_intf_types</strong>(stream) &#x21d2; <tt>Object</tt>
1489
+
1490
+
1491
+
1492
+
1493
+
1494
+ </h3><table class="source_code">
1495
+ <tr>
1496
+ <td>
1497
+ <pre class="lines">
1498
+
1499
+
1500
+ 196
1501
+ 197
1502
+ 198
1503
+ 199
1504
+ 200
1505
+ 201
1506
+ 202
1507
+ 203
1508
+ 204
1509
+ 205
1510
+ 206
1511
+ 207
1512
+ 208
1513
+ 209
1514
+ 210
1515
+ 211
1516
+ 212
1517
+ 213
1518
+ 214
1519
+ 215
1520
+ 216
1521
+ 217</pre>
1522
+ </td>
1523
+ <td>
1524
+ <pre class="code"><span class="info file"># File 'lib/autoc/collection/tree_map.rb', line 196</span>
1525
+
1526
+ <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>
1527
+ <span class='kw'>super</span>
1528
+ <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'>
1529
+ typedef struct </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</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='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1530
+ struct </span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1531
+ </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'> key;
1532
+ </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'> value;
1533
+ unsigned flags;
1534
+ };
1535
+ </span><span class='tstring_end'>$</span></span>
1536
+ <span class='ivar'>@set</span><span class='period'>.</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>
1537
+ <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'>
1538
+ typedef struct </span><span class='embexpr_beg'>#{</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_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1539
+ typedef struct </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='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
1540
+ struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1541
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'> entries;
1542
+ };
1543
+ struct </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> {
1544
+ </span><span class='embexpr_beg'>#{</span><span class='ivar'>@set</span><span class='period'>.</span><span class='id identifier rubyid_it'>it</span><span class='embexpr_end'>}</span><span class='tstring_content'> it;
1545
+ };
1546
+ </span><span class='tstring_end'>$</span></span>
1547
+ <span class='kw'>end</span></pre>
1548
+ </td>
1549
+ </tr>
1550
+ </table>
1551
+ </div>
1552
+
1553
+ </div>
1554
+
1555
+ </div>
1556
+
1557
+ <div id="footer">
1558
+ Generated on Wed Oct 12 12:27:12 2016 by
1559
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1560
+ 0.9.5 (ruby-2.3.1).
1561
+ </div>
1562
+
1563
+ </div>
1564
+ </body>
1565
+ </html>