cpp_dependency_graph 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.rspec +3 -0
  4. data/.vscode/launch.json +79 -0
  5. data/.vscode/tasks.json +12 -0
  6. data/CODE_OF_CONDUCT.md +46 -0
  7. data/Gemfile +7 -0
  8. data/LICENSE +21 -0
  9. data/README.md +84 -0
  10. data/Rakefile +9 -0
  11. data/TODO.md +38 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/cpp_dependency_graph.gemspec +44 -0
  15. data/examples/leveldb_overall.png +0 -0
  16. data/examples/leveldb_overall.svg +215 -0
  17. data/examples/leveldb_overall_d3.png +0 -0
  18. data/examples/leveldb_overall_d3.svg +1 -0
  19. data/examples/rethinkdb_queue_component.png +0 -0
  20. data/examples/rethinkdb_queue_component.svg +234 -0
  21. data/examples/rethinkdb_queue_component_d3.png +0 -0
  22. data/examples/rethinkdb_queue_component_d3.svg +1 -0
  23. data/examples/rethinkdb_queue_include.png +0 -0
  24. data/examples/rethinkdb_queue_include.svg +211 -0
  25. data/examples/rethinkdb_queue_include_d3.png +0 -0
  26. data/examples/rethinkdb_queue_include_d3.svg +1 -0
  27. data/examples/rocksdb_overall_d3.svg +1 -0
  28. data/examples/rocksdb_table_component.png +0 -0
  29. data/exe/cpp_dependency_graph +87 -0
  30. data/lib/cpp_dependency_graph/bidirectional_hash.rb +30 -0
  31. data/lib/cpp_dependency_graph/component_link.rb +37 -0
  32. data/lib/cpp_dependency_graph/cycle_detector.rb +25 -0
  33. data/lib/cpp_dependency_graph/cyclic_link.rb +30 -0
  34. data/lib/cpp_dependency_graph/dependency_graph.rb +49 -0
  35. data/lib/cpp_dependency_graph/graph_to_html_converter.rb +7 -0
  36. data/lib/cpp_dependency_graph/graph_visualiser.rb +59 -0
  37. data/lib/cpp_dependency_graph/include_dependency_graph.rb +24 -0
  38. data/lib/cpp_dependency_graph/project.rb +66 -0
  39. data/lib/cpp_dependency_graph/source_component.rb +37 -0
  40. data/lib/cpp_dependency_graph/source_file.rb +51 -0
  41. data/lib/cpp_dependency_graph/tsortable_hash.rb +12 -0
  42. data/lib/cpp_dependency_graph/version.rb +5 -0
  43. data/lib/cpp_dependency_graph.rb +48 -0
  44. data/views/index.html.template +990 -0
  45. metadata +258 -0
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="1536" height="734" style="perspective-origin:768px 367px;transform-origin:768px 367px;" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><rect width="1536" height="734" style="overflow-x:visible;overflow-y:visible;pointer-events:all;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform-origin:0px 0px;fill:none;"/><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><defs style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><marker id="default" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 153, 153);stroke:rgb(153, 153, 153);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 153, 153);stroke:rgb(153, 153, 153);d:path('M 0 -5 L 10 0 L 0 5');"/></marker><marker id="dependency" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 0, 0);stroke:rgb(153, 0, 0);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 0, 0);stroke:rgb(153, 0, 0);d:path('M 0 -5 L 10 0 L 0 5');"/></marker><marker id="dependants" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(0, 153, 0);stroke:rgb(0, 153, 0);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(0, 153, 0);stroke:rgb(0, 153, 0);d:path('M 0 -5 L 10 0 L 0 5');"/></marker></defs><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><path class="link" marker-end="url(#default)" d="M761.1436201549925,348.2480094955387L750.2893067298836,351.8899442255455" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 761.144 348.248 L 750.289 351.89');"/><path class="link" marker-end="url(#default)" d="M766.6372494011929,323.9372265952276L739.3429312334026,297.5654366799643" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 766.637 323.937 L 739.343 297.565');"/><path class="link" marker-end="url(#default)" d="M790.9460408130825,317.6721330919967L795.935314151351,301.4343124148065" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 790.946 317.672 L 795.935 301.434');"/><path class="link" marker-end="url(#default)" d="M792.3586064145568,363.07247320524834L799.3553977074473,381.64339653913834" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 792.359 363.072 L 799.355 381.643');"/><path class="link" marker-end="url(#default)" d="M807.7682889571545,338.1314584987462L825.141919778455,336.32494631278234" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 807.768 338.131 L 825.142 336.325');"/><path class="link" marker-end="url(#default)" d="M602.1081396256803,423.59339469117805L711.6492546557412,368.0650564448168" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 602.108 423.593 L 711.649 368.065');"/><path class="link" marker-end="url(#default)" d="M727.2465700136596,402.920090999461L724.7667632804652,303.96701955579357" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 727.247 402.92 L 724.767 303.967');"/><path class="link" marker-end="url(#default)" d="M728.6746530236694,402.9296393462248L729.5733357105115,379.5545503488341" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 728.675 402.93 L 729.573 379.555');"/><path class="link" marker-end="url(#default)" d="M749.2056921914977,418.44989960189395L787.6877479608562,405.92594391046543" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 749.206 418.45 L 787.688 405.926');"/><path class="link" marker-end="url(#default)" d="M740.2225583097438,406.64644514947577L770.6571960743197,360.63128860951605" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 740.223 406.646 L 770.657 360.631');"/><path class="link" marker-end="url(#default)" d="M743.4606294785107,291.4348605954721L826.4520336579063,327.9703497275841" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 743.461 291.435 L 826.452 327.97');"/><path class="link" marker-end="url(#default)" d="M745.2067430659146,281.780574680149L779.0231278099676,279.8563161380082" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 745.207 281.781 L 779.023 279.856');"/><path class="link" marker-end="url(#default)" d="M725.9405456908722,303.9046973233634L728.6802229803866,337.6389666932318" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 725.941 303.905 L 728.68 337.639');"/><path class="link" marker-end="url(#default)" d="M668.6157692335331,301.2560343616305L704.2905962304654,289.53066647555545" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 668.616 301.256 L 704.291 289.531');"/><path class="link" marker-end="url(#default)" d="M669.0739649319873,312.76313766450824L760.5732642585764,334.95640193168504" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 669.074 312.763 L 760.573 334.956');"/><path class="link" marker-end="url(#default)" d="M666.5044630246589,318.89364744947335L712.5413523453952,347.489495971066" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 666.504 318.894 L 712.541 347.49');"/><path class="link" marker-end="url(#default)" d="M815.5112588689315,382.7413975624606L833.7004568803187,349.12987277376453" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 815.511 382.741 L 833.7 349.13');"/><path class="link" marker-end="url(#default)" d="M789.1065903255628,390.5626190620041L748.8212020050406,368.6162515573128" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 789.107 390.563 L 748.821 368.616');"/><path class="link" marker-end="url(#default)" d="M816.5769184170119,298.2726979256489L832.2085591563806,321.0198266961649" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 816.577 298.273 L 832.209 321.02');"/><path class="link" marker-end="url(#default)" d="M779.0231278099676,279.8563161380082L745.2067430659146,281.780574680149" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 779.023 279.856 L 745.207 281.781');"/><path class="link" marker-end="url(#default)" d="M786.8637204558488,296.2727445088678L744.485674406824,343.0126424390002" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 786.864 296.273 L 744.486 343.013');"/><path class="link" marker-end="url(#default)" d="M803.6258778349516,302.4842711616813L805.7092340156955,380.3981990960744" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 803.626 302.484 L 805.709 380.398');"/><path class="link" marker-end="url(#default)" d="M795.935314151351,301.4343124148065L790.9460408130825,317.6721330919967" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 795.935 301.434 L 790.946 317.672');"/><path class="link" marker-end="url(#default)" d="M750.9090775543609,354.1472191468853L825.4235350959248,338.09355860982294" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 750.909 354.147 L 825.424 338.094');"/><path class="link" marker-end="url(#default)" d="M748.8212020050406,368.6162515573128L789.1065903255628,390.5626190620041" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 748.821 368.616 L 789.107 390.563');"/><path class="link" marker-end="url(#default)" d="M728.6802229803866,337.6389666932318L725.9405456908722,303.9046973233634" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 728.68 337.639 L 725.941 303.905');"/></g><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><circle class="node" r="24" source="6" dest="3" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 783.897, 340.614);transform-origin:0px 0px;fill:rgb(31, 119, 180);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:24px;" transform="translate(783.8969886592512,340.61359912476297)"/><circle class="node" r="21" source="4" dest="7" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 730.38, 358.57);transform-origin:0px 0px;fill:rgb(255, 127, 14);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:21px;" transform="translate(730.3801092886572,358.5700532999743)"/><circle class="node" r="21" source="4" dest="5" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 724.241, 282.974);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:21px;" transform="translate(724.2406593826016,282.9736107166209)"/><circle class="node" r="24" source="6" dest="2" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 802.984, 278.493);transform-origin:0px 0px;fill:rgb(214, 39, 40);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:24px;" transform="translate(802.9843663051823,278.4928463820403)"/><circle class="node" r="19.5" source="3" dest="4" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 806.23, 399.891);transform-origin:0px 0px;fill:rgb(148, 103, 189);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:19.5px;" transform="translate(806.2304621336331,399.8912317295327)"/><circle class="node" r="16.5" source="1" dest="5" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 841.554, 334.618);transform-origin:0px 0px;fill:rgb(140, 86, 75);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(841.5534387332634,334.6184746323958)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 586.053, 431.732);transform-origin:0px 0px;fill:rgb(227, 119, 194);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(586.0531213688952,431.73196881532874)"/><circle class="node" r="22.5" source="5" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 727.81, 425.413);transform-origin:0px 0px;fill:rgb(127, 127, 127);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:22.5px;" transform="translate(727.8102527613705,425.41302904143174)"/><circle class="node" r="21" source="4" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 648.666, 307.813);transform-origin:0px 0px;fill:rgb(188, 189, 34);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:21px;" transform="translate(648.6657060813969,307.81309012056505)"/></g><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"/><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><text visibility="visible" transform="translate(783.8969886592512,340.61359912476297)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.3375px 0px;transform:matrix(1, 0, 0, 1, 783.897, 340.614);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">db</text><text visibility="visible" transform="translate(730.3801092886572,358.5700532999743)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0625px 0px;transform:matrix(1, 0, 0, 1, 730.38, 358.57);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">util</text><text visibility="visible" transform="translate(724.2406593826016,282.9736107166209)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.325px 0px;transform:matrix(1, 0, 0, 1, 724.241, 282.974);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">leveldb</text><text visibility="visible" transform="translate(802.9843663051823,278.4928463820403)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:-0.3px 0px;transform:matrix(1, 0, 0, 1, 802.984, 278.493);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">table</text><text visibility="visible" transform="translate(806.2304621336331,399.8912317295327)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.1625px 0px;transform:matrix(1, 0, 0, 1, 806.23, 399.891);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">port</text><text visibility="visible" transform="translate(841.5534387332634,334.6184746323958)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:-0.3px 0px;transform:matrix(1, 0, 0, 1, 841.554, 334.618);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">win</text><text visibility="visible" transform="translate(586.0531213688952,431.73196881532874)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.025px 0px;transform:matrix(1, 0, 0, 1, 586.053, 431.732);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">bench</text><text visibility="visible" transform="translate(727.8102527613705,425.41302904143174)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 727.81, 425.413);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">memenv</text><text visibility="visible" transform="translate(648.6657060813969,307.81309012056505)" class="" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 648.666, 307.813);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">issues</text></g></g></svg>
@@ -0,0 +1,234 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 2.38.0 (20140413.2041)
5
+ -->
6
+ <!-- Title: dependency_graph Pages: 1 -->
7
+ <svg width="862pt" height="188pt"
8
+ viewBox="0.00 0.00 862.00 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
10
+ <title>dependency_graph</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-184 858,-184 858,4 -4,4"/>
12
+ <!-- io -->
13
+ <g id="node1" class="node"><title>io</title>
14
+ <polygon fill="none" stroke="black" points="54,-180 4,-180 0,-176 0,-144 50,-144 54,-148 54,-180"/>
15
+ <polyline fill="none" stroke="black" points="50,-176 0,-176 "/>
16
+ <polyline fill="none" stroke="black" points="50,-176 50,-144 "/>
17
+ <polyline fill="none" stroke="black" points="50,-176 54,-180 "/>
18
+ <text text-anchor="middle" x="27" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">io</text>
19
+ </g>
20
+ <!-- queue -->
21
+ <g id="node2" class="node"><title>queue</title>
22
+ <polygon fill="none" stroke="black" points="391,-108 341,-108 337,-104 337,-72 387,-72 391,-76 391,-108"/>
23
+ <polyline fill="none" stroke="black" points="387,-104 337,-104 "/>
24
+ <polyline fill="none" stroke="black" points="387,-104 387,-72 "/>
25
+ <polyline fill="none" stroke="black" points="387,-104 391,-108 "/>
26
+ <text text-anchor="middle" x="364" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">queue</text>
27
+ </g>
28
+ <!-- io&#45;&gt;queue -->
29
+ <g id="edge1" class="edge"><title>io&#45;&gt;queue</title>
30
+ <path fill="none" stroke="black" d="M54.2122,-147.229C57.1362,-146.028 60.1017,-144.921 63,-144 155.354,-114.647 269.13,-100.201 326.76,-94.3315"/>
31
+ <polygon fill="black" stroke="black" points="327.242,-97.801 336.849,-93.3337 326.553,-90.835 327.242,-97.801"/>
32
+ </g>
33
+ <!-- concurrency -->
34
+ <g id="node8" class="node"><title>concurrency</title>
35
+ <polygon fill="none" stroke="black" points="191,-36 109,-36 105,-32 105,-0 187,-0 191,-4 191,-36"/>
36
+ <polyline fill="none" stroke="black" points="187,-32 105,-32 "/>
37
+ <polyline fill="none" stroke="black" points="187,-32 187,-0 "/>
38
+ <polyline fill="none" stroke="black" points="187,-32 191,-36 "/>
39
+ <text text-anchor="middle" x="148" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency</text>
40
+ </g>
41
+ <!-- queue&#45;&gt;concurrency -->
42
+ <g id="edge13" class="edge"><title>queue&#45;&gt;concurrency</title>
43
+ <path fill="none" stroke="red" d="M336.892,-82.1622C304.705,-72.7361 249.869,-55.1117 200.989,-39.2446"/>
44
+ <polygon fill="red" stroke="red" points="201.892,-35.8583 191.3,-36.0976 199.73,-42.5158 201.892,-35.8583"/>
45
+ </g>
46
+ <!-- containers -->
47
+ <g id="node12" class="node"><title>containers</title>
48
+ <polygon fill="none" stroke="black" points="283,-36 213,-36 209,-32 209,-0 279,-0 283,-4 283,-36"/>
49
+ <polyline fill="none" stroke="black" points="279,-32 209,-32 "/>
50
+ <polyline fill="none" stroke="black" points="279,-32 279,-0 "/>
51
+ <polyline fill="none" stroke="black" points="279,-32 283,-36 "/>
52
+ <text text-anchor="middle" x="246" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers</text>
53
+ </g>
54
+ <!-- queue&#45;&gt;containers -->
55
+ <g id="edge11" class="edge"><title>queue&#45;&gt;containers</title>
56
+ <path fill="none" stroke="black" d="M336.928,-72.9406C321.168,-63.5913 301.058,-51.6616 283.76,-41.3998"/>
57
+ <polygon fill="black" stroke="black" points="285.394,-38.2998 275.008,-36.208 281.823,-44.3202 285.394,-38.2998"/>
58
+ </g>
59
+ <!-- src -->
60
+ <g id="node13" class="node"><title>src</title>
61
+ <polygon fill="none" stroke="black" points="355,-36 305,-36 301,-32 301,-0 351,-0 355,-4 355,-36"/>
62
+ <polyline fill="none" stroke="black" points="351,-32 301,-32 "/>
63
+ <polyline fill="none" stroke="black" points="351,-32 351,-0 "/>
64
+ <polyline fill="none" stroke="black" points="351,-32 355,-36 "/>
65
+ <text text-anchor="middle" x="328" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">src</text>
66
+ </g>
67
+ <!-- queue&#45;&gt;src -->
68
+ <g id="edge12" class="edge"><title>queue&#45;&gt;src</title>
69
+ <path fill="none" stroke="black" d="M355.101,-71.6966C351.003,-63.7284 346.051,-54.0995 341.507,-45.2641"/>
70
+ <polygon fill="black" stroke="black" points="344.483,-43.3965 336.797,-36.1043 338.258,-46.598 344.483,-43.3965"/>
71
+ </g>
72
+ <!-- archive -->
73
+ <g id="node14" class="node"><title>archive</title>
74
+ <polygon fill="none" stroke="black" points="429,-36 377,-36 373,-32 373,-0 425,-0 429,-4 429,-36"/>
75
+ <polyline fill="none" stroke="black" points="425,-32 373,-32 "/>
76
+ <polyline fill="none" stroke="black" points="425,-32 425,-0 "/>
77
+ <polyline fill="none" stroke="black" points="425,-32 429,-36 "/>
78
+ <text text-anchor="middle" x="401" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">archive</text>
79
+ </g>
80
+ <!-- queue&#45;&gt;archive -->
81
+ <g id="edge14" class="edge"><title>queue&#45;&gt;archive</title>
82
+ <path fill="none" stroke="black" d="M373.146,-71.6966C377.403,-63.6436 382.556,-53.8945 387.266,-44.9824"/>
83
+ <polygon fill="black" stroke="black" points="390.38,-46.5809 391.959,-36.1043 384.192,-43.3097 390.38,-46.5809"/>
84
+ </g>
85
+ <!-- arch -->
86
+ <g id="node15" class="node"><title>arch</title>
87
+ <polygon fill="none" stroke="black" points="501,-36 451,-36 447,-32 447,-0 497,-0 501,-4 501,-36"/>
88
+ <polyline fill="none" stroke="black" points="497,-32 447,-32 "/>
89
+ <polyline fill="none" stroke="black" points="497,-32 497,-0 "/>
90
+ <polyline fill="none" stroke="black" points="497,-32 501,-36 "/>
91
+ <text text-anchor="middle" x="474" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">arch</text>
92
+ </g>
93
+ <!-- queue&#45;&gt;arch -->
94
+ <g id="edge15" class="edge"><title>queue&#45;&gt;arch</title>
95
+ <path fill="none" stroke="black" d="M390.909,-71.8761C405.158,-62.8083 422.846,-51.5523 438.236,-41.7592"/>
96
+ <polygon fill="black" stroke="black" points="440.43,-44.5114 446.988,-36.1898 436.672,-38.6057 440.43,-44.5114"/>
97
+ </g>
98
+ <!-- runtime -->
99
+ <g id="node16" class="node"><title>runtime</title>
100
+ <polygon fill="none" stroke="black" points="577,-36 523,-36 519,-32 519,-0 573,-0 577,-4 577,-36"/>
101
+ <polyline fill="none" stroke="black" points="573,-32 519,-32 "/>
102
+ <polyline fill="none" stroke="black" points="573,-32 573,-0 "/>
103
+ <polyline fill="none" stroke="black" points="573,-32 577,-36 "/>
104
+ <text text-anchor="middle" x="548" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">runtime</text>
105
+ </g>
106
+ <!-- queue&#45;&gt;runtime -->
107
+ <g id="edge16" class="edge"><title>queue&#45;&gt;runtime</title>
108
+ <path fill="none" stroke="black" d="M391.131,-79.8111C418.773,-70.3059 463.03,-54.6944 509.346,-36.14"/>
109
+ <polygon fill="black" stroke="black" points="510.669,-39.3801 518.632,-32.3908 508.049,-32.8891 510.669,-39.3801"/>
110
+ </g>
111
+ <!-- perfmon -->
112
+ <g id="node17" class="node"><title>perfmon</title>
113
+ <polygon fill="none" stroke="black" points="659,-36 599,-36 595,-32 595,-0 655,-0 659,-4 659,-36"/>
114
+ <polyline fill="none" stroke="black" points="655,-32 595,-32 "/>
115
+ <polyline fill="none" stroke="black" points="655,-32 655,-0 "/>
116
+ <polyline fill="none" stroke="black" points="655,-32 659,-36 "/>
117
+ <text text-anchor="middle" x="627" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">perfmon</text>
118
+ </g>
119
+ <!-- queue&#45;&gt;perfmon -->
120
+ <g id="edge17" class="edge"><title>queue&#45;&gt;perfmon</title>
121
+ <path fill="none" stroke="black" d="M391.034,-83.9875C431.49,-76.1787 510.221,-59.7938 585.337,-35.953"/>
122
+ <polygon fill="black" stroke="black" points="586.508,-39.2529 594.952,-32.8532 584.36,-32.5905 586.508,-39.2529"/>
123
+ </g>
124
+ <!-- disk -->
125
+ <g id="node3" class="node"><title>disk</title>
126
+ <polygon fill="none" stroke="black" points="126,-180 76,-180 72,-176 72,-144 122,-144 126,-148 126,-180"/>
127
+ <polyline fill="none" stroke="black" points="122,-176 72,-176 "/>
128
+ <polyline fill="none" stroke="black" points="122,-176 122,-144 "/>
129
+ <polyline fill="none" stroke="black" points="122,-176 126,-180 "/>
130
+ <text text-anchor="middle" x="99" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">disk</text>
131
+ </g>
132
+ <!-- disk&#45;&gt;queue -->
133
+ <g id="edge2" class="edge"><title>disk&#45;&gt;queue</title>
134
+ <path fill="none" stroke="black" d="M126.265,-147.387C129.178,-146.155 132.127,-144.998 135,-144 200.804,-121.143 280.672,-105.203 326.589,-97.1183"/>
135
+ <polygon fill="black" stroke="black" points="327.422,-100.526 336.678,-95.3725 326.228,-93.6288 327.422,-100.526"/>
136
+ </g>
137
+ <!-- btree -->
138
+ <g id="node4" class="node"><title>btree</title>
139
+ <polygon fill="none" stroke="black" points="198,-180 148,-180 144,-176 144,-144 194,-144 198,-148 198,-180"/>
140
+ <polyline fill="none" stroke="black" points="194,-176 144,-176 "/>
141
+ <polyline fill="none" stroke="black" points="194,-176 194,-144 "/>
142
+ <polyline fill="none" stroke="black" points="194,-176 198,-180 "/>
143
+ <text text-anchor="middle" x="171" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">btree</text>
144
+ </g>
145
+ <!-- btree&#45;&gt;queue -->
146
+ <g id="edge3" class="edge"><title>btree&#45;&gt;queue</title>
147
+ <path fill="none" stroke="black" d="M198.372,-147.674C201.265,-146.386 204.18,-145.138 207,-144 247.445,-127.687 295.043,-112.109 327.14,-102.116"/>
148
+ <polygon fill="black" stroke="black" points="328.467,-105.37 336.988,-99.0739 326.401,-98.6815 328.467,-105.37"/>
149
+ </g>
150
+ <!-- client_protocol -->
151
+ <g id="node5" class="node"><title>client_protocol</title>
152
+ <polygon fill="none" stroke="black" points="317.5,-180 220.5,-180 216.5,-176 216.5,-144 313.5,-144 317.5,-148 317.5,-180"/>
153
+ <polyline fill="none" stroke="black" points="313.5,-176 216.5,-176 "/>
154
+ <polyline fill="none" stroke="black" points="313.5,-176 313.5,-144 "/>
155
+ <polyline fill="none" stroke="black" points="313.5,-176 317.5,-180 "/>
156
+ <text text-anchor="middle" x="267" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">client_protocol</text>
157
+ </g>
158
+ <!-- client_protocol&#45;&gt;queue -->
159
+ <g id="edge4" class="edge"><title>client_protocol&#45;&gt;queue</title>
160
+ <path fill="none" stroke="black" d="M290.978,-143.697C303.311,-134.796 318.516,-123.823 331.853,-114.199"/>
161
+ <polygon fill="black" stroke="black" points="334.237,-116.794 340.298,-108.104 330.141,-111.118 334.237,-116.794"/>
162
+ </g>
163
+ <!-- generic -->
164
+ <g id="node6" class="node"><title>generic</title>
165
+ <polygon fill="none" stroke="black" points="392,-180 340,-180 336,-176 336,-144 388,-144 392,-148 392,-180"/>
166
+ <polyline fill="none" stroke="black" points="388,-176 336,-176 "/>
167
+ <polyline fill="none" stroke="black" points="388,-176 388,-144 "/>
168
+ <polyline fill="none" stroke="black" points="388,-176 392,-180 "/>
169
+ <text text-anchor="middle" x="364" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">generic</text>
170
+ </g>
171
+ <!-- generic&#45;&gt;queue -->
172
+ <g id="edge5" class="edge"><title>generic&#45;&gt;queue</title>
173
+ <path fill="none" stroke="black" d="M364,-143.697C364,-135.983 364,-126.712 364,-118.112"/>
174
+ <polygon fill="black" stroke="black" points="367.5,-118.104 364,-108.104 360.5,-118.104 367.5,-118.104"/>
175
+ </g>
176
+ <!-- immediate_consistency -->
177
+ <g id="node7" class="node"><title>immediate_consistency</title>
178
+ <polygon fill="none" stroke="black" points="556,-180 414,-180 410,-176 410,-144 552,-144 556,-148 556,-180"/>
179
+ <polyline fill="none" stroke="black" points="552,-176 410,-176 "/>
180
+ <polyline fill="none" stroke="black" points="552,-176 552,-144 "/>
181
+ <polyline fill="none" stroke="black" points="552,-176 556,-180 "/>
182
+ <text text-anchor="middle" x="483" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">immediate_consistency</text>
183
+ </g>
184
+ <!-- immediate_consistency&#45;&gt;queue -->
185
+ <g id="edge6" class="edge"><title>immediate_consistency&#45;&gt;queue</title>
186
+ <path fill="none" stroke="black" d="M453.889,-143.876C437.6,-134.294 417.157,-122.269 399.884,-112.108"/>
187
+ <polygon fill="black" stroke="black" points="401.573,-109.041 391.179,-106.987 398.023,-115.074 401.573,-109.041"/>
188
+ </g>
189
+ <!-- concurrency&#45;&gt;queue -->
190
+ <g id="edge7" class="edge"><title>concurrency&#45;&gt;queue</title>
191
+ <path fill="none" stroke="black" d="M191.265,-30.2641C197.27,-32.1814 203.309,-34.1503 209,-36 249.571,-49.1873 295.818,-64.1244 327.281,-74.7722"/>
192
+ <polygon fill="black" stroke="black" points="326.357,-78.1548 336.951,-78.0709 328.617,-71.5296 326.357,-78.1548"/>
193
+ </g>
194
+ <!-- rdb_protocol -->
195
+ <g id="node9" class="node"><title>rdb_protocol</title>
196
+ <polygon fill="none" stroke="black" points="666,-180 578,-180 574,-176 574,-144 662,-144 666,-148 666,-180"/>
197
+ <polyline fill="none" stroke="black" points="662,-176 574,-176 "/>
198
+ <polyline fill="none" stroke="black" points="662,-176 662,-144 "/>
199
+ <polyline fill="none" stroke="black" points="662,-176 666,-180 "/>
200
+ <text text-anchor="middle" x="620" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">rdb_protocol</text>
201
+ </g>
202
+ <!-- rdb_protocol&#45;&gt;queue -->
203
+ <g id="edge8" class="edge"><title>rdb_protocol&#45;&gt;queue</title>
204
+ <path fill="none" stroke="black" d="M573.828,-146.575C570.845,-145.69 567.883,-144.825 565,-144 508.029,-127.692 441.446,-110.499 401.021,-100.266"/>
205
+ <polygon fill="black" stroke="black" points="401.635,-96.8112 391.083,-97.757 399.922,-103.598 401.635,-96.8112"/>
206
+ </g>
207
+ <!-- datum_stream -->
208
+ <g id="node10" class="node"><title>datum_stream</title>
209
+ <polygon fill="none" stroke="black" points="779.5,-180 688.5,-180 684.5,-176 684.5,-144 775.5,-144 779.5,-148 779.5,-180"/>
210
+ <polyline fill="none" stroke="black" points="775.5,-176 684.5,-176 "/>
211
+ <polyline fill="none" stroke="black" points="775.5,-176 775.5,-144 "/>
212
+ <polyline fill="none" stroke="black" points="775.5,-176 779.5,-180 "/>
213
+ <text text-anchor="middle" x="732" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">datum_stream</text>
214
+ </g>
215
+ <!-- datum_stream&#45;&gt;queue -->
216
+ <g id="edge9" class="edge"><title>datum_stream&#45;&gt;queue</title>
217
+ <path fill="none" stroke="black" d="M684.219,-146.292C681.109,-145.477 678.017,-144.704 675,-144 577.337,-121.203 460.279,-103.903 401.533,-95.8994"/>
218
+ <polygon fill="black" stroke="black" points="401.639,-92.382 391.26,-94.5139 400.703,-99.3192 401.639,-92.382"/>
219
+ </g>
220
+ <!-- unittest -->
221
+ <g id="node11" class="node"><title>unittest</title>
222
+ <polygon fill="none" stroke="black" points="854,-180 802,-180 798,-176 798,-144 850,-144 854,-148 854,-180"/>
223
+ <polyline fill="none" stroke="black" points="850,-176 798,-176 "/>
224
+ <polyline fill="none" stroke="black" points="850,-176 850,-144 "/>
225
+ <polyline fill="none" stroke="black" points="850,-176 854,-180 "/>
226
+ <text text-anchor="middle" x="826" y="-158.3" font-family="Times New Roman,serif" font-size="14.00">unittest</text>
227
+ </g>
228
+ <!-- unittest&#45;&gt;queue -->
229
+ <g id="edge10" class="edge"><title>unittest&#45;&gt;queue</title>
230
+ <path fill="none" stroke="black" d="M797.647,-146.927C794.77,-145.817 791.856,-144.813 789,-144 649.95,-104.41 476.952,-94.3846 401.789,-91.8523"/>
231
+ <polygon fill="black" stroke="black" points="401.528,-88.3427 391.424,-91.5305 401.311,-95.3393 401.528,-88.3427"/>
232
+ </g>
233
+ </g>
234
+ </svg>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="1536" height="734" style="perspective-origin:768px 367px;transform-origin:768px 367px;" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><rect width="1536" height="734" style="overflow-x:visible;overflow-y:visible;pointer-events:all;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform-origin:0px 0px;fill:none;"/><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><defs style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><marker id="default" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 153, 153);stroke:rgb(153, 153, 153);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 153, 153);stroke:rgb(153, 153, 153);d:path('M 0 -5 L 10 0 L 0 5');"/></marker><marker id="dependency" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 0, 0);stroke:rgb(153, 0, 0);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(153, 0, 0);stroke:rgb(153, 0, 0);d:path('M 0 -5 L 10 0 L 0 5');"/></marker><marker id="dependants" orient="auto" class="marker" viewBox="0 -5 10 10" refX="10" refY="0" markerWidth="10" markerHeight="10" style="pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(0, 153, 0);stroke:rgb(0, 153, 0);"><path d="M0,-5L10,0L0,5" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:rgb(0, 153, 0);stroke:rgb(0, 153, 0);d:path('M 0 -5 L 10 0 L 0 5');"/></marker></defs><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><path class="link" marker-end="url(#default)" d="M793.1577564642273,284.24041958564226L747.5729053331187,331.3977665494379" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 793.158 284.24 L 747.573 331.398');"/><path class="link" marker-end="url(#default)" d="M714.2977703117758,258.0803791161047L724.6334811055274,324.1351511507291" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 714.298 258.08 L 724.633 324.135');"/><path class="link" marker-end="url(#default)" d="M784.6329062673592,425.63483549825946L744.9531989462693,372.45114228827015" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 784.633 425.635 L 744.953 372.451');"/><path class="link" marker-end="url(#default)" d="M640.1411800008569,355.9046469042232L701.8518832881618,352.3592293524466" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 640.141 355.905 L 701.852 352.359');"/><path class="link" marker-end="url(#default)" d="M817.4272187106583,315.80828774547444L753.9196114401044,340.89197940927136" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 817.427 315.808 L 753.92 340.892');"/><path class="link" marker-end="url(#default)" d="M716.4653545546167,439.436861686312L725.0833563316253,377.5525109785604" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 716.465 439.437 L 725.083 377.553');"/><path class="link" marker-end="url(#default)" d="M685.2044080647894,312.7224197796077L708.4729640438347,333.0479894638623" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 685.204 312.722 L 708.473 333.048');"/><path class="link" marker-end="url(#default)" d="M820.7267826801461,384.113880707774L754.1926510650895,360.00789350956865" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 820.727 384.114 L 754.193 360.008');"/><path class="link" marker-end="url(#default)" d="M656.2484476544648,401.0106406010359L706.6035079950343,366.17239934642146" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 656.248 401.011 L 706.604 366.172');"/><path class="link" marker-end="url(#default)" d="M757.6155493235125,262.7526211613971L737.2026317123414,325.1489159028566" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 757.616 262.753 L 737.203 325.149');"/><path class="link" marker-end="url(#default)" d="M735.9442087987072,376.8502816466059L752.3509839029946,436.7131189521411" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 735.944 376.85 L 752.351 436.713');"/><path class="link" marker-end="url(#default)" d="M704.2252666130186,339.64289215469154L639.8130139262059,310.3803991446138" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 704.225 339.643 L 639.813 310.38');"/><path class="link" marker-end="url(#default)" d="M708.4729640438347,333.0479894638623L685.2044080647894,312.7224197796077" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 708.473 333.048 L 685.204 312.722');"/><path class="link" marker-end="url(#default)" d="M755.8040083070175,350.3805442888323L818.5890704619329,349.38044066851126" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 755.804 350.381 L 818.589 349.38');"/><path class="link" marker-end="url(#default)" d="M714.8024686203114,373.89435445537487L682.0464634014476,427.8846714542536" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 714.802 373.894 L 682.046 427.885');"/><path class="link" marker-end="url(#default)" d="M712.865600659578,329.0193365832216L669.2931210685604,269.4591696029402" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 712.866 329.019 L 669.293 269.459');"/><path class="link" marker-end="url(#default)" d="M751.0610449795852,366.1003327427161L788.811030197829,392.03716538993444" style="overflow-x:visible;overflow-y:visible;pointer-events:none;perspective-origin:0px 0px;transform-origin:0px 0px;fill:none;marker-end:url(&quot;#default&quot;);stroke:rgb(153, 153, 153);stroke-opacity:0.6;stroke-width:1.5px;d:path('M 751.061 366.1 L 788.811 392.037');"/></g><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 805.668, 271.299);transform-origin:0px 0px;fill:rgb(31, 119, 180);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(805.668071317068,271.2985486898716)"/><circle class="node" r="27" source="8" dest="10" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 728.807, 350.811);transform-origin:0px 0px;fill:rgb(255, 127, 14);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:27px;" transform="translate(728.8074330538577,350.8105728930939)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 711.515, 240.297);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(711.5151356795556,240.29676462119482)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 795.397, 440.062);transform-origin:0px 0px;fill:rgb(214, 39, 40);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(795.3967501956336,440.0618817617103)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 622.171, 356.937);transform-origin:0px 0px;fill:rgb(148, 103, 189);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(622.170813490393,356.93708454379174)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 834.169, 309.196);transform-origin:0px 0px;fill:rgb(140, 86, 75);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(834.168670968156,309.19589208959275)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 713.983, 457.265);transform-origin:0px 0px;fill:rgb(227, 119, 194);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(713.9826367397951,457.26482040995637)"/><circle class="node" r="18" source="2" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 671.648, 300.881);transform-origin:0px 0px;fill:rgb(127, 127, 127);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(671.6480953914407,300.88069749345334)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 837.65, 390.245);transform-origin:0px 0px;fill:rgb(188, 189, 34);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(837.6502613543007,390.24542778542383)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 641.446, 411.252);transform-origin:0px 0px;fill:rgb(23, 190, 207);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(641.4458309485826,411.2518582365876)"/><circle class="node" r="18" source="2" dest="0" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 763.212, 245.645);transform-origin:0px 0px;fill:rgb(31, 119, 180);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(763.2123484291682,245.64484983457223)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 756.712, 452.626);transform-origin:0px 0px;fill:rgb(127, 127, 127);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(756.7123468581804,452.6262743015095)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 624.791, 303.556);transform-origin:0px 0px;fill:rgb(255, 127, 14);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(624.7905788790265,303.5557053600346)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 835.087, 349.118);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(835.0869775610861,349.11764541035143)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 673.488, 441.991);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(673.4878740253915,441.9914268534253)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 659.551, 256.142);transform-origin:0px 0px;fill:rgb(214, 39, 40);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(659.5508901609451,256.1423029691294)"/><circle class="node" r="16.5" source="1" dest="1" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);transform:matrix(1, 0, 0, 1, 802.41, 401.381);transform-origin:0px 0px;fill:rgb(148, 103, 189);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:16.5px;" transform="translate(802.4104597079959,401.38090752025914)"/></g><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"/><g style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform-origin:0px 0px;"><text visibility="visible" transform="translate(805.668071317068,271.2985486898716)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 805.668, 271.299);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">io</text><text visibility="visible" transform="translate(728.8074330538577,350.8105728930939)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.025px 0px;transform:matrix(1, 0, 0, 1, 728.807, 350.811);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">queue</text><text visibility="visible" transform="translate(711.5151356795556,240.29676462119482)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 711.515, 240.297);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">disk</text><text visibility="visible" transform="translate(795.3967501956336,440.0618817617103)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 795.397, 440.062);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">btree</text><text visibility="visible" transform="translate(622.170813490393,356.93708454379174)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.075px 0px;transform:matrix(1, 0, 0, 1, 622.171, 356.937);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">client_protocol</text><text visibility="visible" transform="translate(834.168670968156,309.19589208959275)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 834.169, 309.196);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">generic</text><text visibility="visible" transform="translate(713.9826367397951,457.26482040995637)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.25px 0px;transform:matrix(1, 0, 0, 1, 713.983, 457.265);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">immediate_consistency</text><text visibility="visible" transform="translate(671.6480953914407,300.88069749345334)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.25px 0px;transform:matrix(1, 0, 0, 1, 671.648, 300.881);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">concurrency</text><text visibility="visible" transform="translate(837.6502613543007,390.24542778542383)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.075px 0px;transform:matrix(1, 0, 0, 1, 837.65, 390.245);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">rdb_protocol</text><text visibility="visible" transform="translate(641.4458309485826,411.2518582365876)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.1875px 0px;transform:matrix(1, 0, 0, 1, 641.446, 411.252);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">datum_stream</text><text visibility="visible" transform="translate(763.2123484291682,245.64484983457223)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.175px 0px;transform:matrix(1, 0, 0, 1, 763.212, 245.645);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">unittest</text><text visibility="visible" transform="translate(756.7123468581804,452.6262743015095)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 756.712, 452.626);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">containers</text><text visibility="visible" transform="translate(624.7905788790265,303.5557053600346)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.2375px 0px;transform:matrix(1, 0, 0, 1, 624.791, 303.556);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">src</text><text visibility="visible" transform="translate(835.0869775610861,349.11764541035143)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 835.087, 349.118);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">archive</text><text visibility="visible" transform="translate(673.4878740253915,441.9914268534253)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 673.488, 441.991);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">arch</text><text visibility="visible" transform="translate(659.5508901609451,256.1423029691294)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.0125px 0px;transform:matrix(1, 0, 0, 1, 659.551, 256.142);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">runtime</text><text visibility="visible" transform="translate(802.4104597079959,401.38090752025914)" style="cursor:default;display:block;font-family:sans-serif;font-size:10px;overflow-x:visible;overflow-y:visible;pointer-events:none;white-space:nowrap;perspective-origin:0.025px 0px;transform:matrix(1, 0, 0, 1, 802.41, 401.381);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">perfmon</text></g></g></svg>
@@ -0,0 +1,211 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 2.38.0 (20140413.2041)
5
+ -->
6
+ <!-- Title: dependency_graph Pages: 1 -->
7
+ <svg width="2205pt" height="116pt"
8
+ viewBox="0.00 0.00 2205.00 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
10
+ <title>dependency_graph</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-112 2201,-112 2201,4 -4,4"/>
12
+ <!-- accounting.hpp -->
13
+ <g id="node1" class="node"><title>accounting.hpp</title>
14
+ <polygon fill="none" stroke="black" points="1906,-108 1807,-108 1803,-104 1803,-72 1902,-72 1906,-76 1906,-108"/>
15
+ <polyline fill="none" stroke="black" points="1902,-104 1803,-104 "/>
16
+ <polyline fill="none" stroke="black" points="1902,-104 1902,-72 "/>
17
+ <polyline fill="none" stroke="black" points="1902,-104 1906,-108 "/>
18
+ <text text-anchor="middle" x="1854.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">accounting.hpp</text>
19
+ </g>
20
+ <!-- concurrency/queue/passive_producer.hpp -->
21
+ <g id="node2" class="node"><title>concurrency/queue/passive_producer.hpp</title>
22
+ <polygon fill="none" stroke="black" points="1656.5,-36 1408.5,-36 1404.5,-32 1404.5,-0 1652.5,-0 1656.5,-4 1656.5,-36"/>
23
+ <polyline fill="none" stroke="black" points="1652.5,-32 1404.5,-32 "/>
24
+ <polyline fill="none" stroke="black" points="1652.5,-32 1652.5,-0 "/>
25
+ <polyline fill="none" stroke="black" points="1652.5,-32 1656.5,-36 "/>
26
+ <text text-anchor="middle" x="1530.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency/queue/passive_producer.hpp</text>
27
+ </g>
28
+ <!-- accounting.hpp&#45;&gt;concurrency/queue/passive_producer.hpp -->
29
+ <g id="edge1" class="edge"><title>accounting.hpp&#45;&gt;concurrency/queue/passive_producer.hpp</title>
30
+ <path fill="none" stroke="black" d="M1802.8,-77.8309C1753.49,-67.1762 1678.2,-50.9105 1619.28,-38.1806"/>
31
+ <polygon fill="black" stroke="black" points="1619.74,-34.6993 1609.23,-36.0086 1618.26,-41.5415 1619.74,-34.6993"/>
32
+ </g>
33
+ <!-- containers/intrusive_list.hpp -->
34
+ <g id="node3" class="node"><title>containers/intrusive_list.hpp</title>
35
+ <polygon fill="none" stroke="black" points="2006,-36 1837,-36 1833,-32 1833,-0 2002,-0 2006,-4 2006,-36"/>
36
+ <polyline fill="none" stroke="black" points="2002,-32 1833,-32 "/>
37
+ <polyline fill="none" stroke="black" points="2002,-32 2002,-0 "/>
38
+ <polyline fill="none" stroke="black" points="2002,-32 2006,-36 "/>
39
+ <text text-anchor="middle" x="1919.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers/intrusive_list.hpp</text>
40
+ </g>
41
+ <!-- accounting.hpp&#45;&gt;containers/intrusive_list.hpp -->
42
+ <g id="edge2" class="edge"><title>accounting.hpp&#45;&gt;containers/intrusive_list.hpp</title>
43
+ <path fill="none" stroke="black" d="M1870.57,-71.6966C1878.44,-63.2198 1888.06,-52.8636 1896.67,-43.5826"/>
44
+ <polygon fill="black" stroke="black" points="1899.38,-45.8139 1903.62,-36.1043 1894.25,-41.0507 1899.38,-45.8139"/>
45
+ </g>
46
+ <!-- disk_backed_queue_wrapper.hpp -->
47
+ <g id="node4" class="node"><title>disk_backed_queue_wrapper.hpp</title>
48
+ <polygon fill="none" stroke="black" points="695,-108 492,-108 488,-104 488,-72 691,-72 695,-76 695,-108"/>
49
+ <polyline fill="none" stroke="black" points="691,-104 488,-104 "/>
50
+ <polyline fill="none" stroke="black" points="691,-104 691,-72 "/>
51
+ <polyline fill="none" stroke="black" points="691,-104 695,-108 "/>
52
+ <text text-anchor="middle" x="591.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">disk_backed_queue_wrapper.hpp</text>
53
+ </g>
54
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/queue/passive_producer.hpp -->
55
+ <g id="edge4" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/queue/passive_producer.hpp</title>
56
+ <path fill="none" stroke="black" d="M695.284,-84.0921C846.436,-76.51 1136.21,-60.338 1393.89,-36.0207"/>
57
+ <polygon fill="black" stroke="black" points="1394.58,-39.4715 1404.2,-35.0418 1393.92,-32.5028 1394.58,-39.4715"/>
58
+ </g>
59
+ <!-- concurrency/auto_drainer.hpp -->
60
+ <g id="node5" class="node"><title>concurrency/auto_drainer.hpp</title>
61
+ <polygon fill="none" stroke="black" points="185,-36 4,-36 0,-32 0,-0 181,-0 185,-4 185,-36"/>
62
+ <polyline fill="none" stroke="black" points="181,-32 0,-32 "/>
63
+ <polyline fill="none" stroke="black" points="181,-32 181,-0 "/>
64
+ <polyline fill="none" stroke="black" points="181,-32 185,-36 "/>
65
+ <text text-anchor="middle" x="92.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency/auto_drainer.hpp</text>
66
+ </g>
67
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/auto_drainer.hpp -->
68
+ <g id="edge3" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/auto_drainer.hpp</title>
69
+ <path fill="none" stroke="black" d="M487.866,-76.1905C409.976,-66.3308 300.378,-51.967 195.365,-36.2575"/>
70
+ <polygon fill="black" stroke="black" points="195.627,-32.7577 185.218,-34.7332 194.587,-39.68 195.627,-32.7577"/>
71
+ </g>
72
+ <!-- concurrency/wait_any.hpp -->
73
+ <g id="node6" class="node"><title>concurrency/wait_any.hpp</title>
74
+ <polygon fill="none" stroke="black" points="368,-36 207,-36 203,-32 203,-0 364,-0 368,-4 368,-36"/>
75
+ <polyline fill="none" stroke="black" points="364,-32 203,-32 "/>
76
+ <polyline fill="none" stroke="black" points="364,-32 364,-0 "/>
77
+ <polyline fill="none" stroke="black" points="364,-32 368,-36 "/>
78
+ <text text-anchor="middle" x="285.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency/wait_any.hpp</text>
79
+ </g>
80
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/wait_any.hpp -->
81
+ <g id="edge5" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;concurrency/wait_any.hpp</title>
82
+ <path fill="none" stroke="black" d="M517.035,-71.9656C472.618,-61.8047 416.085,-48.8723 370,-38.33"/>
83
+ <polygon fill="black" stroke="black" points="370.562,-34.8682 360.033,-36.0501 369.001,-41.692 370.562,-34.8682"/>
84
+ </g>
85
+ <!-- containers/archive/archive.hpp -->
86
+ <g id="node7" class="node"><title>containers/archive/archive.hpp</title>
87
+ <polygon fill="none" stroke="black" points="572.5,-36 390.5,-36 386.5,-32 386.5,-0 568.5,-0 572.5,-4 572.5,-36"/>
88
+ <polyline fill="none" stroke="black" points="568.5,-32 386.5,-32 "/>
89
+ <polyline fill="none" stroke="black" points="568.5,-32 568.5,-0 "/>
90
+ <polyline fill="none" stroke="black" points="568.5,-32 572.5,-36 "/>
91
+ <text text-anchor="middle" x="479.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers/archive/archive.hpp</text>
92
+ </g>
93
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;containers/archive/archive.hpp -->
94
+ <g id="edge6" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;containers/archive/archive.hpp</title>
95
+ <path fill="none" stroke="black" d="M564.102,-71.8761C549.593,-62.8083 531.584,-51.5523 515.915,-41.7592"/>
96
+ <polygon fill="black" stroke="black" points="517.339,-38.5218 507.004,-36.1898 513.629,-44.4578 517.339,-38.5218"/>
97
+ </g>
98
+ <!-- containers/archive/vector_stream.hpp -->
99
+ <g id="node8" class="node"><title>containers/archive/vector_stream.hpp</title>
100
+ <polygon fill="none" stroke="black" points="816.5,-36 594.5,-36 590.5,-32 590.5,-0 812.5,-0 816.5,-4 816.5,-36"/>
101
+ <polyline fill="none" stroke="black" points="812.5,-32 590.5,-32 "/>
102
+ <polyline fill="none" stroke="black" points="812.5,-32 812.5,-0 "/>
103
+ <polyline fill="none" stroke="black" points="812.5,-32 816.5,-36 "/>
104
+ <text text-anchor="middle" x="703.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers/archive/vector_stream.hpp</text>
105
+ </g>
106
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;containers/archive/vector_stream.hpp -->
107
+ <g id="edge7" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;containers/archive/vector_stream.hpp</title>
108
+ <path fill="none" stroke="black" d="M618.898,-71.8761C633.407,-62.8083 651.416,-51.5523 667.085,-41.7592"/>
109
+ <polygon fill="black" stroke="black" points="669.371,-44.4578 675.996,-36.1898 665.661,-38.5218 669.371,-44.4578"/>
110
+ </g>
111
+ <!-- containers/disk_backed_queue.hpp -->
112
+ <g id="node9" class="node"><title>containers/disk_backed_queue.hpp</title>
113
+ <polygon fill="none" stroke="black" points="1050,-36 839,-36 835,-32 835,-0 1046,-0 1050,-4 1050,-36"/>
114
+ <polyline fill="none" stroke="black" points="1046,-32 835,-32 "/>
115
+ <polyline fill="none" stroke="black" points="1046,-32 1046,-0 "/>
116
+ <polyline fill="none" stroke="black" points="1046,-32 1050,-36 "/>
117
+ <text text-anchor="middle" x="942.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">containers/disk_backed_queue.hpp</text>
118
+ </g>
119
+ <!-- disk_backed_queue_wrapper.hpp&#45;&gt;containers/disk_backed_queue.hpp -->
120
+ <g id="edge8" class="edge"><title>disk_backed_queue_wrapper.hpp&#45;&gt;containers/disk_backed_queue.hpp</title>
121
+ <path fill="none" stroke="black" d="M676.915,-71.9656C728.292,-61.7195 793.8,-48.6552 846.901,-38.0653"/>
122
+ <polygon fill="black" stroke="black" points="847.884,-41.4383 857.006,-36.0501 846.515,-34.5735 847.884,-41.4383"/>
123
+ </g>
124
+ <!-- limited_fifo.hpp -->
125
+ <g id="node10" class="node"><title>limited_fifo.hpp</title>
126
+ <polygon fill="none" stroke="black" points="1377.5,-108 1275.5,-108 1271.5,-104 1271.5,-72 1373.5,-72 1377.5,-76 1377.5,-108"/>
127
+ <polyline fill="none" stroke="black" points="1373.5,-104 1271.5,-104 "/>
128
+ <polyline fill="none" stroke="black" points="1373.5,-104 1373.5,-72 "/>
129
+ <polyline fill="none" stroke="black" points="1373.5,-104 1377.5,-108 "/>
130
+ <text text-anchor="middle" x="1324.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">limited_fifo.hpp</text>
131
+ </g>
132
+ <!-- limited_fifo.hpp&#45;&gt;concurrency/queue/passive_producer.hpp -->
133
+ <g id="edge9" class="edge"><title>limited_fifo.hpp&#45;&gt;concurrency/queue/passive_producer.hpp</title>
134
+ <path fill="none" stroke="black" d="M1374.63,-71.9656C1403.54,-62.1425 1440.07,-49.7291 1470.5,-39.3891"/>
135
+ <polygon fill="black" stroke="black" points="1471.8,-42.6422 1480.15,-36.1108 1469.55,-36.0143 1471.8,-42.6422"/>
136
+ </g>
137
+ <!-- concurrency/semaphore.hpp -->
138
+ <g id="node11" class="node"><title>concurrency/semaphore.hpp</title>
139
+ <polygon fill="none" stroke="black" points="1244.5,-36 1072.5,-36 1068.5,-32 1068.5,-0 1240.5,-0 1244.5,-4 1244.5,-36"/>
140
+ <polyline fill="none" stroke="black" points="1240.5,-32 1068.5,-32 "/>
141
+ <polyline fill="none" stroke="black" points="1240.5,-32 1240.5,-0 "/>
142
+ <polyline fill="none" stroke="black" points="1240.5,-32 1244.5,-36 "/>
143
+ <text text-anchor="middle" x="1156.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">concurrency/semaphore.hpp</text>
144
+ </g>
145
+ <!-- limited_fifo.hpp&#45;&gt;concurrency/semaphore.hpp -->
146
+ <g id="edge10" class="edge"><title>limited_fifo.hpp&#45;&gt;concurrency/semaphore.hpp</title>
147
+ <path fill="none" stroke="black" d="M1283.4,-71.8761C1260.33,-62.2641 1231.36,-50.1934 1206.93,-40.0125"/>
148
+ <polygon fill="black" stroke="black" points="1208.04,-36.6838 1197.46,-36.0683 1205.35,-43.1453 1208.04,-36.6838"/>
149
+ </g>
150
+ <!-- perfmon/types.hpp -->
151
+ <g id="node12" class="node"><title>perfmon/types.hpp</title>
152
+ <polygon fill="none" stroke="black" points="1386,-36 1267,-36 1263,-32 1263,-0 1382,-0 1386,-4 1386,-36"/>
153
+ <polyline fill="none" stroke="black" points="1382,-32 1263,-32 "/>
154
+ <polyline fill="none" stroke="black" points="1382,-32 1382,-0 "/>
155
+ <polyline fill="none" stroke="black" points="1382,-32 1386,-36 "/>
156
+ <text text-anchor="middle" x="1324.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">perfmon/types.hpp</text>
157
+ </g>
158
+ <!-- limited_fifo.hpp&#45;&gt;perfmon/types.hpp -->
159
+ <g id="edge11" class="edge"><title>limited_fifo.hpp&#45;&gt;perfmon/types.hpp</title>
160
+ <path fill="none" stroke="black" d="M1324.5,-71.6966C1324.5,-63.9827 1324.5,-54.7125 1324.5,-46.1124"/>
161
+ <polygon fill="black" stroke="black" points="1328,-46.1043 1324.5,-36.1043 1321,-46.1044 1328,-46.1043"/>
162
+ </g>
163
+ <!-- passive_producer.hpp -->
164
+ <g id="node13" class="node"><title>passive_producer.hpp</title>
165
+ <polygon fill="none" stroke="black" points="2181.5,-108 2043.5,-108 2039.5,-104 2039.5,-72 2177.5,-72 2181.5,-76 2181.5,-108"/>
166
+ <polyline fill="none" stroke="black" points="2177.5,-104 2039.5,-104 "/>
167
+ <polyline fill="none" stroke="black" points="2177.5,-104 2177.5,-72 "/>
168
+ <polyline fill="none" stroke="black" points="2177.5,-104 2181.5,-108 "/>
169
+ <text text-anchor="middle" x="2110.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">passive_producer.hpp</text>
170
+ </g>
171
+ <!-- arch/runtime/coroutines.hpp -->
172
+ <g id="node14" class="node"><title>arch/runtime/coroutines.hpp</title>
173
+ <polygon fill="none" stroke="black" points="2197,-36 2028,-36 2024,-32 2024,-0 2193,-0 2197,-4 2197,-36"/>
174
+ <polyline fill="none" stroke="black" points="2193,-32 2024,-32 "/>
175
+ <polyline fill="none" stroke="black" points="2193,-32 2193,-0 "/>
176
+ <polyline fill="none" stroke="black" points="2193,-32 2197,-36 "/>
177
+ <text text-anchor="middle" x="2110.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">arch/runtime/coroutines.hpp</text>
178
+ </g>
179
+ <!-- passive_producer.hpp&#45;&gt;arch/runtime/coroutines.hpp -->
180
+ <g id="edge12" class="edge"><title>passive_producer.hpp&#45;&gt;arch/runtime/coroutines.hpp</title>
181
+ <path fill="none" stroke="black" d="M2110.5,-71.6966C2110.5,-63.9827 2110.5,-54.7125 2110.5,-46.1124"/>
182
+ <polygon fill="black" stroke="black" points="2114,-46.1043 2110.5,-36.1043 2107,-46.1044 2114,-46.1043"/>
183
+ </g>
184
+ <!-- unlimited_fifo.hpp -->
185
+ <g id="node15" class="node"><title>unlimited_fifo.hpp</title>
186
+ <polygon fill="none" stroke="black" points="1655,-108 1540,-108 1536,-104 1536,-72 1651,-72 1655,-76 1655,-108"/>
187
+ <polyline fill="none" stroke="black" points="1651,-104 1536,-104 "/>
188
+ <polyline fill="none" stroke="black" points="1651,-104 1651,-72 "/>
189
+ <polyline fill="none" stroke="black" points="1651,-104 1655,-108 "/>
190
+ <text text-anchor="middle" x="1595.5" y="-86.3" font-family="Times New Roman,serif" font-size="14.00">unlimited_fifo.hpp</text>
191
+ </g>
192
+ <!-- unlimited_fifo.hpp&#45;&gt;concurrency/queue/passive_producer.hpp -->
193
+ <g id="edge13" class="edge"><title>unlimited_fifo.hpp&#45;&gt;concurrency/queue/passive_producer.hpp</title>
194
+ <path fill="none" stroke="black" d="M1579.43,-71.6966C1571.56,-63.2198 1561.94,-52.8636 1553.33,-43.5826"/>
195
+ <polygon fill="black" stroke="black" points="1555.75,-41.0507 1546.38,-36.1043 1550.62,-45.8139 1555.75,-41.0507"/>
196
+ </g>
197
+ <!-- perfmon/perfmon.hpp -->
198
+ <g id="node16" class="node"><title>perfmon/perfmon.hpp</title>
199
+ <polygon fill="none" stroke="black" points="1814.5,-36 1678.5,-36 1674.5,-32 1674.5,-0 1810.5,-0 1814.5,-4 1814.5,-36"/>
200
+ <polyline fill="none" stroke="black" points="1810.5,-32 1674.5,-32 "/>
201
+ <polyline fill="none" stroke="black" points="1810.5,-32 1810.5,-0 "/>
202
+ <polyline fill="none" stroke="black" points="1810.5,-32 1814.5,-36 "/>
203
+ <text text-anchor="middle" x="1744.5" y="-14.3" font-family="Times New Roman,serif" font-size="14.00">perfmon/perfmon.hpp</text>
204
+ </g>
205
+ <!-- unlimited_fifo.hpp&#45;&gt;perfmon/perfmon.hpp -->
206
+ <g id="edge14" class="edge"><title>unlimited_fifo.hpp&#45;&gt;perfmon/perfmon.hpp</title>
207
+ <path fill="none" stroke="black" d="M1631.95,-71.8761C1652.14,-62.3917 1677.42,-50.5134 1698.91,-40.419"/>
208
+ <polygon fill="black" stroke="black" points="1700.61,-43.4883 1708.17,-36.0683 1697.63,-37.1527 1700.61,-43.4883"/>
209
+ </g>
210
+ </g>
211
+ </svg>