autoc 1.3 → 1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +4 -0
  3. data/doc/AutoC.html +55 -55
  4. data/doc/AutoC/Code.html +60 -57
  5. data/doc/AutoC/Collection.html +134 -124
  6. data/doc/AutoC/HashMap.html +147 -185
  7. data/doc/AutoC/HashSet.html +114 -325
  8. data/doc/AutoC/Iterators.html +126 -0
  9. data/doc/AutoC/Iterators/Bidirectional.html +204 -0
  10. data/doc/AutoC/Iterators/Unidirectional.html +200 -0
  11. data/doc/AutoC/List.html +81 -76
  12. data/doc/AutoC/Maps.html +290 -0
  13. data/doc/AutoC/Module.html +72 -69
  14. data/doc/AutoC/Module/File.html +55 -52
  15. data/doc/AutoC/Module/Header.html +55 -52
  16. data/doc/AutoC/Module/Source.html +63 -60
  17. data/doc/AutoC/Priority.html +57 -57
  18. data/doc/AutoC/Queue.html +75 -74
  19. data/doc/AutoC/Reference.html +92 -91
  20. data/doc/AutoC/Sets.html +520 -0
  21. data/doc/AutoC/String.html +70 -69
  22. data/doc/AutoC/TreeMap.html +1565 -0
  23. data/doc/AutoC/TreeSet.html +1447 -0
  24. data/doc/AutoC/Type.html +184 -110
  25. data/doc/AutoC/UserDefinedType.html +102 -102
  26. data/doc/AutoC/Vector.html +100 -91
  27. data/doc/_index.html +97 -33
  28. data/doc/class_list.html +24 -31
  29. data/doc/css/full_list.css +32 -31
  30. data/doc/css/style.css +220 -78
  31. data/doc/file.CHANGES.html +37 -30
  32. data/doc/file.README.html +29 -30
  33. data/doc/file_list.html +29 -31
  34. data/doc/frames.html +7 -16
  35. data/doc/index.html +29 -30
  36. data/doc/js/app.js +100 -76
  37. data/doc/js/full_list.js +170 -135
  38. data/doc/method_list.html +877 -431
  39. data/doc/top-level-namespace.html +35 -35
  40. data/lib/autoc.rb +4 -2
  41. data/lib/autoc/collection.rb +10 -4
  42. data/lib/autoc/collection/hash_map.rb +22 -41
  43. data/lib/autoc/collection/hash_set.rb +13 -120
  44. data/lib/autoc/collection/iterator.rb +39 -0
  45. data/lib/autoc/collection/list.rb +7 -5
  46. data/lib/autoc/collection/map.rb +41 -0
  47. data/lib/autoc/collection/queue.rb +8 -8
  48. data/lib/autoc/collection/set.rb +134 -0
  49. data/lib/autoc/collection/tree_map.rb +464 -0
  50. data/lib/autoc/collection/tree_set.rb +611 -0
  51. data/lib/autoc/collection/vector.rb +8 -4
  52. data/lib/autoc/string.rb +1 -1
  53. data/lib/autoc/type.rb +3 -0
  54. data/test/test.rb +2 -2
  55. data/test/test_auto.c +7141 -0
  56. data/test/test_auto.h +753 -0
  57. data/test/test_int_tree_set.rb +111 -0
  58. data/test/test_value_hash_map.rb +1 -1
  59. data/test/test_value_hash_set.rb +1 -1
  60. data/test/test_value_tree_map.rb +176 -0
  61. data/test/test_value_tree_set.rb +173 -0
  62. metadata +21 -5
@@ -1,12 +1,12 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
1
+ <!DOCTYPE html>
2
+ <html>
4
3
  <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>
7
7
  File: CHANGES
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.6
9
+ &mdash; Documentation by YARD 0.9.5
10
10
 
11
11
  </title>
12
12
 
@@ -15,9 +15,8 @@
15
15
  <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
18
+ pathId = "CHANGES";
19
19
  relpath = '';
20
- framesUrl = "frames.html#!file.CHANGES.html";
21
20
  </script>
22
21
 
23
22
 
@@ -28,40 +27,47 @@
28
27
 
29
28
  </head>
30
29
  <body>
31
- <div id="header">
32
- <div id="menu">
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="file_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</a> &raquo;
35
40
  <span class="title">File: CHANGES</span>
36
41
 
37
-
38
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
42
  </div>
40
43
 
41
- <div id="search">
44
+ <div id="search">
42
45
 
43
46
  <a class="full_list_link" id="class_list_link"
44
47
  href="class_list.html">
45
- Class List
46
- </a>
47
-
48
- <a class="full_list_link" id="method_list_link"
49
- href="method_list.html">
50
- Method List
51
- </a>
52
-
53
- <a class="full_list_link" id="file_list_link"
54
- href="file_list.html">
55
- File List
48
+
49
+ <svg width="24" height="24">
50
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
+ </svg>
56
54
  </a>
57
55
 
58
56
  </div>
59
- <div class="clear"></div>
60
- </div>
57
+ <div class="clear"></div>
58
+ </div>
61
59
 
62
- <iframe id="search_frame"></iframe>
60
+ <iframe id="search_frame" src="file_list.html"></iframe>
63
61
 
64
- <div id="content"><div id='filecontents'><div class="sect1">
62
+ <div id="content"><div id='filecontents'><div class="sect1">
63
+ <h2 id="_1_4">1.4</h2>
64
+ <div class="sectionbody">
65
+ <div class="paragraph">
66
+ <p>Introduced AutoC::TreeSet and AutoC::TreeMap binary tree based containers.</p>
67
+ </div>
68
+ </div>
69
+ </div>
70
+ <div class="sect1">
65
71
  <h2 id="_1_3">1.3</h2>
66
72
  <div class="sectionbody">
67
73
  <div class="paragraph">
@@ -100,11 +106,12 @@
100
106
  </div>
101
107
  </div></div></div>
102
108
 
103
- <div id="footer">
104
- Generated on Thu Mar 17 13:32:50 2016 by
109
+ <div id="footer">
110
+ Generated on Wed Oct 12 12:27:11 2016 by
105
111
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
106
- 0.8.7.6 (ruby-2.2.4).
112
+ 0.9.5 (ruby-2.3.1).
107
113
  </div>
108
114
 
115
+ </div>
109
116
  </body>
110
117
  </html>
@@ -1,12 +1,12 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
1
+ <!DOCTYPE html>
2
+ <html>
4
3
  <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.6
9
+ &mdash; Documentation by YARD 0.9.5
10
10
 
11
11
  </title>
12
12
 
@@ -15,9 +15,8 @@
15
15
  <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
18
+ pathId = "README";
19
19
  relpath = '';
20
- framesUrl = "frames.html#!file.README.html";
21
20
  </script>
22
21
 
23
22
 
@@ -28,40 +27,39 @@
28
27
 
29
28
  </head>
30
29
  <body>
31
- <div id="header">
32
- <div id="menu">
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="file_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</a> &raquo;
35
40
  <span class="title">File: README</span>
36
41
 
37
-
38
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
42
  </div>
40
43
 
41
- <div id="search">
44
+ <div id="search">
42
45
 
43
46
  <a class="full_list_link" id="class_list_link"
44
47
  href="class_list.html">
45
- Class List
46
- </a>
47
-
48
- <a class="full_list_link" id="method_list_link"
49
- href="method_list.html">
50
- Method List
51
- </a>
52
-
53
- <a class="full_list_link" id="file_list_link"
54
- href="file_list.html">
55
- File List
48
+
49
+ <svg width="24" height="24">
50
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
+ </svg>
56
54
  </a>
57
55
 
58
56
  </div>
59
- <div class="clear"></div>
60
- </div>
57
+ <div class="clear"></div>
58
+ </div>
61
59
 
62
- <iframe id="search_frame"></iframe>
60
+ <iframe id="search_frame" src="file_list.html"></iframe>
63
61
 
64
- <div id="content"><div id='filecontents'><div class="sect1">
62
+ <div id="content"><div id='filecontents'><div class="sect1">
65
63
  <h2 id="_autoc_a_collection_of_ruby_modules_related_to_automatic_c_source_code_generation">AutoC - a collection of Ruby modules related to automatic C source code generation.</h2>
66
64
  <div class="sectionbody">
67
65
  <div class="paragraph">
@@ -107,11 +105,12 @@
107
105
  </div>
108
106
  </div></div></div>
109
107
 
110
- <div id="footer">
111
- Generated on Thu Mar 17 13:32:50 2016 by
108
+ <div id="footer">
109
+ Generated on Wed Oct 12 12:27:11 2016 by
112
110
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
113
- 0.8.7.6 (ruby-2.2.4).
111
+ 0.9.5 (ruby-2.3.1).
114
112
  </div>
115
113
 
114
+ </div>
116
115
  </body>
117
116
  </html>
@@ -1,8 +1,8 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
1
+ <!DOCTYPE html>
3
2
  <html>
4
3
  <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
+ <meta charset="utf-8" />
6
6
 
7
7
  <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
8
8
 
@@ -19,44 +19,42 @@
19
19
  <base id="base_target" target="_parent" />
20
20
  </head>
21
21
  <body>
22
- <script type="text/javascript" charset="utf-8">
23
- var hasFrames = false;
24
- try {
25
- hasFrames = window.top.frames.main ? true : false;
26
- } catch (e) { }
27
- if (hasFrames) {
28
- document.getElementById('base_target').target = 'main';
29
- document.body.className = 'frames';
30
- }
31
- </script>
32
22
  <div id="content">
33
- <h1 id="full_list_header">File List</h1>
34
- <div id="nav">
35
-
36
- <span><a target="_self" href="class_list.html">
37
- Classes
38
- </a></span>
39
-
40
- <span><a target="_self" href="method_list.html">
41
- Methods
42
- </a></span>
43
-
44
- <span><a target="_self" href="file_list.html">
45
- Files
46
- </a></span>
47
-
23
+ <div class="fixed_header">
24
+ <h1 id="full_list_header">File List</h1>
25
+ <div id="full_list_nav">
26
+
27
+ <span><a target="_self" href="class_list.html">
28
+ Classes
29
+ </a></span>
30
+
31
+ <span><a target="_self" href="method_list.html">
32
+ Methods
33
+ </a></span>
34
+
35
+ <span><a target="_self" href="file_list.html">
36
+ Files
37
+ </a></span>
38
+
39
+ </div>
40
+
41
+ <div id="search">Search: <input type="text" /></div>
48
42
  </div>
49
- <div id="search">Search: <input type="text" /></div>
50
43
 
51
44
  <ul id="full_list" class="file">
52
45
 
53
46
 
54
- <li class="r1"><span class="object_link"><a href="index.html" title="README">README</a></a></li>
47
+ <li id="object_README" class="odd">
48
+ <div class="item"><span class="object_link"><a href="index.html" title="README">README</a></span></div>
49
+ </li>
55
50
 
56
51
 
57
- <li class="r2"><span class="object_link"><a href="file.CHANGES.html" title="CHANGES">CHANGES</a></a></li>
52
+ <li id="object_CHANGES" class="even">
53
+ <div class="item"><span class="object_link"><a href="file.CHANGES.html" title="CHANGES">CHANGES</a></span></div>
54
+ </li>
58
55
 
59
56
 
57
+
60
58
  </ul>
61
59
  </div>
62
60
  </body>
@@ -1,26 +1,17 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
3
-
4
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
1
+ <!DOCTYPE html>
2
+ <html>
5
3
  <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
7
- <title>Documentation by YARD 0.8.7.6</title>
4
+ <meta charset="utf-8">
5
+ <title>Documentation by YARD 0.9.5</title>
8
6
  </head>
9
7
  <script type="text/javascript" charset="utf-8">
10
- window.onload = function() {
11
8
  var match = unescape(window.location.hash).match(/^#!(.+)/);
12
9
  var name = match ? match[1] : 'index.html';
13
10
  name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
14
- document.writeln('<frameset cols="20%,*">' +
15
- '<frame name="list" src="class_list.html" />' +
16
- '<frame name="main" src="' + escape(name) + '" />' +
17
- '</frameset>');
18
- }
11
+ window.top.location = name;
19
12
  </script>
20
13
  <noscript>
21
- <frameset cols="20%,*">
22
- <frame name="list" src="class_list.html" />
23
- <frame name="main" src="index.html" />
24
- </frameset>
14
+ <h1>Oops!</h1>
15
+ <h2>YARD requires JavaScript!</h2>
25
16
  </noscript>
26
17
  </html>
@@ -1,12 +1,12 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
1
+ <!DOCTYPE html>
2
+ <html>
4
3
  <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.6
9
+ &mdash; Documentation by YARD 0.9.5
10
10
 
11
11
  </title>
12
12
 
@@ -15,9 +15,8 @@
15
15
  <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
- hasFrames = window.top.frames.main ? true : false;
18
+ pathId = "README";
19
19
  relpath = '';
20
- framesUrl = "frames.html#!file.README.html";
21
20
  </script>
22
21
 
23
22
 
@@ -28,40 +27,39 @@
28
27
 
29
28
  </head>
30
29
  <body>
31
- <div id="header">
32
- <div id="menu">
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
33
38
 
34
39
  <a href="_index.html">Index</a> &raquo;
35
40
  <span class="title">File: README</span>
36
41
 
37
-
38
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
39
42
  </div>
40
43
 
41
- <div id="search">
44
+ <div id="search">
42
45
 
43
46
  <a class="full_list_link" id="class_list_link"
44
47
  href="class_list.html">
45
- Class List
46
- </a>
47
-
48
- <a class="full_list_link" id="method_list_link"
49
- href="method_list.html">
50
- Method List
51
- </a>
52
-
53
- <a class="full_list_link" id="file_list_link"
54
- href="file_list.html">
55
- File List
48
+
49
+ <svg width="24" height="24">
50
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
+ </svg>
56
54
  </a>
57
55
 
58
56
  </div>
59
- <div class="clear"></div>
60
- </div>
57
+ <div class="clear"></div>
58
+ </div>
61
59
 
62
- <iframe id="search_frame"></iframe>
60
+ <iframe id="search_frame" src="class_list.html"></iframe>
63
61
 
64
- <div id="content"><div id='filecontents'><div class="sect1">
62
+ <div id="content"><div id='filecontents'><div class="sect1">
65
63
  <h2 id="_autoc_a_collection_of_ruby_modules_related_to_automatic_c_source_code_generation">AutoC - a collection of Ruby modules related to automatic C source code generation.</h2>
66
64
  <div class="sectionbody">
67
65
  <div class="paragraph">
@@ -107,11 +105,12 @@
107
105
  </div>
108
106
  </div></div></div>
109
107
 
110
- <div id="footer">
111
- Generated on Thu Mar 17 13:32:50 2016 by
108
+ <div id="footer">
109
+ Generated on Wed Oct 12 12:27:11 2016 by
112
110
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
113
- 0.8.7.6 (ruby-2.2.4).
111
+ 0.9.5 (ruby-2.3.1).
114
112
  </div>
115
113
 
114
+ </div>
116
115
  </body>
117
116
  </html>
@@ -1,3 +1,9 @@
1
+ (function() {
2
+
3
+ var localStorage = {}, sessionStorage = {};
4
+ try { localStorage = window.localStorage; } catch (e) { }
5
+ try { sessionStorage = window.sessionStorage; } catch (e) { }
6
+
1
7
  function createSourceLinks() {
2
8
  $('.method_details_list .source_code').
3
9
  before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
@@ -16,7 +22,7 @@ function createDefineLinks() {
16
22
  $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
17
23
  $('.toggleDefines').toggle(function() {
18
24
  tHeight = $(this).parent().prev().height();
19
- $(this).prev().show();
25
+ $(this).prev().css('display', 'inline');
20
26
  $(this).parent().prev().height($(this).parent().height());
21
27
  $(this).text("(less)");
22
28
  },
@@ -42,29 +48,39 @@ function createFullTreeLinks() {
42
48
  });
43
49
  }
44
50
 
45
- function fixBoxInfoHeights() {
46
- $('dl.box dd.r1, dl.box dd.r2').each(function() {
47
- $(this).prev().height($(this).height());
48
- });
49
- }
50
-
51
- function searchFrameLinks() {
51
+ function searchFrameButtons() {
52
52
  $('.full_list_link').click(function() {
53
53
  toggleSearchFrame(this, $(this).attr('href'));
54
54
  return false;
55
55
  });
56
+ window.addEventListener('message', function(e) {
57
+ if (e.data === 'navEscape') {
58
+ $('#search_frame').slideUp(100);
59
+ $('#search a').removeClass('active inactive');
60
+ $(window).focus();
61
+ }
62
+ });
63
+
64
+ $(window).resize(function() {
65
+ if ($('#search:visible').length === 0) {
66
+ $('#search_frame').slideUp(100);
67
+ $('#search a').removeClass('active inactive');
68
+ $(window).focus();
69
+ }
70
+ });
56
71
  }
57
72
 
58
73
  function toggleSearchFrame(id, link) {
59
74
  var frame = $('#search_frame');
60
75
  $('#search a').removeClass('active').addClass('inactive');
61
- if (frame.attr('src') == link && frame.css('display') != "none") {
76
+ if (frame.attr('src') === link && frame.css('display') !== "none") {
62
77
  frame.slideUp(100);
63
78
  $('#search a').removeClass('active inactive');
64
79
  }
65
80
  else {
66
81
  $(id).addClass('active').removeClass('inactive');
67
- frame.attr('src', link).slideDown(100);
82
+ if (frame.attr('src') !== link) frame.attr('src', link);
83
+ frame.slideDown(100);
68
84
  }
69
85
  }
70
86
 
@@ -74,43 +90,10 @@ function linkSummaries() {
74
90
  });
75
91
  }
76
92
 
77
- function framesInit() {
78
- if (hasFrames) {
79
- document.body.className = 'frames';
80
- $('#menu .noframes a').attr('href', document.location);
81
- try {
82
- window.top.document.title = $('html head title').text();
83
- } catch(error) {
84
- // some browsers will not allow this when serving from file://
85
- // but we don't want to stop the world.
86
- }
87
- }
88
- else {
89
- $('#menu .noframes a').text('frames').attr('href', framesUrl);
90
- }
91
- }
92
-
93
- function keyboardShortcuts() {
94
- if (window.top.frames.main) return;
95
- $(document).keypress(function(evt) {
96
- if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) return;
97
- if (typeof evt.target !== "undefined" &&
98
- (evt.target.nodeName == "INPUT" ||
99
- evt.target.nodeName == "TEXTAREA")) return;
100
- switch (evt.charCode) {
101
- case 67: case 99: $('#class_list_link').click(); break; // 'c'
102
- case 77: case 109: $('#method_list_link').click(); break; // 'm'
103
- case 70: case 102: $('#file_list_link').click(); break; // 'f'
104
- default: break;
105
- }
106
- });
107
- }
108
-
109
93
  function summaryToggle() {
110
- $('.summary_toggle').click(function() {
111
- if (localStorage) {
112
- localStorage.summaryCollapsed = $(this).text();
113
- }
94
+ $('.summary_toggle').click(function(e) {
95
+ e.preventDefault();
96
+ localStorage.summaryCollapsed = $(this).text();
114
97
  $('.summary_toggle').each(function() {
115
98
  $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
116
99
  var next = $(this).parent().parent().nextAll('ul.summary').first();
@@ -132,18 +115,9 @@ function summaryToggle() {
132
115
  });
133
116
  return false;
134
117
  });
135
- if (localStorage) {
136
- if (localStorage.summaryCollapsed == "collapse") {
137
- $('.summary_toggle').first().click();
138
- }
139
- else localStorage.summaryCollapsed = "expand";
140
- }
141
- }
142
-
143
- function fixOutsideWorldLinks() {
144
- $('a').each(function() {
145
- if (window.location.host != this.host) this.target = '_parent';
146
- });
118
+ if (localStorage.summaryCollapsed == "collapse") {
119
+ $('.summary_toggle').first().click();
120
+ } else { localStorage.summaryCollapsed = "expand"; }
147
121
  }
148
122
 
149
123
  function generateTOC() {
@@ -185,7 +159,7 @@ function generateTOC() {
185
159
  lastTag = thisTag;
186
160
  });
187
161
  if (!show) return;
188
- html = '<div id="toc"><p class="title"><a class="hide_toc" href="#"><strong>Table of Contents</strong></a> <small>(<a href="#" class="float_toc">left</a>)</small></p></div>';
162
+ html = '<div id="toc"><p class="title hide_toc"><a href="#"><strong>Table of Contents</strong></a></p></div>';
189
163
  $('#content').prepend(html);
190
164
  $('#toc').append(_toc);
191
165
  $('#toc .hide_toc').toggle(function() {
@@ -197,23 +171,73 @@ function generateTOC() {
197
171
  $('#toc').toggleClass('hidden');
198
172
  $('#toc .title small').toggle();
199
173
  });
200
- $('#toc .float_toc').toggle(function() {
201
- $(this).text('float');
202
- $('#toc').toggleClass('nofloat');
203
- }, function() {
204
- $(this).text('left');
205
- $('#toc').toggleClass('nofloat');
174
+ }
175
+
176
+ function navResizeFn(e) {
177
+ if (e.which !== 1) {
178
+ navResizeFnStop();
179
+ return;
180
+ }
181
+
182
+ sessionStorage.navWidth = e.pageX.toString();
183
+ $('.nav_wrap').css('width', e.pageX);
184
+ $('.nav_wrap').css('-ms-flex', 'inherit');
185
+ }
186
+
187
+ function navResizeFnStop() {
188
+ $(window).unbind('mousemove', navResizeFn);
189
+ window.removeEventListener('message', navMessageFn, false);
190
+ }
191
+
192
+ function navMessageFn(e) {
193
+ if (e.data.action === 'mousemove') navResizeFn(e.data.event);
194
+ if (e.data.action === 'mouseup') navResizeFnStop();
195
+ }
196
+
197
+ function navResizer() {
198
+ $('#resizer').mousedown(function(e) {
199
+ e.preventDefault();
200
+ $(window).mousemove(navResizeFn);
201
+ window.addEventListener('message', navMessageFn, false);
206
202
  });
203
+ $(window).mouseup(navResizeFnStop);
204
+
205
+ if (sessionStorage.navWidth) {
206
+ navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)});
207
+ }
207
208
  }
208
209
 
209
- $(framesInit);
210
- $(createSourceLinks);
211
- $(createDefineLinks);
212
- $(createFullTreeLinks);
213
- $(fixBoxInfoHeights);
214
- $(searchFrameLinks);
215
- $(linkSummaries);
216
- $(keyboardShortcuts);
217
- $(summaryToggle);
218
- $(fixOutsideWorldLinks);
219
- $(generateTOC);
210
+ function navExpander() {
211
+ var done = false, timer = setTimeout(postMessage, 500);
212
+ function postMessage() {
213
+ if (done) return;
214
+ clearTimeout(timer);
215
+ var opts = { action: 'expand', path: pathId };
216
+ document.getElementById('nav').contentWindow.postMessage(opts, '*');
217
+ done = true;
218
+ }
219
+
220
+ window.addEventListener('message', function(event) {
221
+ if (event.data === 'navReady') postMessage();
222
+ return false;
223
+ }, false);
224
+ }
225
+
226
+ function mainFocus() {
227
+ $('#main')[0].focus();
228
+ }
229
+
230
+ $(document).ready(function() {
231
+ navResizer();
232
+ navExpander();
233
+ createSourceLinks();
234
+ createDefineLinks();
235
+ createFullTreeLinks();
236
+ searchFrameButtons();
237
+ linkSummaries();
238
+ summaryToggle();
239
+ generateTOC();
240
+ mainFocus();
241
+ });
242
+
243
+ })();