193 lines
14 KiB
XML
193 lines
14 KiB
XML
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 300 506" style="max-width: 300px; background-color: white;" width="300" id="my-svg">
|
|
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
|
|
<g>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker aggregation classDiagram" id="classDiagram-aggregationStart">
|
|
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
|
</marker>
|
|
<style type="text/css">a:hover { text-decoration: underline; }</style>
|
|
</defs>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" class="marker aggregation classDiagram" id="classDiagram-aggregationEnd">
|
|
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
|
</marker>
|
|
</defs>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker extension classDiagram" id="classDiagram-extensionStart">
|
|
<path d="M 1,7 L18,13 V 1 Z"/>
|
|
</marker>
|
|
</defs>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" class="marker extension classDiagram" id="classDiagram-extensionEnd">
|
|
<path d="M 1,1 V 13 L18,7 Z"/>
|
|
</marker>
|
|
</defs>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker composition classDiagram" id="classDiagram-compositionStart">
|
|
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
|
</marker>
|
|
</defs>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" class="marker composition classDiagram" id="classDiagram-compositionEnd">
|
|
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
|
|
</marker>
|
|
</defs>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker dependency classDiagram" id="classDiagram-dependencyStart">
|
|
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
|
|
</marker>
|
|
</defs>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" class="marker dependency classDiagram" id="classDiagram-dependencyEnd">
|
|
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
|
|
</marker>
|
|
</defs>
|
|
<defs>
|
|
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker lollipop classDiagram" id="classDiagram-lollipopStart">
|
|
<circle r="6" cy="7" cx="6" fill="white" stroke="black"/>
|
|
</marker>
|
|
</defs>
|
|
<g class="root">
|
|
<g class="clusters"/>
|
|
<g class="edgePaths">
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M135.62710900821597,153L134.50371063184664,158.66666666666666C133.38031225547732,164.33333333333334,131.13351550273865,175.66666666666666,130.7036935152582,187C130.2738715277778,198.33333333333334,131.66102430555557,209.66666666666666,132.35460069444446,215.33333333333334L133.04817708333334,221"/>
|
|
<path marker-start="url(#classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M166.95182291666666,221L167.64539930555554,215.33333333333334C168.33897569444443,209.66666666666666,169.7261284722222,198.33333333333334,169.2963064847418,187C168.86648449726135,175.66666666666666,166.61968774452268,164.33333333333334,165.49628936815336,158.66666666666666L164.37289099178403,153"/>
|
|
</g>
|
|
<g class="edgeLabels">
|
|
<g transform="translate(undefined, undefined)" class="edgeLabel">
|
|
<g transform="translate(0, 0)" class="label">
|
|
<foreignObject height="0" width="0">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="edgeLabel">
|
|
<span class="edgeLabel"/>
|
|
</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
<g transform="translate(171.11328125, 187)" class="edgeLabel">
|
|
<g transform="translate(-22.2265625, -9)" class="label">
|
|
<foreignObject height="18" width="44.453125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="edgeLabel">
|
|
<span class="edgeLabel">-pImpl</span>
|
|
</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
<g class="nodes">
|
|
<a transform="translate(150, 80.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00018/t00018_impl.h#L9">
|
|
<g title="widget" id="classId-C_0000130502639682787993-0" class="node default clickable">
|
|
<rect height="145" width="284" y="-72.5" x="-142" class="outer title-state"/>
|
|
<line y2="-42.5" y1="-42.5" x2="142" x1="-142" class="divider"/>
|
|
<line y2="-4.5" y1="-4.5" x2="142" x1="-142" class="divider"/>
|
|
<g class="label">
|
|
<foreignObject height="0" width="0">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel"/>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -47.109375, -65)" height="18" width="94.21875" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">impl::widget</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -134.5, -31)" height="18" width="44.46875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">-n : int</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -134.5, 3)" height="18" width="139.1875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+widget(int n) : void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -134.5, 25)" height="18" width="269">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+draw(const widget & w) : [const] void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -134.5, 47)" height="18" width="217.421875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+draw(const widget & w) : void</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(150, 359.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00018/t00018.h#L17">
|
|
<g title="widget" id="classId-C_0001005661284373854088-1" class="node default clickable">
|
|
<rect height="277" width="282.703125" y="-138.5" x="-141.3515625" class="outer title-state"/>
|
|
<line y2="-108.5" y1="-108.5" x2="141.3515625" x1="-141.3515625" class="divider"/>
|
|
<line y2="-70.5" y1="-70.5" x2="141.3515625" x1="-141.3515625" class="divider"/>
|
|
<g class="label">
|
|
<foreignObject height="0" width="0">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel"/>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -25.3359375, -131)" height="18" width="50.671875" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">widget</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, -97)" height="18" width="266.8125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">-pImpl : std::unique_ptr<impl::widget></span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, -63)" height="18" width="125.84375">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+widget(int) : void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, -41)" height="18" width="180.984375">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+widget(widget &&) : void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, -19)" height="18" width="213">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+widget(const widget &) : void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, 3)" height="18" width="118.28125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+~widget() : void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, 25)" height="18" width="235.6875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+operator=(widget &&) : widget &</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, 47)" height="18" width="267.703125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+operator=(const widget &) : widget &</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, 69)" height="18" width="148.953125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+draw() : [const] void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, 91)" height="18" width="97.375">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+draw() : void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -133.8515625, 113)" height="18" width="161.421875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+shown() : [const] bool</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
</svg>
|