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.
- checksums.yaml +4 -4
- data/CHANGES +4 -0
- data/doc/AutoC.html +55 -55
- data/doc/AutoC/Code.html +60 -57
- data/doc/AutoC/Collection.html +134 -124
- data/doc/AutoC/HashMap.html +147 -185
- data/doc/AutoC/HashSet.html +114 -325
- data/doc/AutoC/Iterators.html +126 -0
- data/doc/AutoC/Iterators/Bidirectional.html +204 -0
- data/doc/AutoC/Iterators/Unidirectional.html +200 -0
- data/doc/AutoC/List.html +81 -76
- data/doc/AutoC/Maps.html +290 -0
- data/doc/AutoC/Module.html +72 -69
- data/doc/AutoC/Module/File.html +55 -52
- data/doc/AutoC/Module/Header.html +55 -52
- data/doc/AutoC/Module/Source.html +63 -60
- data/doc/AutoC/Priority.html +57 -57
- data/doc/AutoC/Queue.html +75 -74
- data/doc/AutoC/Reference.html +92 -91
- data/doc/AutoC/Sets.html +520 -0
- data/doc/AutoC/String.html +70 -69
- data/doc/AutoC/TreeMap.html +1565 -0
- data/doc/AutoC/TreeSet.html +1447 -0
- data/doc/AutoC/Type.html +184 -110
- data/doc/AutoC/UserDefinedType.html +102 -102
- data/doc/AutoC/Vector.html +100 -91
- data/doc/_index.html +97 -33
- data/doc/class_list.html +24 -31
- data/doc/css/full_list.css +32 -31
- data/doc/css/style.css +220 -78
- data/doc/file.CHANGES.html +37 -30
- data/doc/file.README.html +29 -30
- data/doc/file_list.html +29 -31
- data/doc/frames.html +7 -16
- data/doc/index.html +29 -30
- data/doc/js/app.js +100 -76
- data/doc/js/full_list.js +170 -135
- data/doc/method_list.html +877 -431
- data/doc/top-level-namespace.html +35 -35
- data/lib/autoc.rb +4 -2
- data/lib/autoc/collection.rb +10 -4
- data/lib/autoc/collection/hash_map.rb +22 -41
- data/lib/autoc/collection/hash_set.rb +13 -120
- data/lib/autoc/collection/iterator.rb +39 -0
- data/lib/autoc/collection/list.rb +7 -5
- data/lib/autoc/collection/map.rb +41 -0
- data/lib/autoc/collection/queue.rb +8 -8
- data/lib/autoc/collection/set.rb +134 -0
- data/lib/autoc/collection/tree_map.rb +464 -0
- data/lib/autoc/collection/tree_set.rb +611 -0
- data/lib/autoc/collection/vector.rb +8 -4
- data/lib/autoc/string.rb +1 -1
- data/lib/autoc/type.rb +3 -0
- data/test/test.rb +2 -2
- data/test/test_auto.c +7141 -0
- data/test/test_auto.h +753 -0
- data/test/test_int_tree_set.rb +111 -0
- data/test/test_value_hash_map.rb +1 -1
- data/test/test_value_hash_set.rb +1 -1
- data/test/test_value_tree_map.rb +176 -0
- data/test/test_value_tree_set.rb +173 -0
- metadata +21 -5
data/doc/AutoC/String.html
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
<!DOCTYPE html
|
2
|
-
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
4
3
|
<head>
|
5
|
-
<meta
|
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
|
-
— Documentation by YARD 0.
|
9
|
+
— 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
|
-
|
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
|
32
|
-
<
|
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> »
|
35
40
|
<span class='title'><span class='object_link'><a href="../AutoC.html" title="AutoC (module)">AutoC</a></span></span>
|
36
41
|
»
|
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
|
-
|
46
|
+
<div id="search">
|
44
47
|
|
45
48
|
<a class="full_list_link" id="class_list_link"
|
46
49
|
href="../class_list.html">
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
-
|
62
|
-
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
63
61
|
|
64
|
-
|
62
|
+
<iframe id="search_frame" src="../class_list.html"></iframe>
|
65
63
|
|
66
|
-
|
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
|
-
|
75
|
-
<
|
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
|
-
|
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
|
-
|
105
|
-
<
|
106
|
+
<dl>
|
107
|
+
<dt>Defined in:</dt>
|
108
|
+
<dd>lib/autoc/string.rb</dd>
|
109
|
+
</dl>
|
106
110
|
|
107
|
-
</
|
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
|
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)"
|
323
|
+
<a href="#it_ref-instance_method" title="#it_ref (instance method)">#<strong>it_ref</strong> ⇒ 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
|
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)"
|
370
|
+
<a href="#char_type-instance_method" title="#char_type (instance method)">#<strong>char_type</strong> ⇒ 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)"
|
392
|
+
<a href="#char_type_ref-instance_method" title="#char_type_ref (instance method)">#<strong>char_type_ref</strong> ⇒ 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)"
|
414
|
+
<a href="#constructible%3F-instance_method" title="#constructible? (instance method)">#<strong>constructible?</strong> ⇒ 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)"
|
438
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(type_name = :String, visibility = :public) ⇒ 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)"
|
464
|
+
<a href="#write_impls-instance_method" title="#write_impls (instance method)">#<strong>write_impls</strong>(stream, define) ⇒ 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)"
|
486
|
+
<a href="#write_intf_decls-instance_method" title="#write_intf_decls (instance method)">#<strong>write_intf_decls</strong>(stream, declare, define) ⇒ 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)"
|
508
|
+
<a href="#write_intf_types-instance_method" title="#write_intf_types (instance method)">#<strong>write_intf_types</strong>(stream) ⇒ 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
|
-
|
559
|
+
#<strong>initialize</strong>(type_name = :String, visibility = :public) ⇒ <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
|
-
|
625
|
+
#<strong>it_ref</strong> ⇒ <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
|
-
|
673
|
+
#<strong>char_type</strong> ⇒ <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
|
-
|
699
|
+
#<strong>char_type_ref</strong> ⇒ <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
|
-
|
725
|
+
#<strong>constructible?</strong> ⇒ <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
|
-
|
775
|
+
#<strong>write_impls</strong>(stream, define) ⇒ <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
|
-
|
1131
|
+
#<strong>write_intf_decls</strong>(stream, declare, define) ⇒ <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
|
-
|
1313
|
+
#<strong>write_intf_types</strong>(stream) ⇒ <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'><<</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'><</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'>>
|
1356
|
+
**** </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_char_type'>char_type</span><span class='embexpr_end'>}</span><span class='tstring_content'>>
|
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
|
-
|
1387
|
-
Generated on
|
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.
|
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
|
+
— 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> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../AutoC.html" title="AutoC (module)">AutoC</a></span></span>
|
41
|
+
»
|
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< <strong><em>K</em></strong> ⇒ <strong><em>E</em></strong> > 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’s C++ counterpart is std::map<> 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> ⇒ 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) ⇒ 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> ⇒ 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> ⇒ 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> ⇒ 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> ⇒ 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> ⇒ 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) ⇒ 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) ⇒ 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) ⇒ 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) ⇒ 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) ⇒ <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'>=></span> <span class='id identifier rubyid_entry'>entry</span><span class='comma'>,</span> <span class='symbol'>:identify</span> <span class='op'>=></span> <span class='id identifier rubyid_entryIdentify'>entryIdentify</span><span class='comma'>,</span> <span class='symbol'>:equal</span> <span class='op'>=></span> <span class='id identifier rubyid_entryEqual'>entryEqual</span><span class='comma'>,</span> <span class='symbol'>:less</span> <span class='op'>=></span> <span class='id identifier rubyid_entryLess'>entryLess</span><span class='comma'>,</span> <span class='symbol'>:copy</span> <span class='op'>=></span> <span class='id identifier rubyid_entryCopy'>entryCopy</span><span class='comma'>,</span> <span class='symbol'>:dtor</span> <span class='op'>=></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> ⇒ <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) ⇒ <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'>&&</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> ⇒ <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'>&&</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> ⇒ <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'>&&</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> ⇒ <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'><<</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> ⇒ <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> ⇒ <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'>&&</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) ⇒ <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'><<</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'>(&lt, &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'>"</span><span class='tstring_content'>lt->key</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>rt->key</span><span class='tstring_end'>"</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'>(&lt, &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'>"</span><span class='tstring_content'>lt->key</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>rt->key</span><span class='tstring_end'>"</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'>(&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'>"</span><span class='tstring_content'>entry->key</span><span class='tstring_end'>"</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'>(&dst, &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->flags & </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->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'>"</span><span class='tstring_content'>dst->key</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>src->key</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
1242
|
+
if(src->flags & </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->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'>"</span><span class='tstring_content'>dst->value</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>src->value</span><span class='tstring_end'>"</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'>(&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->flags & </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->flags & </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'>"</span><span class='tstring_content'>entry->key</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>;
|
1251
|
+
if(entry->flags & </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_validValue'>validValue</span><span class='embexpr_end'>}</span><span class='tstring_content'> && entry->flags & </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'>"</span><span class='tstring_content'>entry->value</span><span class='tstring_end'>"</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'>(&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'>(&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'>(&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->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->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'>"</span><span class='tstring_content'>e->value</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>other_value</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>other_value</span><span class='tstring_end'>"</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'><<</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'>(&self->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'>(&self->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->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'>(&self->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'>(&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'>(&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'>(&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) && </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) && </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'>(&self->entries); /* TODO : make use of the values' 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'>(&self->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'>(&self->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'>(&self->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'>(&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'>"</span><span class='tstring_content'>entry</span><span class='tstring_end'>"</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'>(&self->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'>(&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'>"</span><span class='tstring_content'>result</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>existing_entry.value</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>existing_entry</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>entry</span><span class='tstring_end'>"</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'>(&self->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'>"</span><span class='tstring_content'>result</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>node->element.key</span><span class='tstring_end'>"</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'>(&self->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'>"</span><span class='tstring_content'>result</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>node->element.value</span><span class='tstring_end'>"</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'>(&self->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'>"</span><span class='tstring_content'>result</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>node->element.key</span><span class='tstring_end'>"</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'>(&self->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'>"</span><span class='tstring_content'>result</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>node->element.value</span><span class='tstring_end'>"</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'>(&key, &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, &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'>"</span><span class='tstring_content'>entry</span><span class='tstring_end'>"</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'>(&key, &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'>(&self->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'>"</span><span class='tstring_content'>entry</span><span class='tstring_end'>"</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'>(&self->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'>(&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'>"</span><span class='tstring_content'>entry</span><span class='tstring_end'>"</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'>(&self->it, &map->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'>(&self->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'>"</span><span class='tstring_content'>key</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>e->key</span><span class='tstring_end'>"</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->flags & </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'>"</span><span class='tstring_content'>value</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>e->value</span><span class='tstring_end'>"</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'>(&self->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) ⇒ <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'><<</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) ⇒ <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'><<</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'><<</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>
|