shreyasbharath/cpp_dependency_graph

View on GitHub
docs/examples/leveldb_cyclic_deps.svg

Summary

Maintainability
Test Coverage
<?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="686" style="perspective-origin:768px 343px;transform-origin:768px 343px;" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><rect width="1536" height="686" 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 transform="translate(-767.9999999999995,-337.9999999999999) scale(1.9999999999999996)" style="overflow-x:visible;overflow-y:visible;perspective-origin:0px 0px;transform:matrix(2, 0, 0, 2, -768, -338);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="M772.181500230866,242.2880601767661L691.0013375095142,243.16767372388438" 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 772.182 242.288 L 691.001 243.168');"/><path class="link" marker-end="url(#default)" d="M638.872526794038,351.26554522616397L665.8573138155941,262.0439461661948" 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 638.872 351.266 L 665.857 262.044');"/><path class="link" marker-end="url(#default)" d="M650.1540519564589,379.612330761244L731.4477569345714,426.1109895794229" 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 650.154 379.612 L 731.448 426.111');"/><path class="link" marker-end="url(#default)" d="M821.3397561915612,361.6295432167713L762.050311785604,421.89239011317284" 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 821.34 361.63 L 762.05 421.892');"/><path class="link" marker-end="url(#default)" d="M665.8573138155941,262.0439461661948L638.872526794038,351.26554522616397" 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 665.857 262.044 L 638.872 351.266');"/><path class="link" marker-end="url(#default)" d="M691.0013375095142,243.16767372388438L772.181500230866,242.2880601767661" 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 691.001 243.168 L 772.182 242.288');"/><path class="link" marker-end="url(#default)" d="M762.050311785604,421.89239011317284L821.3397561915612,361.6295432167713" 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 762.05 421.892 L 821.34 361.63');"/><path class="link" marker-end="url(#default)" d="M731.4477569345714,426.1109895794229L650.1540519564589,379.612330761244" 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 731.448 426.111 L 650.154 379.612');"/></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="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, 790.18, 242.093);transform-origin:0px 0px;fill:rgb(31, 119, 180);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(790.1804436852453,242.09303575250334)"/><circle class="node" r="19.5" source="3" 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, 671.503, 243.379);transform-origin:0px 0px;fill:rgb(255, 127, 14);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:19.5px;" transform="translate(671.5024821006034,243.37895018350235)"/><circle class="node" r="19.5" source="3" 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, 633.227, 369.931);transform-origin:0px 0px;fill:rgb(44, 160, 44);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:19.5px;" transform="translate(633.2273585090287,369.9305412088564)"/><circle class="node" r="19.5" source="3" 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, 748.374, 435.793);transform-origin:0px 0px;fill:rgb(214, 39, 40);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:19.5px;" transform="translate(748.3744503820017,435.79277913181045)"/><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, 833.964, 348.798);transform-origin:0px 0px;fill:rgb(148, 103, 189);stroke:rgb(0, 0, 0);stroke-width:0.5px;r:18px;" transform="translate(833.9636282564248,348.79841489187504)"/></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(790.1804436852453,242.09303575250334)" 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, 790.18, 242.093);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(671.5024821006034,243.37895018350235)" 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, 671.503, 243.379);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(633.2273585090287,369.9305412088564)" 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, 633.227, 369.931);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(748.3744503820017,435.79277913181045)" 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:0px 0px;transform:matrix(1, 0, 0, 1, 748.374, 435.793);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(833.9636282564248,348.79841489187504)" 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, 833.964, 348.798);transform-origin:0px 0px;user-select:none;stroke:rgb(0, 0, 0);stroke-width:0.5px;text-anchor:middle;">port</text></g></g></svg>