Files
clang-uml/docs/test_cases/t00052_class_mermaid.svg
2024-06-17 22:02:29 +02:00

275 lines
19 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 541.703125 459" style="max-width: 541.703px; background-color: white;" width="541.703125" 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-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M265.0234375,278L265.0234375,285.8333333333333C265.0234375,293.6666666666667,265.0234375,309.3333333333333,265.0234375,321.3333333333333C265.0234375,333.3333333333333,265.0234375,341.6666666666667,265.0234375,345.8333333333333L265.0234375,350"/>
<path marker-end="url(#classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id2" d="M461.125,278L461.125,285.8333333333333C461.125,293.6666666666667,461.125,309.3333333333333,461.125,323.1666666666667C461.125,337,461.125,349,461.125,355L461.125,361"/>
<path marker-start="url(#classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id3" d="M218.6015625,95.62258896100907L198.05338541666666,107.1854908008409C177.50520833333334,118.7483926406727,136.40885416666666,141.87419632033635,115.86067708333333,159.10376482683486C95.3125,176.33333333333334,95.3125,187.66666666666666,95.3125,193.33333333333334L95.3125,199"/>
<path marker-start="url(#classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M265.0234375,131L265.0234375,136.66666666666666C265.0234375,142.33333333333334,265.0234375,153.66666666666666,265.0234375,168.66666666666666C265.0234375,183.66666666666666,265.0234375,202.33333333333334,265.0234375,211.66666666666666L265.0234375,221"/>
<path marker-start="url(#classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id5" d="M311.4453125,92.1071072865623L336.3919270833333,104.25592273880191C361.3385416666667,116.40473819104153,411.2317708333333,140.70236909552077,436.1783854166667,162.1845178810937C461.125,183.66666666666666,461.125,202.33333333333334,461.125,211.66666666666666L461.125,221"/>
</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(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(95.3125, 165)" class="edgeLabel">
<g transform="translate(-9.125, -9)" class="label">
<foreignObject height="18" width="18.25">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="edgeLabel">
<span class="edgeLabel">+a</span>
</span>
</div>
</foreignObject>
</g>
</g>
<g transform="translate(265.0234375, 165)" class="edgeLabel">
<g transform="translate(-9.125, -9)" class="label">
<foreignObject height="18" width="18.25">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="edgeLabel">
<span class="edgeLabel">+b</span>
</span>
</div>
</foreignObject>
</g>
</g>
<g transform="translate(461.125, 165)" class="edgeLabel">
<g transform="translate(-8.671875, -9)" class="label">
<foreignObject height="18" width="17.34375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="edgeLabel">
<span class="edgeLabel">+c</span>
</span>
</div>
</foreignObject>
</g>
</g>
</g>
<g class="nodes">
<a transform="translate(95.3125, 249.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/c45830f35a6b34145559a084352a1083fa792527/tests/t00052/t00052.cc#L6">
<g title="A" id="classId-C_0017606824539677586172-0" class="node default clickable">
<rect height="101" width="174.625" y="-50.5" x="-87.3125" class="outer title-state"/>
<line y2="-20.5" y1="-20.5" x2="87.3125" x1="-87.3125" class="divider"/>
<line y2="-4.5" y1="-4.5" x2="87.3125" x1="-87.3125" 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( -5.78125, -43)" height="18" width="11.5625" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">A</span>
</div>
</foreignObject>
<foreignObject transform="translate( -79.8125, 3)" height="18" width="74.546875">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+a(T p) : T</span>
</div>
</foreignObject>
<foreignObject transform="translate( -79.8125, 25)" height="18" width="159.625">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+aa(F &amp;&amp; f, Q q) : void</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(265.0234375, 400.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/c45830f35a6b34145559a084352a1083fa792527/tests/t00052/t00052.cc#L13">
<g title="B" id="classId-C_0013898350213798320518-1" class="node default clickable">
<rect height="101" width="147.046875" y="-50.5" x="-73.5234375" class="outer title-state"/>
<line y2="-20.5" y1="-20.5" x2="73.5234375" x1="-73.5234375" class="divider"/>
<line y2="-4.5" y1="-4.5" x2="73.5234375" x1="-73.5234375" 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( -20.0078125, -43)" height="18" width="40.015625" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">B&lt;T&gt;</span>
</div>
</foreignObject>
<foreignObject transform="translate( -66.0234375, 3)" height="18" width="70.09375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+b(T t) : T</span>
</div>
</foreignObject>
<foreignObject transform="translate( -66.0234375, 25)" height="18" width="132.046875">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+bb(F &amp;&amp; f, T t) : T</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(461.125, 400.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/c45830f35a6b34145559a084352a1083fa792527/tests/t00052/t00052.cc#L20">
<g title="C" id="classId-C_0005502053119078660195-2" class="node default clickable">
<rect height="79" width="145.15625" y="-39.5" x="-72.578125" class="outer title-state"/>
<line y2="-9.5" y1="-9.5" x2="72.578125" x1="-72.578125" class="divider"/>
<line y2="6.5" y1="6.5" x2="72.578125" x1="-72.578125" 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( -20.0078125, -32)" height="18" width="40.015625" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">C&lt;T&gt;</span>
</div>
</foreignObject>
<foreignObject transform="translate( -65.078125, 14)" height="18" width="130.15625">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">-c&lt;p&gt;(P p) : T&lt;/p&gt;</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(265.0234375, 249.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/c45830f35a6b34145559a084352a1083fa792527/tests/t00052/t00052.cc#L13">
<g title="B" id="classId-C_0008344217782477406209-3" class="node default clickable">
<rect height="57" width="64.796875" y="-28.5" x="-32.3984375" class="outer title-state"/>
<line y2="1.5" y1="1.5" x2="32.3984375" x1="-32.3984375" class="divider"/>
<line y2="17.5" y1="17.5" x2="32.3984375" x1="-32.3984375" 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( -24.8984375, -21)" height="18" width="49.796875" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">B&lt;int&gt;</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(461.125, 249.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/c45830f35a6b34145559a084352a1083fa792527/tests/t00052/t00052.cc#L20">
<g title="C" id="classId-C_0003943750700435505414-4" class="node default clickable">
<rect height="57" width="64.796875" y="-28.5" x="-32.3984375" class="outer title-state"/>
<line y2="1.5" y1="1.5" x2="32.3984375" x1="-32.3984375" class="divider"/>
<line y2="17.5" y1="17.5" x2="32.3984375" x1="-32.3984375" 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( -24.8984375, -21)" height="18" width="49.796875" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">C&lt;int&gt;</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(265.0234375, 69.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/c45830f35a6b34145559a084352a1083fa792527/tests/t00052/t00052.cc#L29">
<g title="R" id="classId-C_0009263829349466393810-5" class="node default clickable">
<rect height="123" width="92.84375" y="-61.5" x="-46.421875" class="outer title-state"/>
<line y2="-31.5" y1="-31.5" x2="46.421875" x1="-46.421875" class="divider"/>
<line y2="50.5" y1="50.5" x2="46.421875" x1="-46.421875" 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( -5.78125, -54)" height="18" width="11.5625" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">R</span>
</div>
</foreignObject>
<foreignObject transform="translate( -38.921875, -20)" height="18" width="41.375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+a : A</span>
</div>
</foreignObject>
<foreignObject transform="translate( -38.921875, 2)" height="18" width="77.84375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+b : B&lt;int&gt;</span>
</div>
</foreignObject>
<foreignObject transform="translate( -38.921875, 24)" height="18" width="77.828125">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+c : C&lt;int&gt;</span>
</div>
</foreignObject>
</g>
</g>
</a>
</g>
</g>
</g>
</svg>