From 36d9c8e72e9c42723ffa4bbe3a76b1775c7463e5 Mon Sep 17 00:00:00 2001 From: "Deployment Bot (from Travis CI)" Date: Sun, 30 Jun 2019 14:28:32 +0000 Subject: [PATCH] Deploy algorithm-visualizer/tracers.cpp to github.com/algorithm-visualizer/tracers.cpp.git:gh-pages --- _array1_d_tracer_8h_source.html | 118 ++ _array2_d_tracer_8h_source.html | 159 +++ _base_array1_d_tracer_8h_source.html | 144 ++ _chart_tracer_8h_source.html | 116 ++ _commander_8h_source.html | 213 +++ _graph_tracer_8h_source.html | 294 ++++ _horizontal_layout_8h_source.html | 112 ++ _layout_8h_source.html | 145 ++ _log_tracer_8h_source.html | 174 +++ _randomize_8h_source.html | 305 +++++ _tracer_8h_source.html | 129 ++ _vertical_layout_8h_source.html | 112 ++ algorithm-visualizer_8h_source.html | 114 ++ annotated.html | 118 ++ bc_s.png | Bin 0 -> 676 bytes bdwn.png | Bin 0 -> 147 bytes class_array1_d_tracer-members.html | 134 ++ class_array1_d_tracer.html | 233 ++++ class_array1_d_tracer.png | Bin 0 -> 1127 bytes class_array2_d_tracer-members.html | 126 ++ class_array2_d_tracer.html | 216 +++ class_array2_d_tracer.png | Bin 0 -> 1534 bytes class_base_array1_d_tracer-members.html | 132 ++ class_base_array1_d_tracer.html | 231 ++++ class_base_array1_d_tracer.png | Bin 0 -> 1540 bytes class_chart_tracer-members.html | 134 ++ class_chart_tracer.html | 233 ++++ class_chart_tracer.png | Bin 0 -> 1109 bytes class_commander-members.html | 108 ++ class_commander.html | 173 +++ class_commander.png | Bin 0 -> 3029 bytes class_graph_tracer-members.html | 157 +++ class_graph_tracer.html | 306 +++++ class_graph_tracer.png | Bin 0 -> 564 bytes class_horizontal_layout-members.html | 112 ++ class_horizontal_layout.html | 171 +++ class_horizontal_layout.png | Bin 0 -> 648 bytes class_layout-members.html | 111 ++ class_layout.html | 172 +++ class_layout.png | Bin 0 -> 906 bytes class_log_tracer-members.html | 118 ++ class_log_tracer.html | 189 +++ class_log_tracer.png | Bin 0 -> 579 bytes class_randomize_1_1_array1_d-members.html | 106 ++ class_randomize_1_1_array1_d.html | 130 ++ class_randomize_1_1_array1_d.png | Bin 0 -> 697 bytes class_randomize_1_1_array2_d-members.html | 106 ++ class_randomize_1_1_array2_d.html | 130 ++ class_randomize_1_1_array2_d.png | Bin 0 -> 701 bytes class_randomize_1_1_double-members.html | 104 ++ class_randomize_1_1_double.html | 124 ++ class_randomize_1_1_double.png | Bin 0 -> 657 bytes class_randomize_1_1_graph-members.html | 107 ++ class_randomize_1_1_graph.html | 133 ++ class_randomize_1_1_graph.png | Bin 0 -> 677 bytes class_randomize_1_1_integer-members.html | 104 ++ class_randomize_1_1_integer.html | 124 ++ class_randomize_1_1_integer.png | Bin 0 -> 649 bytes class_randomize_1_1_randomizer-members.html | 103 ++ class_randomize_1_1_randomizer.html | 112 ++ class_randomize_1_1_string-members.html | 104 ++ class_randomize_1_1_string.html | 124 ++ class_randomize_1_1_string.png | Bin 0 -> 688 bytes class_tracer-members.html | 113 ++ class_tracer.html | 182 +++ class_tracer.png | Bin 0 -> 2217 bytes class_vertical_layout-members.html | 112 ++ class_vertical_layout.html | 171 +++ class_vertical_layout.png | Bin 0 -> 630 bytes classes.html | 122 ++ closed.png | Bin 0 -> 132 bytes dir_bbfedc118c6e391b2f2a94269f607a03.html | 120 ++ dir_d44c64559bbebec7f509842c48db8b23.html | 103 ++ doxygen.css | 1366 +++++++++++++++++++ doxygen.png | Bin 0 -> 3779 bytes dynsections.js | 97 ++ files.html | 112 ++ ftv2blank.png | Bin 0 -> 86 bytes ftv2cl.png | Bin 0 -> 453 bytes ftv2doc.png | Bin 0 -> 746 bytes ftv2folderclosed.png | Bin 0 -> 616 bytes ftv2folderopen.png | Bin 0 -> 597 bytes ftv2lastnode.png | Bin 0 -> 86 bytes ftv2link.png | Bin 0 -> 746 bytes ftv2mlastnode.png | Bin 0 -> 246 bytes ftv2mnode.png | Bin 0 -> 246 bytes ftv2mo.png | Bin 0 -> 403 bytes ftv2node.png | Bin 0 -> 86 bytes ftv2ns.png | Bin 0 -> 388 bytes ftv2plastnode.png | Bin 0 -> 229 bytes ftv2pnode.png | Bin 0 -> 229 bytes ftv2splitbar.png | Bin 0 -> 314 bytes ftv2vertline.png | Bin 0 -> 86 bytes hierarchy.html | 121 ++ index.html | 116 ++ jquery.js | 31 + nav_f.png | Bin 0 -> 153 bytes nav_g.png | Bin 0 -> 95 bytes nav_h.png | Bin 0 -> 98 bytes open.png | Bin 0 -> 123 bytes search/all_0.html | 26 + search/all_0.js | 7 + search/all_1.html | 26 + search/all_1.js | 4 + search/all_2.html | 26 + search/all_2.js | 5 + search/all_3.html | 26 + search/all_3.js | 4 + search/all_4.html | 26 + search/all_4.js | 5 + search/all_5.html | 26 + search/all_5.js | 4 + search/all_6.html | 26 + search/all_6.js | 4 + search/all_7.html | 26 + search/all_7.js | 5 + search/all_8.html | 26 + search/all_8.js | 8 + search/all_9.html | 26 + search/all_9.js | 4 + search/all_a.html | 26 + search/all_a.js | 4 + search/all_b.html | 26 + search/all_b.js | 4 + search/classes_0.html | 26 + search/classes_0.js | 7 + search/classes_1.html | 26 + search/classes_1.js | 4 + search/classes_2.html | 26 + search/classes_2.js | 5 + search/classes_3.html | 26 + search/classes_3.js | 4 + search/classes_4.html | 26 + search/classes_4.js | 5 + search/classes_5.html | 26 + search/classes_5.js | 4 + search/classes_6.html | 26 + search/classes_6.js | 4 + search/classes_7.html | 26 + search/classes_7.js | 5 + search/classes_8.html | 26 + search/classes_8.js | 8 + search/classes_9.html | 26 + search/classes_9.js | 4 + search/classes_a.html | 26 + search/classes_a.js | 4 + search/classes_b.html | 26 + search/classes_b.js | 4 + search/close.png | Bin 0 -> 273 bytes search/mag_sel.png | Bin 0 -> 563 bytes search/nomatches.html | 12 + search/search.css | 271 ++++ search/search.js | 795 +++++++++++ search/search_l.png | Bin 0 -> 604 bytes search/search_m.png | Bin 0 -> 158 bytes search/search_r.png | Bin 0 -> 612 bytes sync_off.png | Bin 0 -> 853 bytes sync_on.png | Bin 0 -> 845 bytes tab_a.png | Bin 0 -> 142 bytes tab_b.png | Bin 0 -> 169 bytes tab_h.png | Bin 0 -> 177 bytes tab_s.png | Bin 0 -> 184 bytes tabs.css | 60 + 163 files changed, 11564 insertions(+) create mode 100644 _array1_d_tracer_8h_source.html create mode 100644 _array2_d_tracer_8h_source.html create mode 100644 _base_array1_d_tracer_8h_source.html create mode 100644 _chart_tracer_8h_source.html create mode 100644 _commander_8h_source.html create mode 100644 _graph_tracer_8h_source.html create mode 100644 _horizontal_layout_8h_source.html create mode 100644 _layout_8h_source.html create mode 100644 _log_tracer_8h_source.html create mode 100644 _randomize_8h_source.html create mode 100644 _tracer_8h_source.html create mode 100644 _vertical_layout_8h_source.html create mode 100644 algorithm-visualizer_8h_source.html create mode 100644 annotated.html create mode 100644 bc_s.png create mode 100644 bdwn.png create mode 100644 class_array1_d_tracer-members.html create mode 100644 class_array1_d_tracer.html create mode 100644 class_array1_d_tracer.png create mode 100644 class_array2_d_tracer-members.html create mode 100644 class_array2_d_tracer.html create mode 100644 class_array2_d_tracer.png create mode 100644 class_base_array1_d_tracer-members.html create mode 100644 class_base_array1_d_tracer.html create mode 100644 class_base_array1_d_tracer.png create mode 100644 class_chart_tracer-members.html create mode 100644 class_chart_tracer.html create mode 100644 class_chart_tracer.png create mode 100644 class_commander-members.html create mode 100644 class_commander.html create mode 100644 class_commander.png create mode 100644 class_graph_tracer-members.html create mode 100644 class_graph_tracer.html create mode 100644 class_graph_tracer.png create mode 100644 class_horizontal_layout-members.html create mode 100644 class_horizontal_layout.html create mode 100644 class_horizontal_layout.png create mode 100644 class_layout-members.html create mode 100644 class_layout.html create mode 100644 class_layout.png create mode 100644 class_log_tracer-members.html create mode 100644 class_log_tracer.html create mode 100644 class_log_tracer.png create mode 100644 class_randomize_1_1_array1_d-members.html create mode 100644 class_randomize_1_1_array1_d.html create mode 100644 class_randomize_1_1_array1_d.png create mode 100644 class_randomize_1_1_array2_d-members.html create mode 100644 class_randomize_1_1_array2_d.html create mode 100644 class_randomize_1_1_array2_d.png create mode 100644 class_randomize_1_1_double-members.html create mode 100644 class_randomize_1_1_double.html create mode 100644 class_randomize_1_1_double.png create mode 100644 class_randomize_1_1_graph-members.html create mode 100644 class_randomize_1_1_graph.html create mode 100644 class_randomize_1_1_graph.png create mode 100644 class_randomize_1_1_integer-members.html create mode 100644 class_randomize_1_1_integer.html create mode 100644 class_randomize_1_1_integer.png create mode 100644 class_randomize_1_1_randomizer-members.html create mode 100644 class_randomize_1_1_randomizer.html create mode 100644 class_randomize_1_1_string-members.html create mode 100644 class_randomize_1_1_string.html create mode 100644 class_randomize_1_1_string.png create mode 100644 class_tracer-members.html create mode 100644 class_tracer.html create mode 100644 class_tracer.png create mode 100644 class_vertical_layout-members.html create mode 100644 class_vertical_layout.html create mode 100644 class_vertical_layout.png create mode 100644 classes.html create mode 100644 closed.png create mode 100644 dir_bbfedc118c6e391b2f2a94269f607a03.html create mode 100644 dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 doxygen.css create mode 100644 doxygen.png create mode 100644 dynsections.js create mode 100644 files.html create mode 100644 ftv2blank.png create mode 100644 ftv2cl.png create mode 100644 ftv2doc.png create mode 100644 ftv2folderclosed.png create mode 100644 ftv2folderopen.png create mode 100644 ftv2lastnode.png create mode 100644 ftv2link.png create mode 100644 ftv2mlastnode.png create mode 100644 ftv2mnode.png create mode 100644 ftv2mo.png create mode 100644 ftv2node.png create mode 100644 ftv2ns.png create mode 100644 ftv2plastnode.png create mode 100644 ftv2pnode.png create mode 100644 ftv2splitbar.png create mode 100644 ftv2vertline.png create mode 100644 hierarchy.html create mode 100644 index.html create mode 100644 jquery.js create mode 100644 nav_f.png create mode 100644 nav_g.png create mode 100644 nav_h.png create mode 100644 open.png create mode 100644 search/all_0.html create mode 100644 search/all_0.js create mode 100644 search/all_1.html create mode 100644 search/all_1.js create mode 100644 search/all_2.html create mode 100644 search/all_2.js create mode 100644 search/all_3.html create mode 100644 search/all_3.js create mode 100644 search/all_4.html create mode 100644 search/all_4.js create mode 100644 search/all_5.html create mode 100644 search/all_5.js create mode 100644 search/all_6.html create mode 100644 search/all_6.js create mode 100644 search/all_7.html create mode 100644 search/all_7.js create mode 100644 search/all_8.html create mode 100644 search/all_8.js create mode 100644 search/all_9.html create mode 100644 search/all_9.js create mode 100644 search/all_a.html create mode 100644 search/all_a.js create mode 100644 search/all_b.html create mode 100644 search/all_b.js create mode 100644 search/classes_0.html create mode 100644 search/classes_0.js create mode 100644 search/classes_1.html create mode 100644 search/classes_1.js create mode 100644 search/classes_2.html create mode 100644 search/classes_2.js create mode 100644 search/classes_3.html create mode 100644 search/classes_3.js create mode 100644 search/classes_4.html create mode 100644 search/classes_4.js create mode 100644 search/classes_5.html create mode 100644 search/classes_5.js create mode 100644 search/classes_6.html create mode 100644 search/classes_6.js create mode 100644 search/classes_7.html create mode 100644 search/classes_7.js create mode 100644 search/classes_8.html create mode 100644 search/classes_8.js create mode 100644 search/classes_9.html create mode 100644 search/classes_9.js create mode 100644 search/classes_a.html create mode 100644 search/classes_a.js create mode 100644 search/classes_b.html create mode 100644 search/classes_b.js create mode 100644 search/close.png create mode 100644 search/mag_sel.png create mode 100644 search/nomatches.html create mode 100644 search/search.css create mode 100644 search/search.js create mode 100644 search/search_l.png create mode 100644 search/search_m.png create mode 100644 search/search_r.png create mode 100644 sync_off.png create mode 100644 sync_on.png create mode 100644 tab_a.png create mode 100644 tab_b.png create mode 100644 tab_h.png create mode 100644 tab_s.png create mode 100644 tabs.css diff --git a/_array1_d_tracer_8h_source.html b/_array1_d_tracer_8h_source.html new file mode 100644 index 0000000..de43ae7 --- /dev/null +++ b/_array1_d_tracer_8h_source.html @@ -0,0 +1,118 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/Array1DTracer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Array1DTracer.h
+
+
+
1 #ifndef ARRAY1DTRACER_H
+
2 #define ARRAY1DTRACER_H
+
3 
+
4 #include "BaseArray1DTracer.h"
+
5 #include "ChartTracer.h"
+
6 
+ +
8 public:
+
9  Array1DTracer(const string &title = "", const string &className = "Array1DTracer") : BaseArray1DTracer(title,
+
10  className) {
+
11  }
+
12 
+
13  void chart(const ChartTracer &chartTracer) {
+
14  command("chart", {chartTracer.key});
+
15  }
+
16 };
+
17 
+
18 #endif
+
Definition: BaseArray1DTracer.h:6
+
Definition: ChartTracer.h:6
+
Definition: Array1DTracer.h:7
+
+ + + + diff --git a/_array2_d_tracer_8h_source.html b/_array2_d_tracer_8h_source.html new file mode 100644 index 0000000..22db11b --- /dev/null +++ b/_array2_d_tracer_8h_source.html @@ -0,0 +1,159 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/Array2DTracer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Array2DTracer.h
+
+
+
1 #ifndef ARRAY2DTRACER_H
+
2 #define ARRAY2DTRACER_H
+
3 
+
4 #include "Tracer.h"
+
5 
+
6 class Array2DTracer : public Tracer {
+
7 public:
+
8  Array2DTracer(const string &title = "", const string &className = "Array2DTracer") : Tracer(title, className) {
+
9  }
+
10 
+
11  void set(const json &array2d) {
+
12  command("set", {array2d});
+
13  }
+
14 
+
15  void patch(int x, int y, const json &v) {
+
16  command("patch", {x, y, v});
+
17  }
+
18 
+
19  void patch(int x, int y) {
+
20  command("patch", {x, y});
+
21  }
+
22 
+
23  void depatch(int x, int y) {
+
24  command("depatch", {x, y});
+
25  }
+
26 
+
27  void select(int sx, int sy, int ex, int ey) {
+
28  command("select", {sx, sy, ex, ey});
+
29  }
+
30 
+
31  void select(int x, int y) {
+
32  command("select", {x, y});
+
33  }
+
34 
+
35  void selectRow(int x, int sy, int ey) {
+
36  command("selectRow", {x, sy, ey});
+
37  }
+
38 
+
39  void selectCol(int y, int sx, int ex) {
+
40  command("selectCol", {y, sx, ex});
+
41  }
+
42 
+
43  void deselect(int sx, int sy, int ex, int ey) {
+
44  command("deselect", {sx, sy, ex, ey});
+
45  }
+
46 
+
47  void deselect(int x, int y) {
+
48  command("deselect", {x, y});
+
49  }
+
50 
+
51  void deselectRow(int x, int sy, int ey) {
+
52  command("deselectRow", {x, sy, ey});
+
53  }
+
54 
+
55  void deselectCol(int y, int sx, int ex) {
+
56  command("deselectCol", {y, sx, ex});
+
57  }
+
58 };
+
59 
+
60 #endif
+
Definition: Tracer.h:6
+
Definition: Array2DTracer.h:6
+
+ + + + diff --git a/_base_array1_d_tracer_8h_source.html b/_base_array1_d_tracer_8h_source.html new file mode 100644 index 0000000..fdf43cf --- /dev/null +++ b/_base_array1_d_tracer_8h_source.html @@ -0,0 +1,144 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/BaseArray1DTracer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
BaseArray1DTracer.h
+
+
+
1 #ifndef BASEARRAY1DTRACER_H
+
2 #define BASEARRAY1DTRACER_H
+
3 
+
4 #include "Array2DTracer.h"
+
5 
+ +
7 public:
+
8  BaseArray1DTracer(const string &title = "", const string &className = "BaseArray1DTracer") : Array2DTracer(title,
+
9  className) {
+
10  }
+
11 
+
12  void set(const json &array1d) {
+
13  command("set", {array1d});
+
14  }
+
15 
+
16  void patch(int x, const json &v) {
+
17  command("patch", {x, v});
+
18  }
+
19 
+
20  void patch(int x) {
+
21  command("patch", {x});
+
22  }
+
23 
+
24  void depatch(int x) {
+
25  command("depatch", {x});
+
26  }
+
27 
+
28  void select(int sx, int ex) {
+
29  command("select", {sx, ex});
+
30  }
+
31 
+
32  void select(int x) {
+
33  command("select", {x});
+
34  }
+
35 
+
36  void deselect(int sx, int ex) {
+
37  command("deselect", {sx, ex});
+
38  }
+
39 
+
40  void deselect(int x) {
+
41  command("deselect", {x});
+
42  }
+
43 };
+
44 
+
45 #endif
+
Definition: Array2DTracer.h:6
+
Definition: BaseArray1DTracer.h:6
+
+ + + + diff --git a/_chart_tracer_8h_source.html b/_chart_tracer_8h_source.html new file mode 100644 index 0000000..cbf086a --- /dev/null +++ b/_chart_tracer_8h_source.html @@ -0,0 +1,116 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/ChartTracer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
ChartTracer.h
+
+
+
1 #ifndef CHARTTRACER_H
+
2 #define CHARTTRACER_H
+
3 
+
4 #include "Array1DTracer.h"
+
5 
+
6 class ChartTracer : public BaseArray1DTracer {
+
7 public:
+
8  ChartTracer(const string &title = "", const string &className = "ChartTracer") : BaseArray1DTracer(title,
+
9  className) {
+
10  }
+
11 
+
12  void chart(const ChartTracer &chartTracer) {
+
13  command("chart", {chartTracer.key});
+
14  }
+
15 };
+
16 
+
17 #endif
+
Definition: BaseArray1DTracer.h:6
+
Definition: ChartTracer.h:6
+
+ + + + diff --git a/_commander_8h_source.html b/_commander_8h_source.html new file mode 100644 index 0000000..0a863c8 --- /dev/null +++ b/_commander_8h_source.html @@ -0,0 +1,213 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/Commander.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Commander.h
+
+
+
1 #ifndef COMMANDER_H
+
2 #define COMMANDER_H
+
3 
+
4 #include <string>
+
5 #include <cstdlib>
+
6 #include <fstream>
+
7 #include <curl/curl.h>
+
8 #include "nlohmann/json.hpp"
+
9 #include "Randomize.h"
+
10 
+
11 #define MAX_COMMANDS 1000000
+
12 #define MAX_OBJECTS 100
+
13 
+
14 class Commander {
+
15 protected:
+
16  using string = std::string;
+
17  using json = nlohmann::json;
+
18  using arguments = std::vector<json>;
+
19 
+
20 private:
+
21  static Randomize::String *keyRandomizer;
+
22  static int objectCount;
+
23  static json commands;
+
24 
+
25 protected:
+
26  static void command(const json &key, const string &method, const arguments &args) {
+
27  commands.push_back({
+
28  {"key", key},
+
29  {"method", method},
+
30  {"args", args},
+
31  });
+
32  if (commands.size() > MAX_COMMANDS) throw std::overflow_error("Too Many Commands");
+
33  if (objectCount > MAX_OBJECTS) throw std::overflow_error("Too Many Objects");
+
34  }
+
35 
+
36  Commander(const arguments &args, const string &className = "Commander") {
+
37  objectCount++;
+
38  key = keyRandomizer->create();
+
39  command(className, args);
+
40  }
+
41 
+
42  void command(const string &method, const arguments &args) {
+
43  command(key, method, args);
+
44  }
+
45 
+
46 public:
+
47  string key;
+
48 
+
49  void destroy() {
+
50  objectCount--;
+
51  command("destroy", {});
+
52  }
+
53 
+
54  static size_t writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) {
+
55  data->append((char *) ptr, size * nmemb);
+
56  return size * nmemb;
+
57  }
+
58 
+
59  static void onExit() {
+
60  string content = commands.dump();
+
61  if (std::getenv("ALGORITHM_VISUALIZER")) {
+
62  std::ofstream fout("visualization.json");
+
63  fout << content;
+
64  fout.close();
+
65  } else {
+
66  auto curl = curl_easy_init();
+
67  if (curl) {
+
68  string params = "content=" + content;
+
69 
+
70  curl_easy_setopt(curl, CURLOPT_URL, "https://algorithm-visualizer.org/api/visualizations");
+
71  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, params.c_str());
+
72  curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
+
73  curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 1L);
+
74 
+
75  string header;
+
76  string response;
+
77  curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeFunction);
+
78  curl_easy_setopt(curl, CURLOPT_HEADERDATA, &header);
+
79  curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
+
80 
+
81  curl_easy_perform(curl);
+
82  long response_code;
+
83  curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code);
+
84 
+
85  curl_easy_cleanup(curl);
+
86  curl = NULL;
+
87 
+
88  if (response_code == 200) {
+
89 #ifdef linux
+
90  string command = "xdg-open " + response;
+
91 #elif _WIN32
+
92  string command = "start " + response;
+
93 #else
+
94  string command = "open " + response;
+
95 #endif
+
96  system(command.c_str());
+
97  }
+
98  }
+
99  }
+
100  }
+
101 };
+
102 
+
103 Randomize::String *Commander::keyRandomizer = new Randomize::String(8, "abcdefghijklmnopqrstuvwxyz0123456789");
+
104 int Commander::objectCount = 0;
+
105 nlohmann::json Commander::commands = json::array();
+
106 
+
107 int init() {
+
108  atexit(Commander::onExit);
+
109  return 0;
+
110 }
+
111 
+
112 int _ = init();
+
113 
+
114 #endif
+
Definition: Commander.h:14
+
Definition: Randomize.h:62
+
+ + + + diff --git a/_graph_tracer_8h_source.html b/_graph_tracer_8h_source.html new file mode 100644 index 0000000..9950270 --- /dev/null +++ b/_graph_tracer_8h_source.html @@ -0,0 +1,294 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/GraphTracer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
GraphTracer.h
+
+
+
1 #ifndef GRAPHTRACER_H
+
2 #define GRAPHTRACER_H
+
3 
+
4 #include "Tracer.h"
+
5 #include "LogTracer.h"
+
6 
+
7 class GraphTracer : public Tracer {
+
8 public:
+
9  GraphTracer(const string &title = "", const string &className = "GraphTracer") : Tracer(title, className) {
+
10  }
+
11 
+
12  void set(const json &array2d) {
+
13  command("set", {array2d});
+
14  }
+
15 
+
16  GraphTracer directed(bool isDirected) {
+
17  command("directed", {isDirected});
+
18  return *this;
+
19  }
+
20 
+
21  GraphTracer directed() {
+
22  command("directed", {});
+
23  return *this;
+
24  }
+
25 
+
26  GraphTracer weighted(bool isWeighted) {
+
27  command("weighted", {isWeighted});
+
28  return *this;
+
29  }
+
30 
+
31  GraphTracer weighted() {
+
32  command("weighted", {});
+
33  return *this;
+
34  }
+
35 
+
36  GraphTracer layoutCircle() {
+
37  command("layoutCircle", {});
+
38  return *this;
+
39  }
+
40 
+
41  GraphTracer layoutTree(const json &root, bool sorted) {
+
42  command("layoutTree", {root, sorted});
+
43  return *this;
+
44  }
+
45 
+
46  GraphTracer layoutTree(const json &root) {
+
47  command("layoutTree", {root});
+
48  return *this;
+
49  }
+
50 
+
51  GraphTracer layoutTree() {
+
52  command("layoutTree", {});
+
53  return *this;
+
54  }
+
55 
+
56  GraphTracer layoutRandom() {
+
57  command("layoutRandom", {});
+
58  return *this;
+
59  }
+
60 
+
61  void addNode(const json &id, double weight, double x, double y, int visitedCount, int selectedCount) {
+
62  command("addNode", {id, weight, x, y, visitedCount, selectedCount});
+
63  }
+
64 
+
65  void addNode(const json &id, double weight, double x, double y, int visitedCount) {
+
66  command("addNode", {id, weight, x, y, visitedCount});
+
67  }
+
68 
+
69  void addNode(const json &id, double weight, double x, double y) {
+
70  command("addNode", {id, weight, x, y});
+
71  }
+
72 
+
73  void addNode(const json &id, double weight, double x) {
+
74  command("addNode", {id, weight, x});
+
75  }
+
76 
+
77  void addNode(const json &id, double weight) {
+
78  command("addNode", {id, weight});
+
79  }
+
80 
+
81  void addNode(const json &id) {
+
82  command("addNode", {id});
+
83  }
+
84 
+
85  void updateNode(const json &id, double weight, double x, double y, int visitedCount, int selectedCount) {
+
86  command("updateNode", {id, weight, x, y, visitedCount, selectedCount});
+
87  }
+
88 
+
89  void updateNode(const json &id, double weight, double x, double y, int visitedCount) {
+
90  command("updateNode", {id, weight, x, y, visitedCount});
+
91  }
+
92 
+
93  void updateNode(const json &id, double weight, double x, double y) {
+
94  command("updateNode", {id, weight, x, y});
+
95  }
+
96 
+
97  void updateNode(const json &id, double weight, double x) {
+
98  command("updateNode", {id, weight, x});
+
99  }
+
100 
+
101  void updateNode(const json &id, double weight) {
+
102  command("updateNode", {id, weight});
+
103  }
+
104 
+
105  void updateNode(const json &id) {
+
106  command("updateNode", {id});
+
107  }
+
108 
+
109  void removeNode(const json &id) {
+
110  command("removeNode", {id});
+
111  }
+
112 
+
113  void addEdge(const json &source, const json &target, double weight, int visitedCount, int selectedCount) {
+
114  command("addEdge", {source, target, weight, visitedCount, selectedCount});
+
115  }
+
116 
+
117  void addEdge(const json &source, const json &target, double weight, int visitedCount) {
+
118  command("addEdge", {source, target, weight, visitedCount});
+
119  }
+
120 
+
121  void addEdge(const json &source, const json &target, double weight) {
+
122  command("addEdge", {source, target, weight});
+
123  }
+
124 
+
125  void addEdge(const json &source, const json &target) {
+
126  command("addEdge", {source, target});
+
127  }
+
128 
+
129  void updateEdge(const json &source, const json &target, double weight, int visitedCount, int selectedCount) {
+
130  command("updateEdge", {source, target, weight, visitedCount, selectedCount});
+
131  }
+
132 
+
133  void updateEdge(const json &source, const json &target, double weight, int visitedCount) {
+
134  command("updateEdge", {source, target, weight, visitedCount});
+
135  }
+
136 
+
137  void updateEdge(const json &source, const json &target, double weight) {
+
138  command("updateEdge", {source, target, weight});
+
139  }
+
140 
+
141  void updateEdge(const json &source, const json &target) {
+
142  command("updateEdge", {source, target});
+
143  }
+
144 
+
145  void removeEdge(const json &source, const json &target) {
+
146  command("removeEdge", {source, target});
+
147  }
+
148 
+
149  void visit(const json &target, const json &source, double weight) {
+
150  command("visit", {target, source, weight});
+
151  }
+
152 
+
153  void visit(const json &target, const json &source) {
+
154  command("visit", {target, source});
+
155  }
+
156 
+
157  void visit(const json &target) {
+
158  command("visit", {target});
+
159  }
+
160 
+
161  void leave(const json &target, const json &source, double weight) {
+
162  command("leave", {target, source, weight});
+
163  }
+
164 
+
165  void leave(const json &target, const json &source) {
+
166  command("leave", {target, source});
+
167  }
+
168 
+
169  void leave(const json &target) {
+
170  command("leave", {target});
+
171  }
+
172 
+
173  void select(const json &target, const json &source) {
+
174  command("select", {target, source});
+
175  }
+
176 
+
177  void select(const json &target) {
+
178  command("select", {target});
+
179  }
+
180 
+
181  void deselect(const json &target, const json &source) {
+
182  command("deselect", {target, source});
+
183  }
+
184 
+
185  void deselect(const json &target) {
+
186  command("deselect", {target});
+
187  }
+
188 
+
189  void log(LogTracer &logTracer) {
+
190  command("log", {logTracer.key});
+
191  }
+
192 };
+
193 
+
194 #endif
+
Definition: Tracer.h:6
+
Definition: GraphTracer.h:7
+
Definition: LogTracer.h:7
+
+ + + + diff --git a/_horizontal_layout_8h_source.html b/_horizontal_layout_8h_source.html new file mode 100644 index 0000000..a357189 --- /dev/null +++ b/_horizontal_layout_8h_source.html @@ -0,0 +1,112 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/HorizontalLayout.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
HorizontalLayout.h
+
+
+
1 #ifndef HORIZONTALLAYOUT_H
+
2 #define HORIZONTALLAYOUT_H
+
3 
+
4 #include "Layout.h"
+
5 
+
6 class HorizontalLayout : public Layout {
+
7 public:
+
8  HorizontalLayout(const commander_list &children, const string &className = "HorizontalLayout") : Layout(children,
+
9  className) {
+
10  }
+
11 };
+
12 
+
13 #endif
+
Definition: Layout.h:6
+
Definition: HorizontalLayout.h:6
+
+ + + + diff --git a/_layout_8h_source.html b/_layout_8h_source.html new file mode 100644 index 0000000..b739b7e --- /dev/null +++ b/_layout_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/Layout.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Layout.h
+
+
+
1 #ifndef LAYOUT_H
+
2 #define LAYOUT_H
+
3 
+
4 #include "Commander.h"
+
5 
+
6 class Layout : public Commander {
+
7 protected:
+
8  using commander_list = std::vector<Commander>;
+
9 
+
10 private:
+
11  static std::vector<string> keys(const commander_list &children) {
+
12  std::vector<string> keys;
+
13  keys.reserve(children.size());
+
14  for (Commander commander : children) {
+
15  keys.push_back(commander.key);
+
16  }
+
17  return keys;
+
18  }
+
19 
+
20 public:
+
21  static void setRoot(const Commander &child) {
+
22  command(nullptr, "setRoot", {child.key});
+
23  }
+
24 
+
25  Layout(const commander_list &children, const string &className = "Layout") : Commander({keys(children)},
+
26  className) {
+
27  }
+
28 
+
29  void add(const Commander &child, int index) {
+
30  command("add", {child.key, index});
+
31  }
+
32 
+
33  void add(const Commander &child) {
+
34  command("add", {child.key});
+
35  }
+
36 
+
37  void remove(const Commander &child) {
+
38  command("remove", {child.key});
+
39  }
+
40 
+
41  void removeAll() {
+
42  command("remove", {});
+
43  }
+
44 };
+
45 
+
46 #endif
+
Definition: Layout.h:6
+
Definition: Commander.h:14
+
+ + + + diff --git a/_log_tracer_8h_source.html b/_log_tracer_8h_source.html new file mode 100644 index 0000000..eb00920 --- /dev/null +++ b/_log_tracer_8h_source.html @@ -0,0 +1,174 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/LogTracer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
LogTracer.h
+
+
+
1 #ifndef LOGTRACER_H
+
2 #define LOGTRACER_H
+
3 
+
4 #include <stdarg.h>
+
5 #include "Tracer.h"
+
6 
+
7 class LogTracer : public Tracer {
+
8 public:
+
9  LogTracer(const string &title = "", const string &className = "LogTracer") : Tracer(title, className) {
+
10  }
+
11 
+
12  void set(const json &log) {
+
13  command("set", {log});
+
14  }
+
15 
+
16  void print(const json &message) {
+
17  command("print", {message});
+
18  }
+
19 
+
20  void println(const json &message) {
+
21  command("println", {message});
+
22  }
+
23 
+
24  void printf(const char *format, ...) {
+
25  arguments traceArgs = {format};
+
26 
+
27  va_list args;
+
28  va_start(args, format);
+
29 
+
30  bool percent = false;
+
31  while (*format != '\0') {
+
32  if (*format == '%') {
+
33  percent = !percent;
+
34  } else if (percent) {
+
35  switch (*format) {
+
36  case 'b':
+
37  case 'c':
+
38  case 'd':
+
39  case 'i':
+
40  case 'u':
+
41  case 'o':
+
42  case 't':
+
43  case 'x':
+
44  case 'X':
+
45  percent = false;
+
46  traceArgs.push_back(va_arg(args, int));
+
47  break;
+
48  case 'e':
+
49  case 'f':
+
50  case 'g':
+
51  percent = false;
+
52  traceArgs.push_back(va_arg(args, double));
+
53  break;
+
54  case 's':
+
55  percent = false;
+
56  traceArgs.push_back(va_arg(args, char *));
+
57  break;
+
58  case 'T':
+
59  case 'v':
+
60  case 'j':
+
61  throw std::invalid_argument("Format Not Supported");
+
62  default:
+
63  break;
+
64  }
+
65  }
+
66  format++;
+
67  }
+
68 
+
69  va_end(args);
+
70 
+
71  command("printf", traceArgs);
+
72  }
+
73 };
+
74 
+
75 #endif
+
Definition: Tracer.h:6
+
Definition: LogTracer.h:7
+
+ + + + diff --git a/_randomize_8h_source.html b/_randomize_8h_source.html new file mode 100644 index 0000000..07bee5f --- /dev/null +++ b/_randomize_8h_source.html @@ -0,0 +1,305 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/Randomize.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Randomize.h
+
+
+
1 #ifndef RANDOMIZE_H
+
2 #define RANDOMIZE_H
+
3 
+
4 #include <random>
+
5 #include <algorithm>
+
6 
+
7 namespace Randomize {
+
8  using std::string;
+
9  using std::mt19937;
+
10 
+
11  template<class T>
+
12  class Randomizer {
+
13  public:
+
14  virtual T create() = 0;
+
15  };
+
16 
+
17 
+
18  class Integer : public Randomizer<int> {
+
19  private:
+
20  int _min;
+
21  int _max;
+
22 
+
23  mt19937 rng;
+
24 
+
25  public:
+
26  Integer(int min = 1, int max = 9) {
+
27  _min = min;
+
28  _max = max;
+
29 
+
30  rng.seed(std::random_device()());
+
31  }
+
32 
+
33  int create() {
+
34  std::uniform_int_distribution<int> dist6(_min, _max);
+
35  return dist6(rng);
+
36  }
+
37  };
+
38 
+
39 
+
40  class Double : public Randomizer<double> {
+
41  private:
+
42  double _min;
+
43  double _max;
+
44 
+
45  mt19937 rng;
+
46 
+
47  public:
+
48  Double(double min = 0, double max = 1) {
+
49  _min = min;
+
50  _max = max;
+
51 
+
52  rng.seed(std::random_device()());
+
53  }
+
54 
+
55  double create() {
+
56  std::uniform_real_distribution<double> dist6(_min, _max);
+
57  return dist6(rng);
+
58  }
+
59  };
+
60 
+
61 
+
62  class String : public Randomizer<string> {
+
63  private:
+
64  int _length;
+
65  string _letters;
+
66 
+
67  public:
+
68  String(int length = 16, const string &letters = "abcdefghijklmnopqrstuvwxyz") {
+
69  _length = length;
+
70  _letters = letters;
+
71  }
+
72 
+
73  string create() {
+
74  string text = "";
+
75  Integer randomizer(0, _letters.length() - 1);
+
76  for (int i = 0; i < _length; i++) {
+
77  text += _letters[randomizer.create()];
+
78  }
+
79  return text;
+
80  }
+
81  };
+
82 
+
83 
+
84  template<class T>
+
85  class Array2D : public Randomizer<void> {
+
86  private:
+
87  int _N;
+
88  int _M;
+
89  Randomizer<T> *_randomizer;
+
90  bool _sorted;
+
91 
+
92  public:
+
93  Array2D(int N = 10, int M = 10, Randomizer<T> &randomizer = *(new Integer())) {
+
94  _N = N;
+
95  _M = M;
+
96  _randomizer = &randomizer;
+
97  _sorted = false;
+
98  }
+
99 
+
100  Array2D sorted(bool sorted = true) {
+
101  _sorted = sorted;
+
102  return *this;
+
103  }
+
104 
+
105  void create() {
+
106  throw std::invalid_argument("Call 'void fill(T *D)' instead.");
+
107  }
+
108 
+
109  void fill(T *D) {
+
110  for (int i = 0; i < _N; i++) {
+
111  for (int j = 0; j < _M; j++) {
+
112  D[i * _M + j] = (*_randomizer).create();
+
113  }
+
114  if (_sorted) std::sort(&D[i * _M], &D[i * _M] + _M);
+
115  }
+
116  }
+
117  };
+
118 
+
119 
+
120  template<class T>
+
121  class Array1D : public Randomizer<void> {
+
122  private:
+
123  int _N;
+
124  Randomizer<T> *_randomizer;
+
125  bool _sorted;
+
126 
+
127  public:
+
128  Array1D(int N = 10, Randomizer<T> &randomizer = *(new Integer())) {
+
129  _N = N;
+
130  _randomizer = &randomizer;
+
131  _sorted = false;
+
132  }
+
133 
+
134  Array1D sorted(bool sorted = true) {
+
135  _sorted = sorted;
+
136  return *this;
+
137  }
+
138 
+
139  void create() {
+
140  throw std::invalid_argument("Call 'void fill(T *D)' instead.");
+
141  }
+
142 
+
143  void fill(T *D) {
+
144  for (int i = 0; i < _N; i++) {
+
145  D[i] = (*_randomizer).create();
+
146  }
+
147  if (_sorted) std::sort(D, D + _N);
+
148  }
+
149  };
+
150 
+
151 
+
152  template<class T>
+
153  class Graph : public Randomizer<void> {
+
154  private:
+
155  int _N;
+
156  double _ratio;
+
157  Randomizer<T> *_randomizer;
+
158  bool _directed;
+
159  bool _weighted;
+
160 
+
161  public:
+
162  Graph(int N = 5, double ratio = .3, Randomizer<T> &randomizer = *(new Integer())) {
+
163  _N = N;
+
164  _ratio = ratio;
+
165  _randomizer = &randomizer;
+
166  _directed = true;
+
167  _weighted = false;
+
168  }
+
169 
+
170  Graph directed(bool directed = true) {
+
171  _directed = directed;
+
172  return *this;
+
173  }
+
174 
+
175  Graph weighted(bool weighted = true) {
+
176  _weighted = weighted;
+
177  return *this;
+
178  }
+
179 
+
180  void create() {
+
181  throw std::invalid_argument("Call 'void fill(T *G)' instead.");
+
182  }
+
183 
+
184  void fill(T *G) {
+
185  Double ratioRandomizer;
+
186  for (int i = 0; i < _N; i++) {
+
187  for (int j = 0; j < _N; j++) {
+
188  if (i == j) {
+
189  G[i * _N + j] = 0;
+
190  } else if (_directed || i < j) {
+
191  G[i * _N + j] = ratioRandomizer.create() < _ratio ? _weighted ? (*_randomizer).create() : 1 : 0;
+
192  } else {
+
193  G[i * _N + j] = G[j * _N + i];
+
194  }
+
195  }
+
196  }
+
197  }
+
198  };
+
199 }
+
200 
+
201 #endif
+
Definition: Randomize.h:153
+
Definition: Randomize.h:18
+
Definition: Randomize.h:40
+
Definition: Randomize.h:121
+
Definition: Randomize.h:85
+
Definition: Randomize.h:12
+
Definition: Randomize.h:62
+
+ + + + diff --git a/_tracer_8h_source.html b/_tracer_8h_source.html new file mode 100644 index 0000000..c34e45e --- /dev/null +++ b/_tracer_8h_source.html @@ -0,0 +1,129 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/Tracer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Tracer.h
+
+
+
1 #ifndef TRACER_H
+
2 #define TRACER_H
+
3 
+
4 #include "Commander.h"
+
5 
+
6 class Tracer : public Commander {
+
7 public:
+
8  static void delay(int lineNumber) {
+
9  command(nullptr, "delay", {lineNumber});
+
10  }
+
11 
+
12  static void delay() {
+
13  command(nullptr, "delay", {});
+
14  }
+
15 
+
16  Tracer(const string &title = "", const string &className = "Tracer") : Commander(
+
17  title.empty() ? arguments{} : arguments{title},
+
18  className) {
+
19  }
+
20 
+
21  void set() {
+
22  command("set", {});
+
23  }
+
24 
+
25  void reset() {
+
26  command("reset", {});
+
27  }
+
28 };
+
29 
+
30 #endif
+
Definition: Tracer.h:6
+
Definition: Commander.h:14
+
+ + + + diff --git a/_vertical_layout_8h_source.html b/_vertical_layout_8h_source.html new file mode 100644 index 0000000..a393dfe --- /dev/null +++ b/_vertical_layout_8h_source.html @@ -0,0 +1,112 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer/VerticalLayout.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
VerticalLayout.h
+
+
+
1 #ifndef VERTICALLAYOUT_H
+
2 #define VERTICALLAYOUT_H
+
3 
+
4 #include "Layout.h"
+
5 
+
6 class VerticalLayout : public Layout {
+
7 public:
+
8  VerticalLayout(const commander_list &children, const string &className = "VerticalLayout") : Layout(children,
+
9  className) {
+
10  }
+
11 };
+
12 
+
13 #endif
+
Definition: Layout.h:6
+
Definition: VerticalLayout.h:6
+
+ + + + diff --git a/algorithm-visualizer_8h_source.html b/algorithm-visualizer_8h_source.html new file mode 100644 index 0000000..9a0c216 --- /dev/null +++ b/algorithm-visualizer_8h_source.html @@ -0,0 +1,114 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
algorithm-visualizer.h
+
+
+
1 #ifndef ALGORITHM_VISUALIZER_H
+
2 #define ALGORITHM_VISUALIZER_H
+
3 
+
4 #include "algorithm-visualizer/Commander.h"
+
5 #include "algorithm-visualizer/Tracer.h"
+
6 #include "algorithm-visualizer/Layout.h"
+
7 #include "algorithm-visualizer/Randomize.h"
+
8 
+
9 #include "algorithm-visualizer/Array1DTracer.h"
+
10 #include "algorithm-visualizer/Array2DTracer.h"
+
11 #include "algorithm-visualizer/ChartTracer.h"
+
12 #include "algorithm-visualizer/GraphTracer.h"
+
13 #include "algorithm-visualizer/HorizontalLayout.h"
+
14 #include "algorithm-visualizer/LogTracer.h"
+
15 #include "algorithm-visualizer/VerticalLayout.h"
+
16 
+
17 #endif
+
+ + + + diff --git a/annotated.html b/annotated.html new file mode 100644 index 0000000..a065346 --- /dev/null +++ b/annotated.html @@ -0,0 +1,118 @@ + + + + + + +algorithm-visualizer: Class List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + +
+ +
+ All Classes
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
+ + + + diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/bdwn.png b/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Array1DTracer Member List
+
+
+ +

This is the complete list of members for Array1DTracer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
Array1DTracer(const string &title="", const string &className="Array1DTracer") (defined in Array1DTracer)Array1DTracerinline
Array2DTracer(const string &title="", const string &className="Array2DTracer") (defined in Array2DTracer)Array2DTracerinline
BaseArray1DTracer(const string &title="", const string &className="BaseArray1DTracer") (defined in BaseArray1DTracer)BaseArray1DTracerinline
chart(const ChartTracer &chartTracer) (defined in Array1DTracer)Array1DTracerinline
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
delay(int lineNumber) (defined in Tracer)Tracerinlinestatic
delay() (defined in Tracer)Tracerinlinestatic
depatch(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
depatch(int x, int y) (defined in Array2DTracer)Array2DTracerinline
deselect(int sx, int ex) (defined in BaseArray1DTracer)BaseArray1DTracerinline
deselect(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
deselect(int sx, int sy, int ex, int ey) (defined in Array2DTracer)Array2DTracerinline
deselectCol(int y, int sx, int ex) (defined in Array2DTracer)Array2DTracerinline
deselectRow(int x, int sy, int ey) (defined in Array2DTracer)Array2DTracerinline
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
onExit() (defined in Commander)Commanderinlinestatic
patch(int x, const json &v) (defined in BaseArray1DTracer)BaseArray1DTracerinline
patch(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
patch(int x, int y, const json &v) (defined in Array2DTracer)Array2DTracerinline
patch(int x, int y) (defined in Array2DTracer)Array2DTracerinline
reset() (defined in Tracer)Tracerinline
select(int sx, int ex) (defined in BaseArray1DTracer)BaseArray1DTracerinline
select(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
select(int sx, int sy, int ex, int ey) (defined in Array2DTracer)Array2DTracerinline
selectCol(int y, int sx, int ex) (defined in Array2DTracer)Array2DTracerinline
selectRow(int x, int sy, int ey) (defined in Array2DTracer)Array2DTracerinline
set(const json &array1d) (defined in BaseArray1DTracer)BaseArray1DTracerinline
set() (defined in Tracer)Tracerinline
string typedef (defined in Commander)Commanderprotected
Tracer(const string &title="", const string &className="Tracer") (defined in Tracer)Tracerinline
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_array1_d_tracer.html b/class_array1_d_tracer.html new file mode 100644 index 0000000..32373b2 --- /dev/null +++ b/class_array1_d_tracer.html @@ -0,0 +1,233 @@ + + + + + + +algorithm-visualizer: Array1DTracer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for Array1DTracer:
+
+
+ + +BaseArray1DTracer +Array2DTracer +Tracer +Commander + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Array1DTracer (const string &title="", const string &className="Array1DTracer")
 
+void chart (const ChartTracer &chartTracer)
 
+void set (const json &array1d)
 
+void set ()
 
+void patch (int x, const json &v)
 
+void patch (int x)
 
+void patch (int x, int y, const json &v)
 
+void patch (int x, int y)
 
+void depatch (int x)
 
+void depatch (int x, int y)
 
+void select (int sx, int ex)
 
+void select (int x)
 
+void select (int sx, int sy, int ex, int ey)
 
+void deselect (int sx, int ex)
 
+void deselect (int x)
 
+void deselect (int sx, int sy, int ex, int ey)
 
+void selectRow (int x, int sy, int ey)
 
+void selectCol (int y, int sx, int ex)
 
+void deselectRow (int x, int sy, int ey)
 
+void deselectCol (int y, int sx, int ex)
 
+void reset ()
 
+void destroy ()
 
+ + + + + + + + + +

+Static Public Member Functions

+static void delay (int lineNumber)
 
+static void delay ()
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + +

+Protected Types

+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_array1_d_tracer.png b/class_array1_d_tracer.png new file mode 100644 index 0000000000000000000000000000000000000000..750caafb175f1290f8ceec982070b005f023713d GIT binary patch literal 1127 zcmZuxeK6a182{xmrB1MyUQTL)uK}g~~A;0{-`|0hU?e^R~Z+Fi<_k5n`b5E|1mpeh* zKpTP}0@=gW7xOTtN-aEQx5oROFh}&E_`3lBuyAF4H!;7f0E^zLKp@b_ogrbVR)VjW zAA}Vh%Bz?D))0i>BfC2Jr{JVje{t$h>1(juiUH`icz3ZT<=%LCj>FU0Z?dR*-Jv15 zR##l^FvGG{v**d0SweSaV?15Sg@0NPfnpEVg3b~aRP2tYM*G(!!y>N?uFN|x^?+?@ z_t+F3NWP>)o?hnBwAD1(uWD+1`>|N1-w%xlHxgvRZ5vA>W0j|xrbt#{oo6lr^J=F^ zAkGWg$vh}!ry=UKbTX$)Ek=p-7X19t_ZcR=Xat8Km;@uNBcW2Ty(>?LTxRq_b5ywX zI7fz&OtZOL4JEaa1iA|Rr>A;}1e4F1CuGTdvtUzpzFB9FbeDe?%#wJ~!##D};|on_ z)8(`^7T29=xwU;T(0cnC!c3^LK>hFDb385v+jhBfo73cg)IO06Yq9(_s@eA$v+<3b zrtoAQli4Zyh>wgQ?=ncoYR|hU8tO&!=WL-U@URJ1;EAu(A^ZQEZ60UUdsFKR=3pFO zWgg*Kz)o{k>MDbx>_y~JLXvvnA|tROlY)l}Xq&?5c6RaASFh!d&X`UNeca^$k1Xya zeb_kO0NZfhaiILcz2c;voOhL7|p=QDLA;Z!|7hpZXsTp=`U1eUK4m_D?|2wNLtK!Nn zB(-;IqOj&5MAGa6ZiJPev$)v?QY$|g`%^xu0lw=>f8L3dLLC{BWiRh`4@FFAVQ{W& zKPsHG6WLH~0~aYTn@%V|34aKA$*+5|iNY*yWYjZVWS}`Fm`d2)CmCk8&cOkC?Pi1& z3H$_>z;z0dBX-&oB>2A7G;Sm7s6d|%Y^RQdu7edSzIhMqA0#_6O#Vf)f50Ac&{*GD zD_b8rJS^^c<%>@gweMNxXw4gUphZ1lft^TMpC6d{#q+C(@aQq=hGCFMhx$EQM_xVW zJ&dpl%~z^dW<=t>3_fXUuw{8FmG{6ezWm{XTs`D^SU?SQG6_lKSSK$Hip+RIEx}zo zBw8GRCIQ@qAcZh-hB8(Ks2D+^&~80BKY&)IP|JBuu__wM-M~=czuer+(a$gfkZ(b_ UZAr+I1NIdlvYVG{qjPA+-;!}y{Qv*} literal 0 HcmV?d00001 diff --git a/class_array2_d_tracer-members.html b/class_array2_d_tracer-members.html new file mode 100644 index 0000000..29fe957 --- /dev/null +++ b/class_array2_d_tracer-members.html @@ -0,0 +1,126 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Array2DTracer Member List
+
+
+ +

This is the complete list of members for Array2DTracer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
Array2DTracer(const string &title="", const string &className="Array2DTracer") (defined in Array2DTracer)Array2DTracerinline
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
delay(int lineNumber) (defined in Tracer)Tracerinlinestatic
delay() (defined in Tracer)Tracerinlinestatic
depatch(int x, int y) (defined in Array2DTracer)Array2DTracerinline
deselect(int sx, int sy, int ex, int ey) (defined in Array2DTracer)Array2DTracerinline
deselect(int x, int y) (defined in Array2DTracer)Array2DTracerinline
deselectCol(int y, int sx, int ex) (defined in Array2DTracer)Array2DTracerinline
deselectRow(int x, int sy, int ey) (defined in Array2DTracer)Array2DTracerinline
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
onExit() (defined in Commander)Commanderinlinestatic
patch(int x, int y, const json &v) (defined in Array2DTracer)Array2DTracerinline
patch(int x, int y) (defined in Array2DTracer)Array2DTracerinline
reset() (defined in Tracer)Tracerinline
select(int sx, int sy, int ex, int ey) (defined in Array2DTracer)Array2DTracerinline
select(int x, int y) (defined in Array2DTracer)Array2DTracerinline
selectCol(int y, int sx, int ex) (defined in Array2DTracer)Array2DTracerinline
selectRow(int x, int sy, int ey) (defined in Array2DTracer)Array2DTracerinline
set(const json &array2d) (defined in Array2DTracer)Array2DTracerinline
set() (defined in Tracer)Tracerinline
string typedef (defined in Commander)Commanderprotected
Tracer(const string &title="", const string &className="Tracer") (defined in Tracer)Tracerinline
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_array2_d_tracer.html b/class_array2_d_tracer.html new file mode 100644 index 0000000..9348c8b --- /dev/null +++ b/class_array2_d_tracer.html @@ -0,0 +1,216 @@ + + + + + + +algorithm-visualizer: Array2DTracer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for Array2DTracer:
+
+
+ + +Tracer +Commander +BaseArray1DTracer +Array1DTracer +ChartTracer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Array2DTracer (const string &title="", const string &className="Array2DTracer")
 
+void set (const json &array2d)
 
+void patch (int x, int y, const json &v)
 
+void patch (int x, int y)
 
+void depatch (int x, int y)
 
+void select (int sx, int sy, int ex, int ey)
 
+void select (int x, int y)
 
+void selectRow (int x, int sy, int ey)
 
+void selectCol (int y, int sx, int ex)
 
+void deselect (int sx, int sy, int ex, int ey)
 
+void deselect (int x, int y)
 
+void deselectRow (int x, int sy, int ey)
 
+void deselectCol (int y, int sx, int ex)
 
+void set ()
 
+void reset ()
 
+void destroy ()
 
+ + + + + + + + + +

+Static Public Member Functions

+static void delay (int lineNumber)
 
+static void delay ()
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + +

+Protected Types

+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_array2_d_tracer.png b/class_array2_d_tracer.png new file mode 100644 index 0000000000000000000000000000000000000000..06758a2a3b3626a20b200edb8f964859f477e76d GIT binary patch literal 1534 zcmeAS@N?(olHy`uVBq!ia0y~yVB`R@e{e7ZN%gZG2|!9Bz$e7@|Ns9$=8HF9OZyK^ z0J6aNz<~p-oplq}x4-@9v)E4>9d%}N9eIM^{Abx{C3393n$M*!>rK1HGY-#R7o;6| zlFb*ZweY{T`Rj-K%$b;(z!ykD}-A-y9uv_hb~? zBEQ(TaC~>MbW_R9muC}v&f$6M{_;Cg+Wh=L#&0K&OZ?fOU^Q$}RA~je7U;D=MHes4 z*zgATEvyB+6J?{kB^H%zXi;p?Ofz5+0LB3W(Bq^qDr8(Po1ATBU9tGOTo)`XPVg$2 z@ok*{;dtl&56TPbI-Y$tEK9flQ@sDt#^7E2F5BP4|H`)idzvG#=!xm`?yI(;{1eZY zOZ+@4F~hH(b7O?@>$UG*xCs=_T$9C%PDY?JKmxp_D;n^Ka ztDVlU)$dvLcdwk@cP1sjB}XL~XM7D5_Xwj?xNTMQDzZ7O&pRcm^`(gjf?;o4( zdb)gVDDTIQC9}^99gb|zeG{}oI>~0`M=5cEyPN7?uCFcpbx>hlT#nZ4ui00)4d+Dp zU7Yv)tI^tTf=L_G?%gs-c{NYDjd_~XRNedqvI3uZr$w*+ckRUVH8cL6n*3(J=81cI zWv}ZzyZlOV*8SvTu(xWcikUD~qG zW_|*NTnM+Kr@Pg>i7K)$k`?@{Y}g*HIozDb>uD9}3{1ViETE{lM6F{=(5`h1{TbX3 zq?D|;OfztKnZW7H5PT+qL*a-(8v`g;K^Y%aI=1EBw&E&CT)lG^f#g>7%OS|?rOWLp zK~@*5_*6VErS=M-gyMIBUX|L6@714wNl(9P?fGj_yhG3KNlP}J{rETE`On=QDtljV zxc)L#*l*IbyZnalvP2(!`1jqp<{Q6UUb7}We+kfA0 znQ?Br{Li1WbvusEip>9N!RPShcF%0vjsNu(9tFN>(74VM9cACAtejMP`S`c}yoTp& zA1?i^_WmKWOWfue{;HW59}6UIR{yr2)iBreeab5_7m3MFO(!jh)HLTea3z6$9|t$>N5V{?)UeM zdVi9A+mZ?T3Mwz}f35DAZ*@oF(RRLaIl)O^b|XqHQ^zG!E|v0v5?$ + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
BaseArray1DTracer Member List
+
+
+ +

This is the complete list of members for BaseArray1DTracer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
Array2DTracer(const string &title="", const string &className="Array2DTracer") (defined in Array2DTracer)Array2DTracerinline
BaseArray1DTracer(const string &title="", const string &className="BaseArray1DTracer") (defined in BaseArray1DTracer)BaseArray1DTracerinline
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
delay(int lineNumber) (defined in Tracer)Tracerinlinestatic
delay() (defined in Tracer)Tracerinlinestatic
depatch(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
depatch(int x, int y) (defined in Array2DTracer)Array2DTracerinline
deselect(int sx, int ex) (defined in BaseArray1DTracer)BaseArray1DTracerinline
deselect(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
deselect(int sx, int sy, int ex, int ey) (defined in Array2DTracer)Array2DTracerinline
deselectCol(int y, int sx, int ex) (defined in Array2DTracer)Array2DTracerinline
deselectRow(int x, int sy, int ey) (defined in Array2DTracer)Array2DTracerinline
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
onExit() (defined in Commander)Commanderinlinestatic
patch(int x, const json &v) (defined in BaseArray1DTracer)BaseArray1DTracerinline
patch(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
patch(int x, int y, const json &v) (defined in Array2DTracer)Array2DTracerinline
patch(int x, int y) (defined in Array2DTracer)Array2DTracerinline
reset() (defined in Tracer)Tracerinline
select(int sx, int ex) (defined in BaseArray1DTracer)BaseArray1DTracerinline
select(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
select(int sx, int sy, int ex, int ey) (defined in Array2DTracer)Array2DTracerinline
selectCol(int y, int sx, int ex) (defined in Array2DTracer)Array2DTracerinline
selectRow(int x, int sy, int ey) (defined in Array2DTracer)Array2DTracerinline
set(const json &array1d) (defined in BaseArray1DTracer)BaseArray1DTracerinline
set() (defined in Tracer)Tracerinline
string typedef (defined in Commander)Commanderprotected
Tracer(const string &title="", const string &className="Tracer") (defined in Tracer)Tracerinline
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_base_array1_d_tracer.html b/class_base_array1_d_tracer.html new file mode 100644 index 0000000..822706d --- /dev/null +++ b/class_base_array1_d_tracer.html @@ -0,0 +1,231 @@ + + + + + + +algorithm-visualizer: BaseArray1DTracer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for BaseArray1DTracer:
+
+
+ + +Array2DTracer +Tracer +Commander +Array1DTracer +ChartTracer + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

BaseArray1DTracer (const string &title="", const string &className="BaseArray1DTracer")
 
+void set (const json &array1d)
 
+void patch (int x, const json &v)
 
+void patch (int x)
 
+void depatch (int x)
 
+void select (int sx, int ex)
 
+void select (int x)
 
+void deselect (int sx, int ex)
 
+void deselect (int x)
 
+void set ()
 
+void patch (int x, int y, const json &v)
 
+void patch (int x, int y)
 
+void depatch (int x, int y)
 
+void select (int sx, int sy, int ex, int ey)
 
+void selectRow (int x, int sy, int ey)
 
+void selectCol (int y, int sx, int ex)
 
+void deselect (int sx, int sy, int ex, int ey)
 
+void deselectRow (int x, int sy, int ey)
 
+void deselectCol (int y, int sx, int ex)
 
+void reset ()
 
+void destroy ()
 
+ + + + + + + + + +

+Static Public Member Functions

+static void delay (int lineNumber)
 
+static void delay ()
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + +

+Protected Types

+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_base_array1_d_tracer.png b/class_base_array1_d_tracer.png new file mode 100644 index 0000000000000000000000000000000000000000..79af0c277ca3153104856ae2757bba224049bf0e GIT binary patch literal 1540 zcmb7EdoYx19R4=ZV)0du_9*PyRk@YzMkw}T__`>UDYdm&!%-rRb(spA%kCHDvZ>K- z&d#Z&5m8oA#3ngJgwO>Wm8{f;Tw2-he3~<-^WT}?nfHC4_nqJT-rw`g^Zw54^>o+M zG1dV9Ko9a@cmn_ii{e?V2D+|!0tcWQe(x?{Hv~aYI5IXBlU1LMqVH2ClWCsmGeeJ9 zj<=@|fCep$?#I3x06_CR#Gv}dV?Or35EMHYGCFo!B_qh&+7Qs4`y^mLVWgyKlj&Ms z8dwJS+ZW`nvvD=qE#Mr`3&cW1o?WUW+ljgfQIn4(8I&ZF;7=u)kn=LOV^Lzjrn2Md z_FV=Kuc_Y;cJUtT5mo0uwn^=qj!&R>gZ;0Gkn&^@w#ahhH-~vsBT-!QRf6gTM~kxS z7P1EJ{?ktVDw;6i6Xe36xO;T+2e54X*RF@ubLkuxTvqypYdrFOWj=wdXg`Xjd+1P7 ziR3hVJt&~zyoih)mWTIq-77RB^>R!O?!;f=+)O2MEko=UgKR7vK+FCa5Wi|6pC8vz zNLG{^e}7_uyM0=y$^}w+DV@v{i#`MJ@aZZH4W`P#&tms<5g6pQ{ zVx`?g2E{I4y^MV;q=#v;!9E#&xSiIjOrOwdz8ajIEphw6$G@-r+?gQVLb2J^xcSY+ zPui4~-^Q;`&zz|0(}f*!jDi?~kOaeqQ;{{7P&qnQ(m2wjJo?L~QgIGBf8-o7aWparmOJ*Tda@e#sMf5iwT^Cxls(;hr{;95YpcCq#0?db2>02c$moeCK!SB)soDSaTMa*yte{uR zMZNN>u>q*_v?&)KX8{F^CgPj=QpkiRX*>eF+-_@g2KIPD`$0Pzb&g45~VIkGwA6-;P@ZO=grv>MF b-z!Bh#Oo=wnJN3IXv+p5H%~?>Eg<=C|6ZQa literal 0 HcmV?d00001 diff --git a/class_chart_tracer-members.html b/class_chart_tracer-members.html new file mode 100644 index 0000000..d2add9c --- /dev/null +++ b/class_chart_tracer-members.html @@ -0,0 +1,134 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
ChartTracer Member List
+
+
+ +

This is the complete list of members for ChartTracer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
Array2DTracer(const string &title="", const string &className="Array2DTracer") (defined in Array2DTracer)Array2DTracerinline
BaseArray1DTracer(const string &title="", const string &className="BaseArray1DTracer") (defined in BaseArray1DTracer)BaseArray1DTracerinline
chart(const ChartTracer &chartTracer) (defined in ChartTracer)ChartTracerinline
ChartTracer(const string &title="", const string &className="ChartTracer") (defined in ChartTracer)ChartTracerinline
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
delay(int lineNumber) (defined in Tracer)Tracerinlinestatic
delay() (defined in Tracer)Tracerinlinestatic
depatch(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
depatch(int x, int y) (defined in Array2DTracer)Array2DTracerinline
deselect(int sx, int ex) (defined in BaseArray1DTracer)BaseArray1DTracerinline
deselect(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
deselect(int sx, int sy, int ex, int ey) (defined in Array2DTracer)Array2DTracerinline
deselectCol(int y, int sx, int ex) (defined in Array2DTracer)Array2DTracerinline
deselectRow(int x, int sy, int ey) (defined in Array2DTracer)Array2DTracerinline
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
onExit() (defined in Commander)Commanderinlinestatic
patch(int x, const json &v) (defined in BaseArray1DTracer)BaseArray1DTracerinline
patch(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
patch(int x, int y, const json &v) (defined in Array2DTracer)Array2DTracerinline
patch(int x, int y) (defined in Array2DTracer)Array2DTracerinline
reset() (defined in Tracer)Tracerinline
select(int sx, int ex) (defined in BaseArray1DTracer)BaseArray1DTracerinline
select(int x) (defined in BaseArray1DTracer)BaseArray1DTracerinline
select(int sx, int sy, int ex, int ey) (defined in Array2DTracer)Array2DTracerinline
selectCol(int y, int sx, int ex) (defined in Array2DTracer)Array2DTracerinline
selectRow(int x, int sy, int ey) (defined in Array2DTracer)Array2DTracerinline
set(const json &array1d) (defined in BaseArray1DTracer)BaseArray1DTracerinline
set() (defined in Tracer)Tracerinline
string typedef (defined in Commander)Commanderprotected
Tracer(const string &title="", const string &className="Tracer") (defined in Tracer)Tracerinline
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_chart_tracer.html b/class_chart_tracer.html new file mode 100644 index 0000000..df53ece --- /dev/null +++ b/class_chart_tracer.html @@ -0,0 +1,233 @@ + + + + + + +algorithm-visualizer: ChartTracer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for ChartTracer:
+
+
+ + +BaseArray1DTracer +Array2DTracer +Tracer +Commander + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

ChartTracer (const string &title="", const string &className="ChartTracer")
 
+void chart (const ChartTracer &chartTracer)
 
+void set (const json &array1d)
 
+void set ()
 
+void patch (int x, const json &v)
 
+void patch (int x)
 
+void patch (int x, int y, const json &v)
 
+void patch (int x, int y)
 
+void depatch (int x)
 
+void depatch (int x, int y)
 
+void select (int sx, int ex)
 
+void select (int x)
 
+void select (int sx, int sy, int ex, int ey)
 
+void deselect (int sx, int ex)
 
+void deselect (int x)
 
+void deselect (int sx, int sy, int ex, int ey)
 
+void selectRow (int x, int sy, int ey)
 
+void selectCol (int y, int sx, int ex)
 
+void deselectRow (int x, int sy, int ey)
 
+void deselectCol (int y, int sx, int ex)
 
+void reset ()
 
+void destroy ()
 
+ + + + + + + + + +

+Static Public Member Functions

+static void delay (int lineNumber)
 
+static void delay ()
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + +

+Protected Types

+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_chart_tracer.png b/class_chart_tracer.png new file mode 100644 index 0000000000000000000000000000000000000000..28cebe297a0f348d1de77d5a129f7320aead6a4e GIT binary patch literal 1109 zcmZ9M3rtgI6o79bjQ3hZvdRJ#tguanq7WBm=%DEA3X~NTkU$~41SW{kqHOarP+peD zs-$FCyG4f4P7pJytd3UZzybwf<6XIKJS02{w9s3)ZU0@(vSj|rc_k+&=R4=*uZ)cN z)X~n>4uT*@#_>=#Zed&uHkP>7jw*w3LyioKJ_-Q9-G${%Zf#c`?!6X;LSa>@rr@DX z0XrfJ!joRTk>2Qo5M(*a2n~)tPgoHR2_(BoR*m#}0F*ISPCK3XqoQ(Abl~ZRAIp>b zJ9nh;%Sd~b4ycSH2qMi3snz*=j50W3Ing3_8*OLr>e7bix3Okr{-V`R>LCrQhP&0| z`%aoCGAFrSMoq{^_FvYEywR;JL($G$LsY4|u_GIl%4O>-gYFm;)MAY~VG~h(-pmXx zjh2s9sy9StVN7^~dq`2djanYr-A#7%_)M@%Qz)laI}I}hiGS@(v#942LH9bs zL74&<&0(~MeA5kLH9!u2de+r57TxB!-0zCp!5}Kf2o8B~_A~z1Md)KSajlq~;(zHq zM*2gyh}jdKOZ7QhM3)w{ zZlG;at>mETQBI7&wK5P}bp@Zd^NhK@Rw4}xm=eBw_86t%8&S{3pDUmc^URwy_xa3dkr55^DJ`+8cWyR`?yGR|rzeu;=p5 zF0G&`h|;XzI#bOx{(Nc>4DAT=u1gznrE6Q@`0T0AXE;3@-|{A7_i^2(eNM2$oxI`1 zwny)>Pxke=>xXb)$(#jukk-Qp{&3}eM?RFW_vr;hta%Xr((%8kWySH3v4(JN<3 z85I35Iu*yI^X^l_7NQ-irx}QDBQ%f}E90$>*1-1J`V*Ux@n9fjZFCh`cm;f8o3be0 z7B8BB7~8AlPf$|$Jm^TW#epZ|v~Z~{8O!)J(_++2Lx9Hmz?1(@?El;f%MhE#B#UDF z;Ao0~?5n=tK#n?O-u*2@b*q_MWM0_DE)e)y6(?P&nm@Pv<$l7_!Kpv}NH41L;5(0- z`yc!+XSLG@T)*$DHVGT=7tA3yi-MuAb1=z$iYYTo$3a(|;gukRq(bTm#i$oSGVmb1 zD2X40Tj01(4ai!21|XqfwG|`$bXML$yF^+xSeG + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Commander Member List
+
+
+ +

This is the complete list of members for Commander, including all inherited members.

+ + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
onExit() (defined in Commander)Commanderinlinestatic
string typedef (defined in Commander)Commanderprotected
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_commander.html b/class_commander.html new file mode 100644 index 0000000..08bc165 --- /dev/null +++ b/class_commander.html @@ -0,0 +1,173 @@ + + + + + + +algorithm-visualizer: Commander Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for Commander:
+
+
+ + +Layout +Tracer +HorizontalLayout +VerticalLayout +Array2DTracer +GraphTracer +LogTracer +BaseArray1DTracer +Array1DTracer +ChartTracer + +
+ + + + +

+Public Member Functions

+void destroy ()
 
+ + + + + +

+Static Public Member Functions

+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + +

+Protected Types

+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + + + +

+Protected Member Functions

Commander (const arguments &args, const string &className="Commander")
 
+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_commander.png b/class_commander.png new file mode 100644 index 0000000000000000000000000000000000000000..634da8a1236c8549f02dad6c41b101c45c8f5bbf GIT binary patch literal 3029 zcmcIm2~d++5{@Y91_f)x3lfkq2r44$0hn+o%KQcd5e4Ls=!k$Tl7J)xlrZ8V>kjB zzyA8VhdZ7Ni#a1AK!^U=mg;p?mtdlG||@``DL}iLBVLj@_zLV`m$QD zipLv99=ogY=Z~FnWgRnozgFe?6bz+_$9J`s@#pdAM6IqzY>!jkW9IsIZex+!!4F`k zE57prMtYZCZyTD^b<~`c&9aDzr?Fhf`p6YS%Um6d<1O-b5TmWlSbDIJF`e$?C?!BS zwd8QJw4otd+fi!A$}&cA;1I}b2n!Yk2m_&*?y}*Ac42-4UH6q{OCdV0?^O*}5m5r{ znNi;e`n09e0pJBSE7Ri5Gg-ZJ6}7+G2pEK1;i|cw2%nd-Wkj{Rk1!MLX!pZ_pQpy; zzq|dJNMgX4Kk(hYD+7ZFZRFuYAmE#kw#Plqt<1naho9%)yA6ouKS(?eY(t2Xs8C_>;rC&tyV!hO zGKl3hQ>wj8nG?g??QJU;|u zWa*g51`d}!!c^W?m$LH;g|i=b@#vR`*Np7lGYk;X)} z&f-u;avlsHD+L0oCf<9WW_|;s+5@GZ^;PN0*ZHQM1$lvTTxM>?XhdEOyAK75s_}jG+UuhIukZ*b`3Eee1WEz>9sH&=WF})K3WP52P-r?D#CxW^`{sSJ)(ia9+pJupKd8Ksj!&^^WmTj?TMoYVq z;So}~AvH6rT-vVleN#2vpJmfFn?)?Z?pEwr^_K=6WFtUeXeq@G#L^L&nmX+^_T@gLZ0k|Uz_Y0C=O zIA)QaS&mQ3LU8t_zYAW{NXpT1Tg7p08(b`kHZdIBJ24j<5vvjqlqPuYXc0N;NySv* zINfX7749e0SwWnMQs~K2Ebruxb7gbDU~#Ie86~OmohbdJ@arnt8^J<~v<^vY5-j`V z3`x(Hr&!as;rl1^uM0=}k+cRuiz%6qlZUboKfP{oSTudvw)MlJKfR18O)x~o`KNXb z8~F%dT>BWIK6AHCEc=*p5o&UWIT+t^9IEfuMbuD-Z1ozuNfG7F@aw!U_~RFw6qc$~ zOm}37K{~qzdR#nLhcvnv#cn#6z|0@yvGF_q+|yWN_7_ZLlKfQc z@7AHKA2kxlQsynDdCNfhQx>nHRqI83%kncY@HEvbV3)oGCc6jDH8<_$#e|?}& zd~@V0ze5bS%!jE<1x}0+9dhX|1_s<3Or|&F4^q|x!fgWSs)OgAi z@LH}#ORn3A<@!{3vA(&L$tMID^1$cRW@+mF7S3P20Wg?q%D?N%|62Zk8%X><-@&^zC1aa?7l+8hij^O}0*ksTNz%~1$_sKU*@Rf~gos|4 zc~@CJ?BuV3S$CKp*M|G(QhvT=)C~@#R7?~C*d}&&i`#Yj@VzCq`5YO}Fq4zb><>`u z15lP{EL5vn-bNP((`Ih6^WA7wTmbvii$8+PaD!m2GDe-8npp=I(X>ER%GPFqgrbV2 z-h6+#SS)(~U5af$PTujt-OiZ;lv1CJr^UC@h{IS;fxFp`hcaN-VNOa+N*RMCV9$mgNf-v+UZQ zh9YNBiB#>xZ{L;m%qn81FE_#Y)qR2M3cYl`ye_-zsl?}`s2$1c5Bk=lZ6{S<2H7!xb zf65U`71y*`TMx(E{(k5Kh^tKk7e#mLK$bx+jP1Z9qcKY;9;FGWcTCiiTge=k6!CmH zuZTv**}C|d#2$2YZ|{+-PgxFjG<0J3JU#`}J>3vw);!TW6v|K + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
GraphTracer Member List
+
+
+ +

This is the complete list of members for GraphTracer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addEdge(const json &source, const json &target, double weight, int visitedCount, int selectedCount) (defined in GraphTracer)GraphTracerinline
addEdge(const json &source, const json &target, double weight, int visitedCount) (defined in GraphTracer)GraphTracerinline
addEdge(const json &source, const json &target, double weight) (defined in GraphTracer)GraphTracerinline
addEdge(const json &source, const json &target) (defined in GraphTracer)GraphTracerinline
addNode(const json &id, double weight, double x, double y, int visitedCount, int selectedCount) (defined in GraphTracer)GraphTracerinline
addNode(const json &id, double weight, double x, double y, int visitedCount) (defined in GraphTracer)GraphTracerinline
addNode(const json &id, double weight, double x, double y) (defined in GraphTracer)GraphTracerinline
addNode(const json &id, double weight, double x) (defined in GraphTracer)GraphTracerinline
addNode(const json &id, double weight) (defined in GraphTracer)GraphTracerinline
addNode(const json &id) (defined in GraphTracer)GraphTracerinline
arguments typedef (defined in Commander)Commanderprotected
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
delay(int lineNumber) (defined in Tracer)Tracerinlinestatic
delay() (defined in Tracer)Tracerinlinestatic
deselect(const json &target, const json &source) (defined in GraphTracer)GraphTracerinline
deselect(const json &target) (defined in GraphTracer)GraphTracerinline
destroy() (defined in Commander)Commanderinline
directed(bool isDirected) (defined in GraphTracer)GraphTracerinline
directed() (defined in GraphTracer)GraphTracerinline
GraphTracer(const string &title="", const string &className="GraphTracer") (defined in GraphTracer)GraphTracerinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
layoutCircle() (defined in GraphTracer)GraphTracerinline
layoutRandom() (defined in GraphTracer)GraphTracerinline
layoutTree(const json &root, bool sorted) (defined in GraphTracer)GraphTracerinline
layoutTree(const json &root) (defined in GraphTracer)GraphTracerinline
layoutTree() (defined in GraphTracer)GraphTracerinline
leave(const json &target, const json &source, double weight) (defined in GraphTracer)GraphTracerinline
leave(const json &target, const json &source) (defined in GraphTracer)GraphTracerinline
leave(const json &target) (defined in GraphTracer)GraphTracerinline
log(LogTracer &logTracer) (defined in GraphTracer)GraphTracerinline
onExit() (defined in Commander)Commanderinlinestatic
removeEdge(const json &source, const json &target) (defined in GraphTracer)GraphTracerinline
removeNode(const json &id) (defined in GraphTracer)GraphTracerinline
reset() (defined in Tracer)Tracerinline
select(const json &target, const json &source) (defined in GraphTracer)GraphTracerinline
select(const json &target) (defined in GraphTracer)GraphTracerinline
set(const json &array2d) (defined in GraphTracer)GraphTracerinline
set() (defined in Tracer)Tracerinline
string typedef (defined in Commander)Commanderprotected
Tracer(const string &title="", const string &className="Tracer") (defined in Tracer)Tracerinline
updateEdge(const json &source, const json &target, double weight, int visitedCount, int selectedCount) (defined in GraphTracer)GraphTracerinline
updateEdge(const json &source, const json &target, double weight, int visitedCount) (defined in GraphTracer)GraphTracerinline
updateEdge(const json &source, const json &target, double weight) (defined in GraphTracer)GraphTracerinline
updateEdge(const json &source, const json &target) (defined in GraphTracer)GraphTracerinline
updateNode(const json &id, double weight, double x, double y, int visitedCount, int selectedCount) (defined in GraphTracer)GraphTracerinline
updateNode(const json &id, double weight, double x, double y, int visitedCount) (defined in GraphTracer)GraphTracerinline
updateNode(const json &id, double weight, double x, double y) (defined in GraphTracer)GraphTracerinline
updateNode(const json &id, double weight, double x) (defined in GraphTracer)GraphTracerinline
updateNode(const json &id, double weight) (defined in GraphTracer)GraphTracerinline
updateNode(const json &id) (defined in GraphTracer)GraphTracerinline
visit(const json &target, const json &source, double weight) (defined in GraphTracer)GraphTracerinline
visit(const json &target, const json &source) (defined in GraphTracer)GraphTracerinline
visit(const json &target) (defined in GraphTracer)GraphTracerinline
weighted(bool isWeighted) (defined in GraphTracer)GraphTracerinline
weighted() (defined in GraphTracer)GraphTracerinline
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_graph_tracer.html b/class_graph_tracer.html new file mode 100644 index 0000000..c83abcb --- /dev/null +++ b/class_graph_tracer.html @@ -0,0 +1,306 @@ + + + + + + +algorithm-visualizer: GraphTracer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for GraphTracer:
+
+
+ + +Tracer +Commander + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

GraphTracer (const string &title="", const string &className="GraphTracer")
 
+void set (const json &array2d)
 
+GraphTracer directed (bool isDirected)
 
+GraphTracer directed ()
 
+GraphTracer weighted (bool isWeighted)
 
+GraphTracer weighted ()
 
+GraphTracer layoutCircle ()
 
+GraphTracer layoutTree (const json &root, bool sorted)
 
+GraphTracer layoutTree (const json &root)
 
+GraphTracer layoutTree ()
 
+GraphTracer layoutRandom ()
 
+void addNode (const json &id, double weight, double x, double y, int visitedCount, int selectedCount)
 
+void addNode (const json &id, double weight, double x, double y, int visitedCount)
 
+void addNode (const json &id, double weight, double x, double y)
 
+void addNode (const json &id, double weight, double x)
 
+void addNode (const json &id, double weight)
 
+void addNode (const json &id)
 
+void updateNode (const json &id, double weight, double x, double y, int visitedCount, int selectedCount)
 
+void updateNode (const json &id, double weight, double x, double y, int visitedCount)
 
+void updateNode (const json &id, double weight, double x, double y)
 
+void updateNode (const json &id, double weight, double x)
 
+void updateNode (const json &id, double weight)
 
+void updateNode (const json &id)
 
+void removeNode (const json &id)
 
+void addEdge (const json &source, const json &target, double weight, int visitedCount, int selectedCount)
 
+void addEdge (const json &source, const json &target, double weight, int visitedCount)
 
+void addEdge (const json &source, const json &target, double weight)
 
+void addEdge (const json &source, const json &target)
 
+void updateEdge (const json &source, const json &target, double weight, int visitedCount, int selectedCount)
 
+void updateEdge (const json &source, const json &target, double weight, int visitedCount)
 
+void updateEdge (const json &source, const json &target, double weight)
 
+void updateEdge (const json &source, const json &target)
 
+void removeEdge (const json &source, const json &target)
 
+void visit (const json &target, const json &source, double weight)
 
+void visit (const json &target, const json &source)
 
+void visit (const json &target)
 
+void leave (const json &target, const json &source, double weight)
 
+void leave (const json &target, const json &source)
 
+void leave (const json &target)
 
+void select (const json &target, const json &source)
 
+void select (const json &target)
 
+void deselect (const json &target, const json &source)
 
+void deselect (const json &target)
 
+void log (LogTracer &logTracer)
 
+void set ()
 
+void reset ()
 
+void destroy ()
 
+ + + + + + + + + +

+Static Public Member Functions

+static void delay (int lineNumber)
 
+static void delay ()
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + +

+Protected Types

+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_graph_tracer.png b/class_graph_tracer.png new file mode 100644 index 0000000000000000000000000000000000000000..0a5c32698d2c1bed970eb0819e5cbf6cf4d5143f GIT binary patch literal 564 zcmV-40?Yl0P)vTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0005QNkl#l?#41}lC#P@&Xqufze(F2>fsd2)k?MH3d{S8&s;ewLnU>WrrR9PRA>{r{p zqB@s**lTL`@F~l-Q%$lVth_m_GN4KIkuJys(Jl7aZO8o|7wiiQLjGI*7 z&K))M_%XGaWDNU2O?RN5TGjRHzNSwSvV5H(G`?{M?0>+hZ>6fLjurrPY5{=ZnnGQc z8Q3Y*6*>Vshx)2JU{s?T)u=`_s!@NIs;W9%P?8)hqkfqx{vpZxI?MGTvWqI)7_#0C zAJ6TeZcx9f2WKJ4qk3{pt1wMel5DDz>KhlSp^g8g7N1^cPm&GYrj~Uj$)@@%(6|aD z*_8bc81-dTRn^e~fKDv{FkDlp%Q6Eyg}Oo~VCPU@bq9=URHGWzs75vF&r(H1h6@4! zgJsm|RM$HIILL3u_5#3#GS!Xkn0zn*bSP1CfZOs(tg6awmusK0000 + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
HorizontalLayout Member List
+
+
+ +

This is the complete list of members for HorizontalLayout, including all inherited members.

+ + + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
commander_list typedef (defined in Layout)Layoutprotected
destroy() (defined in Commander)Commanderinline
HorizontalLayout(const commander_list &children, const string &className="HorizontalLayout") (defined in HorizontalLayout)HorizontalLayoutinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
Layout(const commander_list &children, const string &className="Layout") (defined in Layout)Layoutinline
onExit() (defined in Commander)Commanderinlinestatic
setRoot(const Commander &child) (defined in Layout)Layoutinlinestatic
string typedef (defined in Commander)Commanderprotected
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_horizontal_layout.html b/class_horizontal_layout.html new file mode 100644 index 0000000..205ed5c --- /dev/null +++ b/class_horizontal_layout.html @@ -0,0 +1,171 @@ + + + + + + +algorithm-visualizer: HorizontalLayout Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for HorizontalLayout:
+
+
+ + +Layout +Commander + +
+ + + + + + +

+Public Member Functions

HorizontalLayout (const commander_list &children, const string &className="HorizontalLayout")
 
+void destroy ()
 
+ + + + + + + +

+Static Public Member Functions

+static void setRoot (const Commander &child)
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + + + +

+Protected Types

+using commander_list = std::vector< Commander >
 
+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_horizontal_layout.png b/class_horizontal_layout.png new file mode 100644 index 0000000000000000000000000000000000000000..c834b1830a8ad7f0ec73c1c160764b370b840ac8 GIT binary patch literal 648 zcmeAS@N?(olHy`uVBq!ia0vp^*+AUE!3-p?Z+t2Qq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0#64XcLn;{G&W-JBHsE1Xk5_qD|759( z!-7_(ce_MCb=~|^?P2g`>YU=TCLK?`7Vk+pe_FJ^)=w&#v;Fe+n8SyPH?3Y*8GAFX z>WhxnXNTOW4{udz);-ty*cRYw9J;LW)~cU)IW9#M= ze`9=LBikU{w{G3%$(FmSrp`Wdx%9RTk9fnx0>&F0;tjp%)aR+i=lmw9o@_1foYXtN zSk?2^^8-`vmoELX!q;SN(DWs;=XPYhIO{a&n?-e7-nxHFylyca|Z){IXY*m)Ppnn)l^6O$v)Cj17q`j14`S-=!kCbEEe2IkgNH{_GE0 z7O#H&C#7#)+*7sBC3nsE53?qy#4wm0Vogv+qYl(8oia&Sg+UxB_gH&f(3&IC-wn&Z zZ)N^&rTHy}LI1~`*B_OxOmtsyY0dxNo30)2J84>K;&{w7`NP)id4KOj{+`wMY+3l< z)kzOmtvBNo+tT~>)>TQlGTXPWTi5Fzlg>U@u<_~no!icBVB7O7tLWLJ?7BC*DowHb1S<5~R Qlx!G0UHx3vIVCg!06JzgiU0rr literal 0 HcmV?d00001 diff --git a/class_layout-members.html b/class_layout-members.html new file mode 100644 index 0000000..ee70d1e --- /dev/null +++ b/class_layout-members.html @@ -0,0 +1,111 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Layout Member List
+
+
+ +

This is the complete list of members for Layout, including all inherited members.

+ + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
commander_list typedef (defined in Layout)Layoutprotected
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
Layout(const commander_list &children, const string &className="Layout") (defined in Layout)Layoutinline
onExit() (defined in Commander)Commanderinlinestatic
setRoot(const Commander &child) (defined in Layout)Layoutinlinestatic
string typedef (defined in Commander)Commanderprotected
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_layout.html b/class_layout.html new file mode 100644 index 0000000..ecb76d7 --- /dev/null +++ b/class_layout.html @@ -0,0 +1,172 @@ + + + + + + +algorithm-visualizer: Layout Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for Layout:
+
+
+ + +Commander +HorizontalLayout +VerticalLayout + +
+ + + + + + +

+Public Member Functions

Layout (const commander_list &children, const string &className="Layout")
 
+void destroy ()
 
+ + + + + + + +

+Static Public Member Functions

+static void setRoot (const Commander &child)
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + + + +

+Protected Types

+using commander_list = std::vector< Commander >
 
+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file:
    +
  • include/algorithm-visualizer/Layout.h
  • +
+
+ + + + diff --git a/class_layout.png b/class_layout.png new file mode 100644 index 0000000000000000000000000000000000000000..7dcd8e1641c5b0bd454907db2a2205912bcf45c8 GIT binary patch literal 906 zcmeAS@N?(olHy`uVBq!ia0vp^4}iFXgBeJk3=w|= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0B|TjnLn;{G&V5+6T0wxVy}!8Tzx%$G zixvegzQ-%N%Pg36Vk*n@{S4-vhR2*3rl@-b3C0K&k zI{WkAH(NGGX$#A2y5ME7beR~7`SQG)H$R(##ccI={9sdk*_-~Z`SL98pntFPmt5I7 z(G{q5GmGj;32~MU$5~ZRvLMmw$0WEJ12|QQ9lLP4CC2?AseE9nUXfD1F?- zU`hh!S8NgBVhos9lo$*0D~rKFR>n7$g4dRHax>L5axa$OwyASXN!H}*Jqe#~+A_)n z9u>-s{;*YmeR|H)Z7MTri|V}%e6QJMX(FX6;L|KqEE#QoiMD|7S3I{yOwFVW|xFPbYfWeG1Ar`IJW z<%0shUSIhCcgnL<;b#L(!+rkxibkqGHg=wUSJlewtkeIPr_DR%a>EPiUhFlxnkpK6 zB8Or2a^t4e7oz{p>Hnr?Aro|A(w+@(k_3yss{QjX*#G(SMZ5D4+EVJI?z?Tv5X=AD z^x%WxlIeRiE0k~5bG_4@WpZtH(`m`OQ4^mpo-2B0(s|v3KZEUVv5NjZk90g literal 0 HcmV?d00001 diff --git a/class_log_tracer-members.html b/class_log_tracer-members.html new file mode 100644 index 0000000..97c50ff --- /dev/null +++ b/class_log_tracer-members.html @@ -0,0 +1,118 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
LogTracer Member List
+
+
+ +

This is the complete list of members for LogTracer, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
delay(int lineNumber) (defined in Tracer)Tracerinlinestatic
delay() (defined in Tracer)Tracerinlinestatic
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
LogTracer(const string &title="", const string &className="LogTracer") (defined in LogTracer)LogTracerinline
onExit() (defined in Commander)Commanderinlinestatic
print(const json &message) (defined in LogTracer)LogTracerinline
printf(const char *format,...) (defined in LogTracer)LogTracerinline
println(const json &message) (defined in LogTracer)LogTracerinline
reset() (defined in Tracer)Tracerinline
set(const json &log) (defined in LogTracer)LogTracerinline
set() (defined in Tracer)Tracerinline
string typedef (defined in Commander)Commanderprotected
Tracer(const string &title="", const string &className="Tracer") (defined in Tracer)Tracerinline
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_log_tracer.html b/class_log_tracer.html new file mode 100644 index 0000000..fe221f5 --- /dev/null +++ b/class_log_tracer.html @@ -0,0 +1,189 @@ + + + + + + +algorithm-visualizer: LogTracer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for LogTracer:
+
+
+ + +Tracer +Commander + +
+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

LogTracer (const string &title="", const string &className="LogTracer")
 
+void set (const json &log)
 
+void print (const json &message)
 
+void println (const json &message)
 
+void printf (const char *format,...)
 
+void set ()
 
+void reset ()
 
+void destroy ()
 
+ + + + + + + + + +

+Static Public Member Functions

+static void delay (int lineNumber)
 
+static void delay ()
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + +

+Protected Types

+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_log_tracer.png b/class_log_tracer.png new file mode 100644 index 0000000000000000000000000000000000000000..de9e9e8d35dff498b7782f80cbc69227c25d7ba3 GIT binary patch literal 579 zcmeAS@N?(olHy`uVBq!ia0vp^{y^Np!3-oPvb*g7QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;oPS4R-@8XNj-4xuUvQyB`b5rrBr9USuDYUxGe_yIb{m(P&B-OK9 zVlu7V7xa1U=v(#Rop$!Mm#$mOzd6WWjk{WRDnD9n>9;ipmFu#;J zzB$olpWl9!{cd{x{pa7?^A$Xw7xP|ORQ5`GKl`LF+7BnISZ~&UKIbokL?Tnck(=he z`<&A6uPGL-`u(q__AvVg=7-E1gzXrt;na%>#pn7asGjWo;5ljTKK-fAlj1%Z+IPRX zIepr;w5rTso1-1=LfsYGsPvvz09Cg!QkoY K=d#Wzp$PzR@F9Qz literal 0 HcmV?d00001 diff --git a/class_randomize_1_1_array1_d-members.html b/class_randomize_1_1_array1_d-members.html new file mode 100644 index 0000000..cfb88f8 --- /dev/null +++ b/class_randomize_1_1_array1_d-members.html @@ -0,0 +1,106 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Randomize::Array1D< T > Member List
+
+
+ +

This is the complete list of members for Randomize::Array1D< T >, including all inherited members.

+ + + + + +
Array1D(int N=10, Randomizer< T > &randomizer=*(new Integer())) (defined in Randomize::Array1D< T >)Randomize::Array1D< T >inline
create() (defined in Randomize::Array1D< T >)Randomize::Array1D< T >inlinevirtual
fill(T *D) (defined in Randomize::Array1D< T >)Randomize::Array1D< T >inline
sorted(bool sorted=true) (defined in Randomize::Array1D< T >)Randomize::Array1D< T >inline
+ + + + diff --git a/class_randomize_1_1_array1_d.html b/class_randomize_1_1_array1_d.html new file mode 100644 index 0000000..95fc2ca --- /dev/null +++ b/class_randomize_1_1_array1_d.html @@ -0,0 +1,130 @@ + + + + + + +algorithm-visualizer: Randomize::Array1D< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
Randomize::Array1D< T > Class Template Reference
+
+
+
+Inheritance diagram for Randomize::Array1D< T >:
+
+
+ + +Randomize::Randomizer< void > + +
+ + + + + + + + + + +

+Public Member Functions

Array1D (int N=10, Randomizer< T > &randomizer=*(new Integer()))
 
+Array1D sorted (bool sorted=true)
 
+void create ()
 
+void fill (T *D)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_randomize_1_1_array1_d.png b/class_randomize_1_1_array1_d.png new file mode 100644 index 0000000000000000000000000000000000000000..30443f2747900150ee633631e420ceb760079d99 GIT binary patch literal 697 zcmeAS@N?(olHy`uVBq!ia0vp^2Z1<%gBeIpU-r-gNJ#|vgt-3y{~ySF@#br3|Dg#$ z78oBmaDcV*jy#adQ4-`A%m7pb0#{Fk7%?y~d3d@whEy=Vo%^p^(zuu)i|CRI0 zKQ}US9`;$eW=+gjzeb7M$Ng;TZ*I$tj>?&|WkZw0q#99{Nl#Y0P54)*@^Z<+%bgE@ z>#1a}NV2QQR-dtJuk33^@ku31qgi(Lz5F`+^(}iHvz-reA99M{T;+dl-*p+!P4|Tz zKgYd46}t0G+$QDC7xL=fE_!fH{`D=FjBe{wA7o1O`-JYU&b9tMulv?|XZ~H^efVdk zUT=PMWLl2gKFRki`8zkL>b>K+)43qhzx?9a4~r-Nu@*lrSL1B(?x4j3i<;ZV)5P~a zU3BjB#grZ8d~XyCfBaS0cTr6=3+G#lZj!5@hKIQJPD)Z1G^=)`m*W5`I$5S8(OQ%Pl<2 z7tQR9;ww$`-&FKn-;dLW@yu1$Gkc2*xbCV(aqgNE&G)>v$gv<}!CAJ1C9mbS6qmIp z6lmO@`!jg&%tPDfUVC1&W420Fz4%=fi{%&AzLgTFS-}2y&T*FZl6s$jdsUxgZbXK# zU8oeBxqhyz^NL;FI?ulRKghh9<3V$k&KmK9#es7<t>J(gnIj{l85HfsbAUO Xuxl6z73$6drZWalS3j3^P6w literal 0 HcmV?d00001 diff --git a/class_randomize_1_1_array2_d-members.html b/class_randomize_1_1_array2_d-members.html new file mode 100644 index 0000000..eb8601e --- /dev/null +++ b/class_randomize_1_1_array2_d-members.html @@ -0,0 +1,106 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Randomize::Array2D< T > Member List
+
+
+ +

This is the complete list of members for Randomize::Array2D< T >, including all inherited members.

+ + + + + +
Array2D(int N=10, int M=10, Randomizer< T > &randomizer=*(new Integer())) (defined in Randomize::Array2D< T >)Randomize::Array2D< T >inline
create() (defined in Randomize::Array2D< T >)Randomize::Array2D< T >inlinevirtual
fill(T *D) (defined in Randomize::Array2D< T >)Randomize::Array2D< T >inline
sorted(bool sorted=true) (defined in Randomize::Array2D< T >)Randomize::Array2D< T >inline
+ + + + diff --git a/class_randomize_1_1_array2_d.html b/class_randomize_1_1_array2_d.html new file mode 100644 index 0000000..fa5e3b7 --- /dev/null +++ b/class_randomize_1_1_array2_d.html @@ -0,0 +1,130 @@ + + + + + + +algorithm-visualizer: Randomize::Array2D< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
Randomize::Array2D< T > Class Template Reference
+
+
+
+Inheritance diagram for Randomize::Array2D< T >:
+
+
+ + +Randomize::Randomizer< void > + +
+ + + + + + + + + + +

+Public Member Functions

Array2D (int N=10, int M=10, Randomizer< T > &randomizer=*(new Integer()))
 
+Array2D sorted (bool sorted=true)
 
+void create ()
 
+void fill (T *D)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_randomize_1_1_array2_d.png b/class_randomize_1_1_array2_d.png new file mode 100644 index 0000000000000000000000000000000000000000..d751c4eaae8c7473d33c8ccabd1c3d4c89a488c1 GIT binary patch literal 701 zcmeAS@N?(olHy`uVBq!ia0vp^2Z1<%gBeIpU-r-gNJ#|vgt-3y{~ySF@#br3|Dg#$ z78oBmaDcV*jy#adQ4-`A%m7pb0#{Fk7%?y~`FOfGhEy=Vo%^p^(zh2P&{}Z?G z{&}Er$>A*_VPSG#`52qtCR_hIyDj(jrKHJAT18nVJz1?VK_%X_>C1QjNq$l`b94UO zX;I+~-NwJ~7U!}w{olI|wy5mAq}nv+_?JD;_I%?%J#Ws3Z;$wdE5qg2{9PwGDWzV$ zDQ)k)siBc++BYXuUd+2^7Fh85=qxk2Tc>4HEBJQtyEneOxozs-GcIedFJ!x0zKkt5 zJ-j*T$g-Sw`*QDb+8HGV$DEPeA?$eD_U)qXckb#xZH13Z{c$i@cksr;8?~>KFT2Xm zT=BWcL~`9+W@`_gI(v^bhQ=O!YyY-&9-Oh#{r4lCNlR4WK4EQC`T1(U!i{aY(UA=C zSD6zsb^Sk7tm)feb5J;;u;nXfk{Dx!HU~qEC=0_rE+&R}R>p?)O$-OZ9T^_1R$%xL zD!}kV3q|@s_R=YrE-5kUtbs~r`As-)c_6TP`DK$o6Xw53da{a7s$qJSqXF*&@zCE3 zkNiJ0f7h;O&zT%gUj96*__F<-!x=wiX6Q?Q-e&vd(V};ZZ{F)Qi6!jSUcKpzi*B3k z>evOW>rVfY+pcQBX|P({;QG0PCriawyk(wzr|*DU3g?+_F3U9s=R7Rs_4;@2q_p6c zvu5Q_&;40_jc?=oTC10fBoBYp+vQQfx3GHqYJ0Bxs}5Q`Gd#F)ZM}EEb@O@5*4<_8 z?U5;UWn#Pwv&83CFUPyjuUrZi2XEJ7+TjZI|JBI~OQ(cglNSrn WFgKq3$Q+o~7(8A5T-G@yGywpZ<3Tk5 literal 0 HcmV?d00001 diff --git a/class_randomize_1_1_double-members.html b/class_randomize_1_1_double-members.html new file mode 100644 index 0000000..7b2acc3 --- /dev/null +++ b/class_randomize_1_1_double-members.html @@ -0,0 +1,104 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Randomize::Double Member List
+
+
+ +

This is the complete list of members for Randomize::Double, including all inherited members.

+ + + +
create() (defined in Randomize::Double)Randomize::Doubleinlinevirtual
Double(double min=0, double max=1) (defined in Randomize::Double)Randomize::Doubleinline
+ + + + diff --git a/class_randomize_1_1_double.html b/class_randomize_1_1_double.html new file mode 100644 index 0000000..f27b12c --- /dev/null +++ b/class_randomize_1_1_double.html @@ -0,0 +1,124 @@ + + + + + + +algorithm-visualizer: Randomize::Double Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
Randomize::Double Class Reference
+
+
+
+Inheritance diagram for Randomize::Double:
+
+
+ + +Randomize::Randomizer< double > + +
+ + + + + + +

+Public Member Functions

Double (double min=0, double max=1)
 
+double create ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_randomize_1_1_double.png b/class_randomize_1_1_double.png new file mode 100644 index 0000000000000000000000000000000000000000..e0c83b917d413a009228b2a837806a190d9342dc GIT binary patch literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^=YcqYgBeJ6=3o2`q$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ06g*uVLn;{G&b`?8T7k!fUwGyJ|0lPX zD_&{bFkAKNHK%n(UQTC^us6@Yxh*%^BWKccb!y|sC*tP~-d&o0KSl9m-1`S7v**nFzUSHTgF=(L1OHdFyY^X4`E8)@e{$a2 z>H8n9ynpNdso=^p@+bYC_5U);4SeuD+I;FD#6Y1HrsVhy^4R9Im^FN^4<3ClXJc{TXuK;DlrMK=<}|mL66S+%>aE~i*)?$aeFXBg+r3a(aB)A6g?JU4vziL3wAJh?SMet~;R>5T5nu zWG~Btt0!M5e7LiS=j{5AGUq?co_>~1O#a!)>_1;lDBoPeH*H2t&#(5gH`<<`$hqpq z9CKNB-mG{3!seYyeztn%^(pL&d#}dK%$q;oZmHVaaKqd-WjX7g?<=x;_wA^Aw({Wq z2a?}p8W!H$bYJh&7xw?{zZm`my?<&Mw%T6jY@M}9lg&@#=f}S-yL9E(zcjtu_iw!o sc~|}U2heW?tC0Q0S{dY(Df^c>f>mpW&r^wa!1Tl5>FVdQ&MBb@07p(zA^-pY literal 0 HcmV?d00001 diff --git a/class_randomize_1_1_graph-members.html b/class_randomize_1_1_graph-members.html new file mode 100644 index 0000000..6309c79 --- /dev/null +++ b/class_randomize_1_1_graph-members.html @@ -0,0 +1,107 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Randomize::Graph< T > Member List
+
+
+ +

This is the complete list of members for Randomize::Graph< T >, including all inherited members.

+ + + + + + +
create() (defined in Randomize::Graph< T >)Randomize::Graph< T >inlinevirtual
directed(bool directed=true) (defined in Randomize::Graph< T >)Randomize::Graph< T >inline
fill(T *G) (defined in Randomize::Graph< T >)Randomize::Graph< T >inline
Graph(int N=5, double ratio=.3, Randomizer< T > &randomizer=*(new Integer())) (defined in Randomize::Graph< T >)Randomize::Graph< T >inline
weighted(bool weighted=true) (defined in Randomize::Graph< T >)Randomize::Graph< T >inline
+ + + + diff --git a/class_randomize_1_1_graph.html b/class_randomize_1_1_graph.html new file mode 100644 index 0000000..55db8b0 --- /dev/null +++ b/class_randomize_1_1_graph.html @@ -0,0 +1,133 @@ + + + + + + +algorithm-visualizer: Randomize::Graph< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
Randomize::Graph< T > Class Template Reference
+
+
+
+Inheritance diagram for Randomize::Graph< T >:
+
+
+ + +Randomize::Randomizer< void > + +
+ + + + + + + + + + + + +

+Public Member Functions

Graph (int N=5, double ratio=.3, Randomizer< T > &randomizer=*(new Integer()))
 
+Graph directed (bool directed=true)
 
+Graph weighted (bool weighted=true)
 
+void create ()
 
+void fill (T *G)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_randomize_1_1_graph.png b/class_randomize_1_1_graph.png new file mode 100644 index 0000000000000000000000000000000000000000..cc58689637d8be14cb8bb479dc84fca1137b0e3d GIT binary patch literal 677 zcmeAS@N?(olHy`uVBq!ia0vp^2Z1<%gBeIpU-r-gNJ#|vgt-3y{~ySF@#br3|Dg#$ z78oBmaDcV*jy#adQ4-`A%m7pb0#{Fk7%?y~nRvQ5hEy=Vo%^=0SwX;+|N4^m|4-cJ z?O5!z_3FEpvpIV-UlhzdeEd!Pvdmd+Vv|*P*C2tKYT0)ozpCY*t?J zu6X?xFXP=Q%AXgO*=^I<@wtDineml=Zm-XBYuL64#fIH}_r|ola=%&i2C4LK3*6Ry zTQK8>>TCb_X7MI(v9iwYxsA64ue^AtX=PdaTCF~9gFn*=kFSIRoLodJ=VttGiSnor|3>vqA1ET>B(xCZ(hX<_*^#W)oED& ziqT+8n|g(fo4drk2b=~LhkmdGb~Ee|WntLI#l#TL%Gj{JiQz!FBg2E$3Jf1Y1sHy4 zaWK@NN({v_ABjn1IQL@4g4s8%Czl-7x7zPI z;rdg_`S+hReogIMc{(@z;PWxa!s>V47m^boFyt=akR{0OE5sga7~l literal 0 HcmV?d00001 diff --git a/class_randomize_1_1_integer-members.html b/class_randomize_1_1_integer-members.html new file mode 100644 index 0000000..1b3be36 --- /dev/null +++ b/class_randomize_1_1_integer-members.html @@ -0,0 +1,104 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Randomize::Integer Member List
+
+
+ +

This is the complete list of members for Randomize::Integer, including all inherited members.

+ + + +
create() (defined in Randomize::Integer)Randomize::Integerinlinevirtual
Integer(int min=1, int max=9) (defined in Randomize::Integer)Randomize::Integerinline
+ + + + diff --git a/class_randomize_1_1_integer.html b/class_randomize_1_1_integer.html new file mode 100644 index 0000000..92aa8cd --- /dev/null +++ b/class_randomize_1_1_integer.html @@ -0,0 +1,124 @@ + + + + + + +algorithm-visualizer: Randomize::Integer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
Randomize::Integer Class Reference
+
+
+
+Inheritance diagram for Randomize::Integer:
+
+
+ + +Randomize::Randomizer< int > + +
+ + + + + + +

+Public Member Functions

Integer (int min=1, int max=9)
 
+int create ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_randomize_1_1_integer.png b/class_randomize_1_1_integer.png new file mode 100644 index 0000000000000000000000000000000000000000..bf266d3d7e522c134ef655ffdb75884334b0137d GIT binary patch literal 649 zcmeAS@N?(olHy`uVBq!ia0vp^+kiNLgBeIR8`rM{QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM; zU*NRe&>p8Rp20Lf(&LhA@D0u6#NEqywl!O-E#2nxhre6o>H)R(dtz}Lx}W}=^8Qn9 zl84<@m&zTv6aOFoTU3;>oNepf4_{vN?YUO{<4n^1nQFIr%S`X4SnrQiPv4WqX}3W> z^2wXJ?pUWbSEHS2?>+8q-ZB5}Kdrx}-nn6}pH3*<<~fxUal2IdMEd_*Y^&n$vYmTc zb@dO;wE;u>|P16eQ~ z%QjyA$!f9M_?Om)!d1^Uwx9Mj{-agq_3K-llqXxN!SN+`HHD8V?fsT-aNdONvPFKf z_^Q8}_n+Q&nP{`RGq}LI*yd>rL(Tf=t#{YlTB;o#9Dc;|L)FZ6^R{oATfX(&dx_mF z{2QX@?_I{ARzIQ5gu|KIX_bvV3q z(rHJTa-oLnzgpHm;cdEqtZuoHo#ySY-#HTe<_D-SedEljzr79jBUoM&wh38 R{sK%l44$rjF6*2UngA=PE=T|X literal 0 HcmV?d00001 diff --git a/class_randomize_1_1_randomizer-members.html b/class_randomize_1_1_randomizer-members.html new file mode 100644 index 0000000..ef1451d --- /dev/null +++ b/class_randomize_1_1_randomizer-members.html @@ -0,0 +1,103 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Randomize::Randomizer< T > Member List
+
+
+ +

This is the complete list of members for Randomize::Randomizer< T >, including all inherited members.

+ + +
create()=0 (defined in Randomize::Randomizer< T >)Randomize::Randomizer< T >pure virtual
+ + + + diff --git a/class_randomize_1_1_randomizer.html b/class_randomize_1_1_randomizer.html new file mode 100644 index 0000000..ca28a95 --- /dev/null +++ b/class_randomize_1_1_randomizer.html @@ -0,0 +1,112 @@ + + + + + + +algorithm-visualizer: Randomize::Randomizer< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
Randomize::Randomizer< T > Class Template Referenceabstract
+
+
+ + + + +

+Public Member Functions

+virtual T create ()=0
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_randomize_1_1_string-members.html b/class_randomize_1_1_string-members.html new file mode 100644 index 0000000..a800041 --- /dev/null +++ b/class_randomize_1_1_string-members.html @@ -0,0 +1,104 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
Randomize::String Member List
+
+
+ +

This is the complete list of members for Randomize::String, including all inherited members.

+ + + +
create() (defined in Randomize::String)Randomize::Stringinlinevirtual
String(int length=16, const string &letters="abcdefghijklmnopqrstuvwxyz") (defined in Randomize::String)Randomize::Stringinline
+ + + + diff --git a/class_randomize_1_1_string.html b/class_randomize_1_1_string.html new file mode 100644 index 0000000..2f4d373 --- /dev/null +++ b/class_randomize_1_1_string.html @@ -0,0 +1,124 @@ + + + + + + +algorithm-visualizer: Randomize::String Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
Randomize::String Class Reference
+
+
+
+Inheritance diagram for Randomize::String:
+
+
+ + +Randomize::Randomizer< string > + +
+ + + + + + +

+Public Member Functions

String (int length=16, const string &letters="abcdefghijklmnopqrstuvwxyz")
 
+string create ()
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_randomize_1_1_string.png b/class_randomize_1_1_string.png new file mode 100644 index 0000000000000000000000000000000000000000..2132d949df01f522c5d59c531dd2743dcaa03ebe GIT binary patch literal 688 zcmeAS@N?(olHy`uVBq!ia0vp^CxAGBgBeI>Z$8xoq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0>^)r^Ln;{G&VAkY$$-bjf0@wx|0m>g z^epx=F?jka&q^qb>H`#{+kdvdHa6fJ%^RnzY>ahmS_Ak z?XSwsY{pA=LG@FYf0_}yY2wTbd%ox?8n4e*g)Kg}K7LQ2a%@ZX$9v!JrTw4ddiU+W zfSEV{nYq6-3fl9AEzkX;*nLO8$QyI_9sj|zWbc;BEpa_bYj5;No-sDEuGnp~>EGS2 z8o$o$Ke*_|nyV*f-7o9CF)jGlnN3e;oZdF)=SKU4jc;61izard$9hkyb8~Ju)BU&H zIO#w8|6dm;Etv`OoF>SZ>l7}V_%d@mc)W|DXF;HY-gHL~H^!YsJ&r~^9woXA@mvB7 z{>0;k@Toyw${j2pe#7)wu}s>{av(-~vGl*Ai_XovcP?3B_WZh=YohkNwVA`ba`&vy z!Bv&gI@#}b=U zUj^-0e#Z6QSQi>~byN1t(`9SJ-lXPC?9wmOZRpS9n2>*s + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
Tracer Member List
+
+
+ +

This is the complete list of members for Tracer, including all inherited members.

+ + + + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
delay(int lineNumber) (defined in Tracer)Tracerinlinestatic
delay() (defined in Tracer)Tracerinlinestatic
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
onExit() (defined in Commander)Commanderinlinestatic
reset() (defined in Tracer)Tracerinline
set() (defined in Tracer)Tracerinline
string typedef (defined in Commander)Commanderprotected
Tracer(const string &title="", const string &className="Tracer") (defined in Tracer)Tracerinline
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_tracer.html b/class_tracer.html new file mode 100644 index 0000000..fbf3c7f --- /dev/null +++ b/class_tracer.html @@ -0,0 +1,182 @@ + + + + + + +algorithm-visualizer: Tracer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for Tracer:
+
+
+ + +Commander +Array2DTracer +GraphTracer +LogTracer +BaseArray1DTracer +Array1DTracer +ChartTracer + +
+ + + + + + + + + + +

+Public Member Functions

Tracer (const string &title="", const string &className="Tracer")
 
+void set ()
 
+void reset ()
 
+void destroy ()
 
+ + + + + + + + + +

+Static Public Member Functions

+static void delay (int lineNumber)
 
+static void delay ()
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + +

+Protected Types

+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file:
    +
  • include/algorithm-visualizer/Tracer.h
  • +
+
+ + + + diff --git a/class_tracer.png b/class_tracer.png new file mode 100644 index 0000000000000000000000000000000000000000..b94ca6716b7b5eced7fda1fb44a6f5330a118085 GIT binary patch literal 2217 zcmb_edr(tX9>!W8qLjMZ6hr}AJMC@|!&(uF5FQ1QRURStgg1eTfC`~1Atby;*hn$F ztYcAm$U{T80iun(69PDji}Fx5yuxE5D}f*Z3kU&1_Q2My&g@M8*u69N-1FUY=FIti zzw>>+li}szs;6tDtD&Kx=XT85TSH@u81|QSw!${+^UNFYW9W4PaZ#()usiu`k($$% z3wxVyOG}Gp#;_@bI2`!FU+^<08r(7_P48SA_DG4AjDK41CMXr2eoQKNa zD3;@q&_q#%;s?daEUe%@8R>RfCC1GwJ6^OZvmWqOlJp4C$F7)1G_E|Dl3uHAXJ;)u z7atcN+fs$DG;`XP6`*Qpf8B$8*-`{ebl?$z`MSzSOplr`?UYFxSQF(Mwz_CLFL($qNlSoQHoN!)AlxF z#`>)591gLv=PUlCKc=v#0)R%F4(s{|0j!w?Il3)~*BJMq+M7xfi3V?7leL?jf#f_9Og3W&V)-QWfu``okY>}E$ z!Vt`LQ{s4mP1lpR;FHfcmy1!B=0AtzuLpFBZZp(6MLfngEY?qXeY~;AH$i!#VH9PV zcng~acGjsf4&EZwiYT;=7B#RDkTlizciW(A6WZ1|f*hf0%s~MD4_CU z6Yhd92j_E3Wo2g#Q&E* zHwVLpVvGgF7V6|Yq z_bL}{&oS?69ju`@d@xJ1mYhVS8O8_~HJN%$1d9$E?n?~HFaq&TT%^Ag66xu{)T3uy z;K17`Z5rgii^H5p^kw~<4|Ii>v4^I&T2}U;94FCt|J{AxI);EKnTcC9aZFtl zc7`3rXuW4bzXRUQQjGP-%c4yeXgITxE!Y&7>W;I{KuSlU!H^O4k8(CDPmi08!K<^E znp~l-W7FlYy#RP}ILB0-Q<3}>0b-gldoFQ)npcd<&(?8G^r>J`I<6*&M^x(*v1p)X zVal3Av!Kal){0xSJ}=8?7@k?%)4a5ta(pqfjvV62TVt=hyjp&%P3)HBKoxZ>DL#AD zJhZEPK}-DdtB8a~d__(Hx1XjOc&)xJ4-LxSt_c3dyr6e%UlzDG9n@t@{$brjK8Shz9}R-WBCCwIY-?O?DKwp!WyEN zGzV^>&C`7!L>#9Baj690@`lG9tl`8B#_jL>m>qe0u74Hj%QzO^NA%o_cuks z(|a5O^Q(o!S9d`(M#`WJf8HpaMq(7b0!xyWd+$Qq==Xc)>}Tz}E;KqMchYacdxeIZ Mi-&WyQ%LH+0KWcjj{pDw literal 0 HcmV?d00001 diff --git a/class_vertical_layout-members.html b/class_vertical_layout-members.html new file mode 100644 index 0000000..30784a3 --- /dev/null +++ b/class_vertical_layout-members.html @@ -0,0 +1,112 @@ + + + + + + +algorithm-visualizer: Member List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+
+
+
VerticalLayout Member List
+
+
+ +

This is the complete list of members for VerticalLayout, including all inherited members.

+ + + + + + + + + + + + + + + +
arguments typedef (defined in Commander)Commanderprotected
command(const json &key, const string &method, const arguments &args) (defined in Commander)Commanderinlineprotectedstatic
command(const string &method, const arguments &args) (defined in Commander)Commanderinlineprotected
Commander(const arguments &args, const string &className="Commander") (defined in Commander)Commanderinlineprotected
commander_list typedef (defined in Layout)Layoutprotected
destroy() (defined in Commander)Commanderinline
json typedef (defined in Commander)Commanderprotected
key (defined in Commander)Commander
Layout(const commander_list &children, const string &className="Layout") (defined in Layout)Layoutinline
onExit() (defined in Commander)Commanderinlinestatic
setRoot(const Commander &child) (defined in Layout)Layoutinlinestatic
string typedef (defined in Commander)Commanderprotected
VerticalLayout(const commander_list &children, const string &className="VerticalLayout") (defined in VerticalLayout)VerticalLayoutinline
writeFunction(void *ptr, size_t size, size_t nmemb, std::string *data) (defined in Commander)Commanderinlinestatic
+ + + + diff --git a/class_vertical_layout.html b/class_vertical_layout.html new file mode 100644 index 0000000..1dc1a24 --- /dev/null +++ b/class_vertical_layout.html @@ -0,0 +1,171 @@ + + + + + + +algorithm-visualizer: VerticalLayout Class Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+
+Inheritance diagram for VerticalLayout:
+
+
+ + +Layout +Commander + +
+ + + + + + +

+Public Member Functions

VerticalLayout (const commander_list &children, const string &className="VerticalLayout")
 
+void destroy ()
 
+ + + + + + + +

+Static Public Member Functions

+static void setRoot (const Commander &child)
 
+static size_t writeFunction (void *ptr, size_t size, size_t nmemb, std::string *data)
 
+static void onExit ()
 
+ + + +

+Public Attributes

+string key
 
+ + + + + + + + + +

+Protected Types

+using commander_list = std::vector< Commander >
 
+using string = std::string
 
+using json = nlohmann::json
 
+using arguments = std::vector< json >
 
+ + + +

+Protected Member Functions

+void command (const string &method, const arguments &args)
 
+ + + +

+Static Protected Member Functions

+static void command (const json &key, const string &method, const arguments &args)
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/class_vertical_layout.png b/class_vertical_layout.png new file mode 100644 index 0000000000000000000000000000000000000000..97fd1da1489fe20ee9b8aacdfdb4033498b399ea GIT binary patch literal 630 zcmV-+0*U>JP)vTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d00067NklOOnCY^=bT* zr0bk)Kj^2u_xv~X>(=rR=@r=w)`dDN%XPN9%hVUebh?yHDQ#O_ zT-TfKkf$H$%m03-uLbe<`tHx3kG<0`m2+Lc$-Shu*>%4>ZIaqHE!1-9RF0&k#WzQi z3_>qS29MY0oU|B>Tyk9ZDuD)U9Km`Q$MDl zn3^1YPT!>ZoBH}llGNv&zGP*pkJ&s|&P!gekfbg*-`WfBfuyzF)8Dn<)8Dqo2U(IV z9KgqLXm%Cq ziH?5VJ*yh&8d!Il-MM~mTQhSAT+q+M@-FxEWx)zu)o-7smy2zn9(<>7is$(2PjY|I z*GKB>*UFhT?kZ;rEcu()H|Oe>&%L#_;uHE4!w2+dg7_c<7(8B|Qc7<80sJi|&{!Wx QfB*mh07*qoM6N<$g7#rF(EtDd literal 0 HcmV?d00001 diff --git a/classes.html b/classes.html new file mode 100644 index 0000000..bff7f8c --- /dev/null +++ b/classes.html @@ -0,0 +1,122 @@ + + + + + + +algorithm-visualizer: Class Index + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Class Index
+
+
+
A | B | C | D | G | H | I | L | R | S | T | V
+ + + + + + + + + + + + +
  A  
+
  C  
+
GraphTracer   LogTracer   
  V  
+
  H  
+
  R  
+
Array1D (Randomize)   ChartTracer   VerticalLayout   
Array1DTracer   Commander   HorizontalLayout   Randomizer (Randomize)   
Array2D (Randomize)   
  D  
+
  I  
+
  S  
+
Array2DTracer   
  B  
+
Double (Randomize)   Integer (Randomize)   String (Randomize)   
  G  
+
  L  
+
  T  
+
BaseArray1DTracer   
Graph (Randomize)   Layout   Tracer   
+
A | B | C | D | G | H | I | L | R | S | T | V
+
+ + + + diff --git a/closed.png b/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/dir_bbfedc118c6e391b2f2a94269f607a03.html b/dir_bbfedc118c6e391b2f2a94269f607a03.html new file mode 100644 index 0000000..c9f34d3 --- /dev/null +++ b/dir_bbfedc118c6e391b2f2a94269f607a03.html @@ -0,0 +1,120 @@ + + + + + + +algorithm-visualizer: include/algorithm-visualizer Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
algorithm-visualizer Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  Array1DTracer.h [code]
 
file  Array2DTracer.h [code]
 
file  BaseArray1DTracer.h [code]
 
file  ChartTracer.h [code]
 
file  Commander.h [code]
 
file  GraphTracer.h [code]
 
file  HorizontalLayout.h [code]
 
file  Layout.h [code]
 
file  LogTracer.h [code]
 
file  Randomize.h [code]
 
file  Tracer.h [code]
 
file  VerticalLayout.h [code]
 
+
+ + + + diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000..c17a5ed --- /dev/null +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,103 @@ + + + + + + +algorithm-visualizer: include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + + + +

+Directories

directory  algorithm-visualizer
 
+ + + +

+Files

file  algorithm-visualizer.h [code]
 
+
+ + + + diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 0000000..f0f36f8 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,1366 @@ +/* The standard CSS for doxygen 1.8.6 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/doxygen.png b/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 zcmV;!4m|ORP)tMIv#Q0*~7*`IBSO7_x;@a8#Zk6_PeKR_s92J&)(m+);m9Iz3blw)z#Gi zP!9lj4$%+*>Hz@HCmM9L9|8c+0u=!H$O3?R0Kgx|#WP<6fKfC8fM-CQZT|_r@`>VO zX^Hgb|9cJqpdJA5$MCEK`F_2@2Y@s>^+;pF`~jdI0Pvr|vl4`=C)EH@1IFe7pdJ8F zH(qGi004~QnF)Ggga~8v08kGAs2hKTATxr7pwfNk|4#_AaT>w8P6TV+R2kbS$v==} zAjf`s0g#V8lB+b3)5oEI*q+{Yt$MZDruD2^;$+(_%Qn+%v0X-bJO=;@kiJ^ygLBnC z?1OVv_%aex1M@jKU|Z~$eI?PoF4Vj>fDzyo zAiLfpXY*a^Sj-S5D0S3@#V$sRW)g)_1e#$%8xdM>Jm7?!h zu0P2X=xoN>^!4DoPRgph2(2va07yfpXF+WH7EOg1GY%Zn z7~1A<(z7Q$ktEXhW_?GMpHp9l_UL18F3KOsxu81pqoBiNbFSGsof-W z6~eloMoz=4?OOnl2J268x5rOY`dCk0us(uS#Ud4yqOr@?=Q57a}tit|BhY>}~frH1sP`ScHS_d)oqH^lYy zZ%VP`#10MlE~P?cE(%(#(AUSv_T{+;t@$U}El}(1ig`vZo`Rm;+5&(AYzJ^Ae=h2X z@Re%vHwZU>|f0NI&%$*4eJweC5OROQrpPMA@*w|o z()A==l}(@bv^&>H1Ob3C=<^|hob?0+xJ?QQ3-ueQC}zy&JQNib!OqSO@-=>XzxlSF zAZ^U*1l6EEmg3r};_HY>&Jo_{dOPEFTWPmt=U&F#+0(O59^UIlHbNX+eF8UzyDR*T z(=5X$VF3!gm@RooS-&iiUYGG^`hMR(07zr_xP`d!^BH?uD>Phl8Rdifx3Af^Zr`Ku ztL+~HkVeL#bJ)7;`=>;{KNRvjmc}1}c58Sr#Treq=4{xo!ATy|c>iRSp4`dzMMVd@ zL8?uwXDY}Wqgh4mH`|$BTXpUIu6A1-cSq%hJw;@^Zr8TP=GMh*p(m(tN7@!^D~sl$ zz^tf4II4|};+irE$Fnm4NTc5%p{PRA`%}Zk`CE5?#h3|xcyQsS#iONZ z6H(@^i9td!$z~bZiJLTax$o>r(p}3o@< zyD7%(>ZYvy=6$U3e!F{Z`uSaYy`xQyl?b{}eg|G3&fz*`QH@mDUn)1%#5u`0m$%D} z?;tZ0u(mWeMV0QtzjgN!lT*pNRj;6510Wwx?Yi_=tYw|J#7@(Xe7ifDzXuK;JB;QO z#bg~K$cgm$@{QiL_3yr}y&~wuv=P=#O&Tj=Sr)aCUlYmZMcw?)T?c%0rUe1cS+o!qs_ zQ6Gp)-{)V!;=q}llyK3|^WeLKyjf%y;xHku;9(vM!j|~<7w1c*Mk-;P{T&yG) z@C-8E?QPynNQ<8f01D`2qexcVEIOU?y}MG)TAE6&VT5`rK8s(4PE;uQ92LTXUQ<>^ ztyQ@=@kRdh@ebUG^Z6NWWIL;_IGJ2ST>$t!$m$qvtj0Qmw8moN6GUV^!QKNK zHBXCtUH8)RY9++gH_TUV4^=-j$t}dD3qsN7GclJ^Zc&(j6&a_!$jCf}%c5ey`pm~1)@{yI3 zTdWyB+*X{JFw#z;PwRr5evb2!ueWF;v`B0HoUu4-(~aL=z;OXUUEtG`_$)Oxw6FKg zEzY`CyKaSBK3xt#8gA|r_|Kehn_HYVBMpEwbn9-fI*!u*eTA1ef8Mkl1=!jV4oYwWYM}i`A>_F4nhmlCIC6WLa zY%;4&@AlnaG11ejl61Jev21|r*m+?Kru3;1tFDl}#!OzUp6c>go4{C|^erwpG*&h6bspUPJag}oOkN2912Y3I?(eRc@U9>z#HPBHC?nps7H5!zP``90!Q1n80jo+B3TWXp!8Pe zwuKuLLI6l3Gv@+QH*Y}2wPLPQ1^EZhT#+Ed8q8Wo z1pTmIBxv14-{l&QVKxAyQF#8Q@NeJwWdKk>?cpiJLkJr+aZ!Me+Cfp!?FWSRf^j2k z73BRR{WSKaMkJ>1Nbx5dan5hg^_}O{Tj6u%iV%#QGz0Q@j{R^Ik)Z*+(YvY2ziBG)?AmJa|JV%4UT$k`hcOg5r9R?5>?o~JzK zJCrj&{i#hG>N7!B4kNX(%igb%kDj0fOQThC-8mtfap82PNRXr1D>lbgg)dYTQ(kbx z`Ee5kXG~Bh+BHQBf|kJEy6(ga%WfhvdQNDuOfQoe377l#ht&DrMGeIsI5C<&ai zWG$|hop2@@q5YDa)_-A?B02W;#fH!%k`daQLEItaJJ8Yf1L%8x;kg?)k)00P-lH+w z)5$QNV6r2$YtnV(4o=0^3{kmaXn*Dm0F*fU(@o)yVVjk|ln8ea6BMy%vZAhW9|wvA z8RoDkVoMEz1d>|5(k0Nw>22ZT){V<3$^C-cN+|~hKt2)){+l-?3m@-$c?-dlzQ)q- zZ)j%n^gerV{|+t}9m1_&&Ly!9$rtG4XX|WQ8`xYzGC~U@nYh~g(z9)bdAl#xH)xd5a=@|qql z|FzEil{P5(@gy!4ek05i$>`E^G~{;pnf6ftpLh$h#W?^#4UkPfa;;?bsIe&kz!+40 zI|6`F2n020)-r`pFaZ38F!S-lJM-o&inOw|66=GMeP@xQU5ghQH{~5Uh~TMTd;I9` z>YhVB`e^EVj*S7JF39ZgNf}A-0DwOcTT63ydN$I3b?yBQtUI*_fae~kPvzoD$zjX3 zoqBe#>12im4WzZ=f^4+u=!lA|#r%1`WB0-6*3BL#at`47#ebPpR|D1b)3BjT34nYY z%Ds%d?5$|{LgOIaRO{{oC&RK`O91$fqwM0(C_TALcozu*fWHb%%q&p-q{_8*2Zsi^ zh1ZCnr^UYa;4vQEtHk{~zi>wwMC5o{S=$P0X681y`SXwFH?Ewn{x-MOZynmc)JT5v zuHLwh;tLfxRrr%|k370}GofLl7thg>ACWWY&msqaVu&ry+`7+Ss>NL^%T1|z{IGMA zW-SKl=V-^{(f!Kf^#3(|T2W47d(%JVCI4JgRrT1pNz>+ietmFToNv^`gzC@&O-)+i zPQ~RwK8%C_vf%;%e>NyTp~dM5;!C|N0Q^6|CEb7Bw=Vz~$1#FA;Z*?mKSC)Hl-20s t8QyHj(g6VK0RYbl8UjE)0O0w=e*@m04r>stuEhWV002ovPDHLkV1hl;dM*F} literal 0 HcmV?d00001 diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 0000000..ed092c7 --- /dev/null +++ b/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +algorithm-visualizer: File List + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + +
\-include
 o-algorithm-visualizer
 |o*Array1DTracer.h
 |o*Array2DTracer.h
 |o*BaseArray1DTracer.h
 |o*ChartTracer.h
 |o*Commander.h
 |o*GraphTracer.h
 |o*HorizontalLayout.h
 |o*Layout.h
 |o*LogTracer.h
 |o*Randomize.h
 |o*Tracer.h
 |\*VerticalLayout.h
 \*algorithm-visualizer.h
+
+
+ + + + diff --git a/ftv2blank.png b/ftv2blank.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/ftv2cl.png b/ftv2cl.png new file mode 100644 index 0000000000000000000000000000000000000000..132f6577bf7f085344904602815a260d29f55d9b GIT binary patch literal 453 zcmV;$0XqJPP)VBF;ev;toEj8_OB0EQg5eYilIj#JZG_m^33l3^k4mtzx!TVD?g)Y$ zrvwRDSqT!wLIM$dWCIa$vtxE|mzbTzu-y&$FvF6WA2a{Wr1g}`WdPT-0JzEZ0IxAv z-Z+ejZc&H;I5-pb_SUB}04j0^V)3t{`z<7asDl2Tw3w3sP%)0^8$bhEg)IOTBcRXv zFfq~3&gvJ$F-U7mpBW8z1GY~HK&7h4^YI~Orv~wLnC0PP_dAkv;nzX{9Q|8Gv=2ca z@v)c9T;D#h`TZ2X&&$ff2wedmot995de~-s3I)yauahg;7qn*?1n?F$e+PwP37}~; z1NKUk7reVK^7A;$QRW7qAx40HHUZ<|k3U%nz(Ec`#i+q9K!dgcROAlCS?`L= v>#=f?wF5ZND!1uAfQsk;KN^4&*8~0npJiJ%2dj9(00000NkvXXu0mjfWVFf_ literal 0 HcmV?d00001 diff --git a/ftv2doc.png b/ftv2doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/ftv2folderclosed.png b/ftv2folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/ftv2lastnode.png b/ftv2lastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/ftv2link.png b/ftv2link.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/ftv2mlastnode.png b/ftv2mlastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63f6d38c4b9ec907b820192ebe9724ed6eca22 GIT binary patch literal 246 zcmVkw!R34#Lv2LOS^S2tZA31X++9RY}n zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9 literal 0 HcmV?d00001 diff --git a/ftv2mnode.png b/ftv2mnode.png new file mode 100644 index 0000000000000000000000000000000000000000..0b63f6d38c4b9ec907b820192ebe9724ed6eca22 GIT binary patch literal 246 zcmVkw!R34#Lv2LOS^S2tZA31X++9RY}n zChwn@Z)Wz*WWHH{)HDtJnq&A2hk$b-y(>?@z0iHr41EKCGp#T5?07*qoM6N<$f(V3Pvj6}9 literal 0 HcmV?d00001 diff --git a/ftv2mo.png b/ftv2mo.png new file mode 100644 index 0000000000000000000000000000000000000000..4bfb80f76e65815989a9350ad79d8ce45380e2b1 GIT binary patch literal 403 zcmV;E0c`$>P)${!fXv7NWJ%@%u4(KapRY>T6_x;E zxE7kt!}Tiw8@d9Sd`rTGum>z#Q14vIm`wm1#-byD1muMi02@YNO5LRF0o!Y{`a!Ya z{^&p0Su|s705&2QxmqdexG+-zNKL3f@8gTQSJrKByfo+oNJ^-{|Mn||Q5SDwjQVsS zr1}7o5-QMs>gYIMD>GRw@$lT`z4r-_m{5U#cR{urD_)TOeY)(UD|qZ^&y`IVijqk~ xs(9-kWFr7E^!lgi8GsFK5kOY_{Xbgf0^etEU%fLevs?fG002ovPDHLkV1nB&vX1}& literal 0 HcmV?d00001 diff --git a/ftv2node.png b/ftv2node.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/ftv2ns.png b/ftv2ns.png new file mode 100644 index 0000000000000000000000000000000000000000..72e3d71c2892d6f00e259facebc88b45f6db2e35 GIT binary patch literal 388 zcmV-~0ek+5P)f+++#cT|!CkD&4pnIkeMEUEM*>`*9>+Juji$!h-mW%M^8s9957{3nvbrz^&=u<~TAUrFROkmt%^F~Ez+-c53Lv%iH3d38!Rv?K zrb&MYAhp;Gf<}wS;9ZZq2@;!uYG;=Z>~GKE^{HD4keu}lnyqhc>kWX^tQn|warJ~h zT+rtMkdz6aHoN%z(o|&wpu@@OpJnF_z{PA)6(FHw02iHslz^(N{4*+K9)QJHR87wT iTyp>aXaF{u2lxRou|^4tux6eB0000^P)R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C zzrKgp4jgO( fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K literal 0 HcmV?d00001 diff --git a/ftv2pnode.png b/ftv2pnode.png new file mode 100644 index 0000000000000000000000000000000000000000..c6ee22f937a07d1dbfc27c669d11f8ed13e2f152 GIT binary patch literal 229 zcmV^P)R?RzRoKvklcaQ%HF6%rK2&ZgO(-ihJ_C zzrKgp4jgO( fd_(yg|3PpEQb#9`a?Pz_00000NkvXXu0mjftR`5K literal 0 HcmV?d00001 diff --git a/ftv2splitbar.png b/ftv2splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/ftv2vertline.png b/ftv2vertline.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 0000000..798267a --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,121 @@ + + + + + + +algorithm-visualizer: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Class Hierarchy
+
+ + + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..a6b1c3c --- /dev/null +++ b/index.html @@ -0,0 +1,116 @@ + + + + + + +algorithm-visualizer: Main Page + + + + + + + + + +
+
+ + + + + + +
+
algorithm-visualizer +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
algorithm-visualizer Documentation
+
+
+
+

This repository is part of the project Algorithm Visualizer.

+

+
+

tracers.cpp is a visualization library for C++. You can use it on algorithm-visualizer.org or locally on your machine.

+

Prerequisites

+ +

Installation

+
    +
  1. Download and extract the source code in the latest release.
  2. +
  3. Change directory to it and run:
  4. +
+

```bash mkdir build

+

cd build

+

cmake ..

+

make install ```

+

Usage

+

```cpp // import visualization libraries { #include "algorithm-visualizer.h" // }

+

#include <vector> #include <string>

+

// define tracer variables { Array2DTracer array2dTracer = Array2DTracer("Grid"); LogTracer logTracer = LogTracer("Console"); // }

+

// define input variables std::vector<std::string> messages{ "Visualize", "your", "own", "code", "here!", };

+

// highlight each line of messages recursively void highlight(int line) { if (line >= messages.size()) return; std::string message = messages[line]; // visualize { logTracer.println(message); array2dTracer.selectRow(line, 0, message.size() - 1); Tracer::delay(); array2dTracer.deselectRow(line, 0, message.size() - 1); // } highlight(line + 1); }

+

int main() { // visualize { Layout::setRoot(VerticalLayout({array2dTracer, logTracer})); array2dTracer.set(messages); Tracer::delay(); // } highlight(0); return 0; } ```

+

Check out the API reference for more information.

+

Contributing

+

Check out the https://github.com/algorithm-visualizer/tracers.cpp/blob/master/CONTRIBUTING.md "contributing guidelines".

+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 0000000..c197801 --- /dev/null +++ b/jquery.js @@ -0,0 +1,31 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 0000000..e69f93a --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['array1d',['Array1D',['../class_randomize_1_1_array1_d.html',1,'Randomize']]], + ['array1dtracer',['Array1DTracer',['../class_array1_d_tracer.html',1,'']]], + ['array2d',['Array2D',['../class_randomize_1_1_array2_d.html',1,'Randomize']]], + ['array2dtracer',['Array2DTracer',['../class_array2_d_tracer.html',1,'']]] +]; diff --git a/search/all_1.html b/search/all_1.html new file mode 100644 index 0000000..e290644 --- /dev/null +++ b/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 0000000..e9ebb44 --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['basearray1dtracer',['BaseArray1DTracer',['../class_base_array1_d_tracer.html',1,'']]] +]; diff --git a/search/all_2.html b/search/all_2.html new file mode 100644 index 0000000..95ded12 --- /dev/null +++ b/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 0000000..dd71971 --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['charttracer',['ChartTracer',['../class_chart_tracer.html',1,'']]], + ['commander',['Commander',['../class_commander.html',1,'']]] +]; diff --git a/search/all_3.html b/search/all_3.html new file mode 100644 index 0000000..4d312d0 --- /dev/null +++ b/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 0000000..c599f01 --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['double',['Double',['../class_randomize_1_1_double.html',1,'Randomize']]] +]; diff --git a/search/all_4.html b/search/all_4.html new file mode 100644 index 0000000..d72a910 --- /dev/null +++ b/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 0000000..46cfb81 --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['graph',['Graph',['../class_randomize_1_1_graph.html',1,'Randomize']]], + ['graphtracer',['GraphTracer',['../class_graph_tracer.html',1,'']]] +]; diff --git a/search/all_5.html b/search/all_5.html new file mode 100644 index 0000000..99ef726 --- /dev/null +++ b/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 0000000..89cde6f --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['horizontallayout',['HorizontalLayout',['../class_horizontal_layout.html',1,'']]] +]; diff --git a/search/all_6.html b/search/all_6.html new file mode 100644 index 0000000..6133ab3 --- /dev/null +++ b/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 0000000..0b5836d --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['integer',['Integer',['../class_randomize_1_1_integer.html',1,'Randomize']]] +]; diff --git a/search/all_7.html b/search/all_7.html new file mode 100644 index 0000000..5748125 --- /dev/null +++ b/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 0000000..32d4f2d --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['layout',['Layout',['../class_layout.html',1,'']]], + ['logtracer',['LogTracer',['../class_log_tracer.html',1,'']]] +]; diff --git a/search/all_8.html b/search/all_8.html new file mode 100644 index 0000000..0179bdd --- /dev/null +++ b/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 0000000..ec5c15f --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['randomizer',['Randomizer',['../class_randomize_1_1_randomizer.html',1,'Randomize']]], + ['randomizer_3c_20double_20_3e',['Randomizer< double >',['../class_randomize_1_1_randomizer.html',1,'Randomize']]], + ['randomizer_3c_20int_20_3e',['Randomizer< int >',['../class_randomize_1_1_randomizer.html',1,'Randomize']]], + ['randomizer_3c_20string_20_3e',['Randomizer< string >',['../class_randomize_1_1_randomizer.html',1,'Randomize']]], + ['randomizer_3c_20void_20_3e',['Randomizer< void >',['../class_randomize_1_1_randomizer.html',1,'Randomize']]] +]; diff --git a/search/all_9.html b/search/all_9.html new file mode 100644 index 0000000..cd46d44 --- /dev/null +++ b/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 0000000..9b278d3 --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['string',['String',['../class_randomize_1_1_string.html',1,'Randomize']]] +]; diff --git a/search/all_a.html b/search/all_a.html new file mode 100644 index 0000000..eab6553 --- /dev/null +++ b/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 0000000..822993f --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['tracer',['Tracer',['../class_tracer.html',1,'']]] +]; diff --git a/search/all_b.html b/search/all_b.html new file mode 100644 index 0000000..a2c161e --- /dev/null +++ b/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 0000000..e786c90 --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['verticallayout',['VerticalLayout',['../class_vertical_layout.html',1,'']]] +]; diff --git a/search/classes_0.html b/search/classes_0.html new file mode 100644 index 0000000..fabdc03 --- /dev/null +++ b/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 0000000..e69f93a --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['array1d',['Array1D',['../class_randomize_1_1_array1_d.html',1,'Randomize']]], + ['array1dtracer',['Array1DTracer',['../class_array1_d_tracer.html',1,'']]], + ['array2d',['Array2D',['../class_randomize_1_1_array2_d.html',1,'Randomize']]], + ['array2dtracer',['Array2DTracer',['../class_array2_d_tracer.html',1,'']]] +]; diff --git a/search/classes_1.html b/search/classes_1.html new file mode 100644 index 0000000..800b6ae --- /dev/null +++ b/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 0000000..e9ebb44 --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['basearray1dtracer',['BaseArray1DTracer',['../class_base_array1_d_tracer.html',1,'']]] +]; diff --git a/search/classes_2.html b/search/classes_2.html new file mode 100644 index 0000000..f65d263 --- /dev/null +++ b/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_2.js b/search/classes_2.js new file mode 100644 index 0000000..dd71971 --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['charttracer',['ChartTracer',['../class_chart_tracer.html',1,'']]], + ['commander',['Commander',['../class_commander.html',1,'']]] +]; diff --git a/search/classes_3.html b/search/classes_3.html new file mode 100644 index 0000000..927e837 --- /dev/null +++ b/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_3.js b/search/classes_3.js new file mode 100644 index 0000000..c599f01 --- /dev/null +++ b/search/classes_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['double',['Double',['../class_randomize_1_1_double.html',1,'Randomize']]] +]; diff --git a/search/classes_4.html b/search/classes_4.html new file mode 100644 index 0000000..a447290 --- /dev/null +++ b/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_4.js b/search/classes_4.js new file mode 100644 index 0000000..46cfb81 --- /dev/null +++ b/search/classes_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['graph',['Graph',['../class_randomize_1_1_graph.html',1,'Randomize']]], + ['graphtracer',['GraphTracer',['../class_graph_tracer.html',1,'']]] +]; diff --git a/search/classes_5.html b/search/classes_5.html new file mode 100644 index 0000000..63484c4 --- /dev/null +++ b/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_5.js b/search/classes_5.js new file mode 100644 index 0000000..89cde6f --- /dev/null +++ b/search/classes_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['horizontallayout',['HorizontalLayout',['../class_horizontal_layout.html',1,'']]] +]; diff --git a/search/classes_6.html b/search/classes_6.html new file mode 100644 index 0000000..f3d7035 --- /dev/null +++ b/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 0000000..0b5836d --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['integer',['Integer',['../class_randomize_1_1_integer.html',1,'Randomize']]] +]; diff --git a/search/classes_7.html b/search/classes_7.html new file mode 100644 index 0000000..9e5f5c9 --- /dev/null +++ b/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_7.js b/search/classes_7.js new file mode 100644 index 0000000..32d4f2d --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['layout',['Layout',['../class_layout.html',1,'']]], + ['logtracer',['LogTracer',['../class_log_tracer.html',1,'']]] +]; diff --git a/search/classes_8.html b/search/classes_8.html new file mode 100644 index 0000000..82c35b3 --- /dev/null +++ b/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_8.js b/search/classes_8.js new file mode 100644 index 0000000..ec5c15f --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['randomizer',['Randomizer',['../class_randomize_1_1_randomizer.html',1,'Randomize']]], + ['randomizer_3c_20double_20_3e',['Randomizer< double >',['../class_randomize_1_1_randomizer.html',1,'Randomize']]], + ['randomizer_3c_20int_20_3e',['Randomizer< int >',['../class_randomize_1_1_randomizer.html',1,'Randomize']]], + ['randomizer_3c_20string_20_3e',['Randomizer< string >',['../class_randomize_1_1_randomizer.html',1,'Randomize']]], + ['randomizer_3c_20void_20_3e',['Randomizer< void >',['../class_randomize_1_1_randomizer.html',1,'Randomize']]] +]; diff --git a/search/classes_9.html b/search/classes_9.html new file mode 100644 index 0000000..4e83ac8 --- /dev/null +++ b/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 0000000..9b278d3 --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['string',['String',['../class_randomize_1_1_string.html',1,'Randomize']]] +]; diff --git a/search/classes_a.html b/search/classes_a.html new file mode 100644 index 0000000..616feb6 --- /dev/null +++ b/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 0000000..822993f --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['tracer',['Tracer',['../class_tracer.html',1,'']]] +]; diff --git a/search/classes_b.html b/search/classes_b.html new file mode 100644 index 0000000..4461152 --- /dev/null +++ b/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 0000000..e786c90 --- /dev/null +++ b/search/classes_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['verticallayout',['VerticalLayout',['../class_vertical_layout.html',1,'']]] +]; diff --git a/search/close.png b/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/search/mag_sel.png b/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/search/nomatches.html b/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/search/search.css b/search/search.css new file mode 100644 index 0000000..4d7612f --- /dev/null +++ b/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 0000000..419c6ef --- /dev/null +++ b/search/search.js @@ -0,0 +1,795 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "abcdghilrstv", + 1: "abcdghilrstv" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/search/search_r.png b/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/tabs.css b/tabs.css new file mode 100644 index 0000000..9cf578f --- /dev/null +++ b/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +}