From 19fcec84d8d7d21e796c7624e521b60d28ee21ed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:45:59 +0200 Subject: Adding upstream version 16.2.11+ds. Signed-off-by: Daniel Baumann --- src/rapidjson/doc/diagram/architecture.dot | 50 ++++++++++++++ src/rapidjson/doc/diagram/architecture.png | Bin 0 -> 16569 bytes src/rapidjson/doc/diagram/insituparsing.dot | 65 ++++++++++++++++++ src/rapidjson/doc/diagram/insituparsing.png | Bin 0 -> 37281 bytes .../diagram/iterative-parser-states-diagram.dot | 62 +++++++++++++++++ .../diagram/iterative-parser-states-diagram.png | Bin 0 -> 92378 bytes src/rapidjson/doc/diagram/makefile | 8 +++ src/rapidjson/doc/diagram/move1.dot | 47 +++++++++++++ src/rapidjson/doc/diagram/move1.png | Bin 0 -> 16081 bytes src/rapidjson/doc/diagram/move2.dot | 62 +++++++++++++++++ src/rapidjson/doc/diagram/move2.png | Bin 0 -> 41517 bytes src/rapidjson/doc/diagram/move3.dot | 60 +++++++++++++++++ src/rapidjson/doc/diagram/move3.png | Bin 0 -> 36371 bytes src/rapidjson/doc/diagram/normalparsing.dot | 56 ++++++++++++++++ src/rapidjson/doc/diagram/normalparsing.png | Bin 0 -> 32887 bytes src/rapidjson/doc/diagram/simpledom.dot | 54 +++++++++++++++ src/rapidjson/doc/diagram/simpledom.png | Bin 0 -> 43670 bytes src/rapidjson/doc/diagram/tutorial.dot | 58 ++++++++++++++++ src/rapidjson/doc/diagram/tutorial.png | Bin 0 -> 44634 bytes src/rapidjson/doc/diagram/utilityclass.dot | 73 +++++++++++++++++++++ src/rapidjson/doc/diagram/utilityclass.png | Bin 0 -> 99993 bytes 21 files changed, 595 insertions(+) create mode 100644 src/rapidjson/doc/diagram/architecture.dot create mode 100644 src/rapidjson/doc/diagram/architecture.png create mode 100644 src/rapidjson/doc/diagram/insituparsing.dot create mode 100644 src/rapidjson/doc/diagram/insituparsing.png create mode 100644 src/rapidjson/doc/diagram/iterative-parser-states-diagram.dot create mode 100644 src/rapidjson/doc/diagram/iterative-parser-states-diagram.png create mode 100644 src/rapidjson/doc/diagram/makefile create mode 100644 src/rapidjson/doc/diagram/move1.dot create mode 100644 src/rapidjson/doc/diagram/move1.png create mode 100644 src/rapidjson/doc/diagram/move2.dot create mode 100644 src/rapidjson/doc/diagram/move2.png create mode 100644 src/rapidjson/doc/diagram/move3.dot create mode 100644 src/rapidjson/doc/diagram/move3.png create mode 100644 src/rapidjson/doc/diagram/normalparsing.dot create mode 100644 src/rapidjson/doc/diagram/normalparsing.png create mode 100644 src/rapidjson/doc/diagram/simpledom.dot create mode 100644 src/rapidjson/doc/diagram/simpledom.png create mode 100644 src/rapidjson/doc/diagram/tutorial.dot create mode 100644 src/rapidjson/doc/diagram/tutorial.png create mode 100644 src/rapidjson/doc/diagram/utilityclass.dot create mode 100644 src/rapidjson/doc/diagram/utilityclass.png (limited to 'src/rapidjson/doc/diagram') diff --git a/src/rapidjson/doc/diagram/architecture.dot b/src/rapidjson/doc/diagram/architecture.dot new file mode 100644 index 000000000..c816c8718 --- /dev/null +++ b/src/rapidjson/doc/diagram/architecture.dot @@ -0,0 +1,50 @@ +digraph { + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.2 + nodesep=0.5 + penwidth=0.5 + colorscheme=spectral7 + + node [shape=box, fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5, style=filled, fillcolor=white] + edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + + subgraph cluster1 { + margin="10,10" + labeljust="left" + label = "SAX" + style=filled + fillcolor=6 + + Reader -> Writer [style=invis] + } + + subgraph cluster2 { + margin="10,10" + labeljust="left" + label = "DOM" + style=filled + fillcolor=7 + + Value + Document + } + + Handler [label="<>\nHandler"] + + { + edge [arrowtail=onormal, dir=back] + Value -> Document + Handler -> Document + Handler -> Writer + } + + { + edge [arrowhead=vee, style=dashed, constraint=false] + Reader -> Handler [label="calls"] + Value -> Handler [label="calls"] + Document -> Reader [label="uses"] + } +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/architecture.png b/src/rapidjson/doc/diagram/architecture.png new file mode 100644 index 000000000..556c7e729 Binary files /dev/null and b/src/rapidjson/doc/diagram/architecture.png differ diff --git a/src/rapidjson/doc/diagram/insituparsing.dot b/src/rapidjson/doc/diagram/insituparsing.dot new file mode 100644 index 000000000..eca0e3854 --- /dev/null +++ b/src/rapidjson/doc/diagram/insituparsing.dot @@ -0,0 +1,65 @@ +digraph { + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.2 + penwidth=0.5 + + node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] + + { + node [shape=record, fontsize="8", margin="0.04", height=0.2, color=gray] + oldjson [label="\{|\"|m|s|g|\"|:|\"|H|e|l|l|o|\\|n|W|o|r|l|d|!|\"|,|\"|\\|u|0|0|7|3|t|a|r|s|\"|:|1|0|\}", xlabel="Before Parsing"] + //newjson [label="\{|\"|m|s|g|\\0|:|\"|H|e|l|l|o|\\n|W|o|r|l|d|!|\\0|\"|,|\"|s|t|a|r|s|\\0|t|a|r|s|:|1|0|\}", xlabel="After Parsing"] + newjson [shape=plaintext, label=< + + + + + + + + + + +
{"msg\\0:"Hello\\nWorld!\\0","stars\\0tars:10}
+>, xlabel="After Parsing"] + } + + subgraph cluster1 { + margin="10,10" + labeljust="left" + label = "Document by In situ Parsing" + style=filled + fillcolor=gray95 + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + root [label="{object|}", fillcolor=3] + + { + msg [label="{string|
}", fillcolor=5] + helloworld [label="{string|}", fillcolor=5] + stars [label="{string|}", fillcolor=5] + ten [label="{number|10}", fillcolor=6] + } + } + + oldjson -> root [label=" ParseInsitu()" lhead="cluster1"] + edge [arrowhead=vee] + root -> { msg; stars } + + edge [arrowhead="none"] + msg -> helloworld + stars -> ten + + { + edge [arrowhead=vee, arrowtail=dot, arrowsize=0.5, dir=both, tailclip=false] + msg:a:c -> newjson:a + helloworld:a:c -> newjson:b + stars:a:c -> newjson:c + } + + //oldjson -> newjson [style=invis] +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/insituparsing.png b/src/rapidjson/doc/diagram/insituparsing.png new file mode 100644 index 000000000..4400c8846 Binary files /dev/null and b/src/rapidjson/doc/diagram/insituparsing.png differ diff --git a/src/rapidjson/doc/diagram/iterative-parser-states-diagram.dot b/src/rapidjson/doc/diagram/iterative-parser-states-diagram.dot new file mode 100644 index 000000000..82ebfe1f0 --- /dev/null +++ b/src/rapidjson/doc/diagram/iterative-parser-states-diagram.dot @@ -0,0 +1,62 @@ +digraph { + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + penwidth=0.0 + + node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + + node [shape = doublecircle]; Start; Finish; + node [shape = box; style = "rounded, filled"; fillcolor=white ]; + + Start -> ArrayInitial [label=" ["]; + Start -> ObjectInitial [label=" {"]; + + subgraph clusterArray { + margin="10,10" + style=filled + fillcolor=gray95 + label = "Array" + + ArrayInitial; Element; ElementDelimiter; ArrayFinish; + } + + subgraph clusterObject { + margin="10,10" + style=filled + fillcolor=gray95 + label = "Object" + + ObjectInitial; MemberKey; KeyValueDelimiter; MemberValue; MemberDelimiter; ObjectFinish; + } + + ArrayInitial -> ArrayInitial [label="["]; + ArrayInitial -> ArrayFinish [label=" ]"]; + ArrayInitial -> ObjectInitial [label="{", constraint=false]; + ArrayInitial -> Element [label="string\nfalse\ntrue\nnull\nnumber"]; + + Element -> ArrayFinish [label="]"]; + Element -> ElementDelimiter [label=","]; + + ElementDelimiter -> ArrayInitial [label=" ["]; + ElementDelimiter -> ObjectInitial [label="{"]; + ElementDelimiter -> Element [label="string\nfalse\ntrue\nnull\nnumber"]; + + ObjectInitial -> ObjectFinish [label=" }"]; + ObjectInitial -> MemberKey [label=" string "]; + + MemberKey -> KeyValueDelimiter [label=":"]; + + KeyValueDelimiter -> ArrayInitial [label="["]; + KeyValueDelimiter -> ObjectInitial [label=" {"]; + KeyValueDelimiter -> MemberValue [label=" string\n false\n true\n null\n number"]; + + MemberValue -> ObjectFinish [label="}"]; + MemberValue -> MemberDelimiter [label=","]; + + MemberDelimiter -> MemberKey [label=" string "]; + + ArrayFinish -> Finish; + ObjectFinish -> Finish; +} diff --git a/src/rapidjson/doc/diagram/iterative-parser-states-diagram.png b/src/rapidjson/doc/diagram/iterative-parser-states-diagram.png new file mode 100644 index 000000000..f315494db Binary files /dev/null and b/src/rapidjson/doc/diagram/iterative-parser-states-diagram.png differ diff --git a/src/rapidjson/doc/diagram/makefile b/src/rapidjson/doc/diagram/makefile new file mode 100644 index 000000000..348397765 --- /dev/null +++ b/src/rapidjson/doc/diagram/makefile @@ -0,0 +1,8 @@ +%.pdf: %.dot + dot $< -Tpdf -o $@ + +%.png: %.dot + dot $< -Tpng -o $@ + +DOTFILES = $(basename $(wildcard *.dot)) +all: $(addsuffix .png, $(DOTFILES)) $(addsuffix .pdf, $(DOTFILES)) diff --git a/src/rapidjson/doc/diagram/move1.dot b/src/rapidjson/doc/diagram/move1.dot new file mode 100644 index 000000000..a7c1464ad --- /dev/null +++ b/src/rapidjson/doc/diagram/move1.dot @@ -0,0 +1,47 @@ +digraph { + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.2 + penwidth=0.5 + + node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] + + subgraph cluster1 { + margin="10,10" + labeljust="left" + label = "Before" + style=filled + fillcolor=gray95 + + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + { + rank = same + b1 [label="{b:number|456}", fillcolor=6] + a1 [label="{a:number|123}", fillcolor=6] + } + + a1 -> b1 [style="dashed", label="Move", dir=back] + } + + subgraph cluster2 { + margin="10,10" + labeljust="left" + label = "After" + style=filled + fillcolor=gray95 + + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + { + rank = same + b2 [label="{b:null|}", fillcolor=1] + a2 [label="{a:number|456}", fillcolor=6] + } + a2 -> b2 [style=invis, dir=back] + } + b1 -> b2 [style=invis] +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/move1.png b/src/rapidjson/doc/diagram/move1.png new file mode 100644 index 000000000..ab322d084 Binary files /dev/null and b/src/rapidjson/doc/diagram/move1.png differ diff --git a/src/rapidjson/doc/diagram/move2.dot b/src/rapidjson/doc/diagram/move2.dot new file mode 100644 index 000000000..7037ea6cb --- /dev/null +++ b/src/rapidjson/doc/diagram/move2.dot @@ -0,0 +1,62 @@ +digraph { + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.2 + penwidth=0.5 + + node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] + + subgraph cluster1 { + margin="10,10" + labeljust="left" + label = "Before Copying (Hypothetic)" + style=filled + fillcolor=gray95 + + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + c1 [label="{contact:array|}", fillcolor=4] + c11 [label="{|}"] + c12 [label="{|}"] + c13 [shape="none", label="...", style="solid"] + o1 [label="{o:object|}", fillcolor=3] + ghost [label="{o:object|}", style=invis] + + c1 -> o1 [style="dashed", label="AddMember", constraint=false] + + edge [arrowhead=vee] + c1 -> { c11; c12; c13 } + o1 -> ghost [style=invis] + } + + subgraph cluster2 { + margin="10,10" + labeljust="left" + label = "After Copying (Hypothetic)" + style=filled + fillcolor=gray95 + + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + c2 [label="{contact:array|}", fillcolor=4] + c3 [label="{array|}", fillcolor=4] + c21 [label="{|}"] + c22 [label="{|}"] + c23 [shape=none, label="...", style="solid"] + o2 [label="{o:object|}", fillcolor=3] + cs [label="{string|\"contact\"}", fillcolor=5] + c31 [label="{|}"] + c32 [label="{|}"] + c33 [shape="none", label="...", style="solid"] + + edge [arrowhead=vee] + c2 -> { c21; c22; c23 } + o2 -> cs + cs -> c3 [arrowhead=none] + c3 -> { c31; c32; c33 } + } + ghost -> o2 [style=invis] +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/move2.png b/src/rapidjson/doc/diagram/move2.png new file mode 100644 index 000000000..8d4fc5bcc Binary files /dev/null and b/src/rapidjson/doc/diagram/move2.png differ diff --git a/src/rapidjson/doc/diagram/move3.dot b/src/rapidjson/doc/diagram/move3.dot new file mode 100644 index 000000000..c197b99df --- /dev/null +++ b/src/rapidjson/doc/diagram/move3.dot @@ -0,0 +1,60 @@ +digraph { + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.2 + penwidth=0.5 + forcelabels=true + + node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] + + subgraph cluster1 { + margin="10,10" + labeljust="left" + label = "Before Moving" + style=filled + fillcolor=gray95 + + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + c1 [label="{contact:array|}", fillcolor=4] + c11 [label="{|}"] + c12 [label="{|}"] + c13 [shape=none, label="...", style="solid"] + o1 [label="{o:object|}", fillcolor=3] + ghost [label="{o:object|}", style=invis] + + c1 -> o1 [style="dashed", constraint=false, label="AddMember"] + + edge [arrowhead=vee] + c1 -> { c11; c12; c13 } + o1 -> ghost [style=invis] + } + + subgraph cluster2 { + margin="10,10" + labeljust="left" + label = "After Moving" + style=filled + fillcolor=gray95 + + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + c2 [label="{contact:null|}", fillcolor=1] + c3 [label="{array|}", fillcolor=4] + c21 [label="{|}"] + c22 [label="{|}"] + c23 [shape="none", label="...", style="solid"] + o2 [label="{o:object|}", fillcolor=3] + cs [label="{string|\"contact\"}", fillcolor=5] + c2 -> o2 [style="dashed", constraint=false, label="AddMember", style=invis] + + edge [arrowhead=vee] + c3 -> { c21; c22; c23 } + o2 -> cs + cs -> c3 [arrowhead=none] + } + ghost -> o2 [style=invis] +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/move3.png b/src/rapidjson/doc/diagram/move3.png new file mode 100644 index 000000000..558470f1f Binary files /dev/null and b/src/rapidjson/doc/diagram/move3.png differ diff --git a/src/rapidjson/doc/diagram/normalparsing.dot b/src/rapidjson/doc/diagram/normalparsing.dot new file mode 100644 index 000000000..b15941ba0 --- /dev/null +++ b/src/rapidjson/doc/diagram/normalparsing.dot @@ -0,0 +1,56 @@ +digraph { + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.2 + penwidth=0.5 + + node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] + + { + node [shape=record, fontsize="8", margin="0.04", height=0.2, color=gray] + normaljson [label="\{|\"|m|s|g|\"|:|\"|H|e|l|l|o|\\|n|W|o|r|l|d|!|\"|,|\"|\\|u|0|0|7|3|t|a|r|s\"|:|1|0|\}"] + + { + rank = same + msgstring [label="m|s|g|\\0"] + helloworldstring [label="H|e|l|l|o|\\n|W|o|r|l|d|!|\\0"] + starsstring [label="s|t|a|r|s\\0"] + } + } + + subgraph cluster1 { + margin="10,10" + labeljust="left" + label = "Document by Normal Parsing" + style=filled + fillcolor=gray95 + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + root [label="{object|}", fillcolor=3] + + { + msg [label="{string|}", fillcolor=5] + helloworld [label="{string|}", fillcolor=5] + stars [label="{string|}", fillcolor=5] + ten [label="{number|10}", fillcolor=6] + } + } + + normaljson -> root [label=" Parse()" lhead="cluster1"] + edge [arrowhead=vee] + root -> { msg; stars } + + edge [arrowhead="none"] + msg -> helloworld + stars -> ten + + edge [arrowhead=vee, arrowtail=dot, arrowsize=0.5, dir=both, tailclip=false] + msg:a:c -> msgstring:w + helloworld:a:c -> helloworldstring:w + stars:a:c -> starsstring:w + + msgstring -> helloworldstring -> starsstring [style=invis] +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/normalparsing.png b/src/rapidjson/doc/diagram/normalparsing.png new file mode 100644 index 000000000..702512ca3 Binary files /dev/null and b/src/rapidjson/doc/diagram/normalparsing.png differ diff --git a/src/rapidjson/doc/diagram/simpledom.dot b/src/rapidjson/doc/diagram/simpledom.dot new file mode 100644 index 000000000..959cdbb41 --- /dev/null +++ b/src/rapidjson/doc/diagram/simpledom.dot @@ -0,0 +1,54 @@ +digraph { + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.2 + penwidth=0.5 + + node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal] + + { + node [shape=record, fontsize="8", margin="0.04", height=0.2, color=gray] + srcjson [label="\{|\"|p|r|o|j|e|c|t|\"|:|\"|r|a|p|i|d|j|s|o|n|\"|,|\"|s|t|a|r|s|\"|:|1|0|\}"] + dstjson [label="\{|\"|p|r|o|j|e|c|t|\"|:|\"|r|a|p|i|d|j|s|o|n|\"|,|\"|s|t|a|r|s|\"|:|1|1|\}"] + } + + { + node [shape="box", style="filled", fillcolor="gray95"] + Document2 [label="(Modified) Document"] + Writer + } + + subgraph cluster1 { + margin="10,10" + labeljust="left" + label = "Document" + style=filled + fillcolor=gray95 + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + root [label="{object|}", fillcolor=3] + + { + project [label="{string|\"project\"}", fillcolor=5] + rapidjson [label="{string|\"rapidjson\"}", fillcolor=5] + stars [label="{string|\"stars\"}", fillcolor=5] + ten [label="{number|10}", fillcolor=6] + } + + edge [arrowhead=vee] + root -> { project; stars } + + edge [arrowhead="none"] + project -> rapidjson + stars -> ten + } + + srcjson -> root [label=" Parse()", lhead="cluster1"] + + ten -> Document2 [label=" Increase \"stars\"", ltail="cluster1" ] + Document2 -> Writer [label=" Traverse DOM by Accept()"] + Writer -> dstjson [label=" Output to StringBuffer"] +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/simpledom.png b/src/rapidjson/doc/diagram/simpledom.png new file mode 100644 index 000000000..38d9c5dc1 Binary files /dev/null and b/src/rapidjson/doc/diagram/simpledom.png differ diff --git a/src/rapidjson/doc/diagram/tutorial.dot b/src/rapidjson/doc/diagram/tutorial.dot new file mode 100644 index 000000000..138ddc381 --- /dev/null +++ b/src/rapidjson/doc/diagram/tutorial.dot @@ -0,0 +1,58 @@ +digraph { + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.2 + penwidth=0.5 + + node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + edge [fontname="Inconsolata, Consolas", fontsize=10] + + subgraph cluster1 { + margin="10,10" + labeljust="left" + label = "Document" + style=filled + fillcolor=gray95 + node [shape=Mrecord, style=filled, colorscheme=spectral7] + + root [label="{object|}", fillcolor=3] + + { + hello [label="{string|\"hello\"}", fillcolor=5] + t [label="{string|\"t\"}", fillcolor=5] + f [label="{string|\"f\"}", fillcolor=5] + n [label="{string|\"n\"}", fillcolor=5] + i [label="{string|\"i\"}", fillcolor=5] + pi [label="{string|\"pi\"}", fillcolor=5] + a [label="{string|\"a\"}", fillcolor=5] + + world [label="{string|\"world\"}", fillcolor=5] + true [label="{true|}", fillcolor=7] + false [label="{false|}", fillcolor=2] + null [label="{null|}", fillcolor=1] + i1 [label="{number|123}", fillcolor=6] + pi1 [label="{number|3.1416}", fillcolor=6] + array [label="{array|size=4}", fillcolor=4] + + a1 [label="{number|1}", fillcolor=6] + a2 [label="{number|2}", fillcolor=6] + a3 [label="{number|3}", fillcolor=6] + a4 [label="{number|4}", fillcolor=6] + } + + edge [arrowhead=vee] + root -> { hello; t; f; n; i; pi; a } + array -> { a1; a2; a3; a4 } + + edge [arrowhead=none] + hello -> world + t -> true + f -> false + n -> null + i -> i1 + pi -> pi1 + a -> array + } +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/tutorial.png b/src/rapidjson/doc/diagram/tutorial.png new file mode 100644 index 000000000..8a12924ac Binary files /dev/null and b/src/rapidjson/doc/diagram/tutorial.png differ diff --git a/src/rapidjson/doc/diagram/utilityclass.dot b/src/rapidjson/doc/diagram/utilityclass.dot new file mode 100644 index 000000000..1492a8a7a --- /dev/null +++ b/src/rapidjson/doc/diagram/utilityclass.dot @@ -0,0 +1,73 @@ +digraph { + rankdir=LR + compound=true + fontname="Inconsolata, Consolas" + fontsize=10 + margin="0,0" + ranksep=0.3 + nodesep=0.15 + penwidth=0.5 + colorscheme=spectral7 + + node [shape=box, fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5, style=filled, fillcolor=white] + edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5] + + subgraph cluster0 { + style=filled + fillcolor=4 + + Encoding [label="<>\nEncoding"] + + edge [arrowtail=onormal, dir=back] + Encoding -> { UTF8; UTF16; UTF32; ASCII; AutoUTF } + UTF16 -> { UTF16LE; UTF16BE } + UTF32 -> { UTF32LE; UTF32BE } + } + + subgraph cluster1 { + style=filled + fillcolor=5 + + Stream [label="<>\nStream"] + InputByteStream [label="<>\nInputByteStream"] + OutputByteStream [label="<>\nOutputByteStream"] + + edge [arrowtail=onormal, dir=back] + Stream -> { + StringStream; InsituStringStream; StringBuffer; + EncodedInputStream; EncodedOutputStream; + AutoUTFInputStream; AutoUTFOutputStream + InputByteStream; OutputByteStream + } + + InputByteStream -> { MemoryStream; FlieReadStream } + OutputByteStream -> { MemoryBuffer; FileWriteStream } + } + + subgraph cluster2 { + style=filled + fillcolor=3 + + Allocator [label="<>\nAllocator"] + + edge [arrowtail=onormal, dir=back] + Allocator -> { CrtAllocator; MemoryPoolAllocator } + } + + { + edge [arrowtail=odiamond, arrowhead=vee, dir=both] + EncodedInputStream -> InputByteStream + EncodedOutputStream -> OutputByteStream + AutoUTFInputStream -> InputByteStream + AutoUTFOutputStream -> OutputByteStream + MemoryPoolAllocator -> Allocator [label="base", tailport=s] + } + + { + edge [arrowhead=vee, style=dashed] + AutoUTFInputStream -> AutoUTF + AutoUTFOutputStream -> AutoUTF + } + + //UTF32LE -> Stream [style=invis] +} \ No newline at end of file diff --git a/src/rapidjson/doc/diagram/utilityclass.png b/src/rapidjson/doc/diagram/utilityclass.png new file mode 100644 index 000000000..ce029a4d0 Binary files /dev/null and b/src/rapidjson/doc/diagram/utilityclass.png differ -- cgit v1.2.3