Files
clang-uml/docs/test_cases/t00073_class_mermaid.svg
2024-05-03 17:26:07 +02:00

287 lines
20 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 925.40625 349" style="max-width: 925.406px; background-color: white;" width="925.40625" 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="M101.59083764792899,109L98.35304178994083,114.66666666666667C95.11524593195266,120.33333333333333,88.63965421597634,131.66666666666666,85.40185835798816,143C82.1640625,154.33333333333334,82.1640625,165.66666666666666,82.1640625,171.33333333333334L82.1640625,177"/>
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id2" d="M331.8604151257397,109L321.2723511464497,114.66666666666667C310.68428716715977,120.33333333333333,289.5081592085799,131.66666666666666,278.9200952292899,143C268.33203125,154.33333333333334,268.33203125,165.66666666666666,268.33203125,171.33333333333334L268.33203125,177"/>
<path marker-end="url(#classDiagram-extensionEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id3" d="M694.0078125,234L694.0078125,238.16666666666666C694.0078125,242.33333333333334,694.0078125,250.66666666666666,694.0078125,259C694.0078125,267.3333333333333,694.0078125,275.6666666666667,694.0078125,279.8333333333333L694.0078125,284"/>
<path marker-start="url(#classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M252.890625,95.88197188664333L278.61328125,103.73497657220277C304.3359375,111.58798125776222,355.78125,127.2939906288811,408.5625,141.04404091757883C461.34375,154.79409120627656,515.4609375,166.58818241255312,542.51953125,172.4852280156914L569.578125,178.3822736188297"/>
<path marker-start="url(#classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id5" d="M509.2267242973373,109L518.5411504561145,114.66666666666667C527.8555766148916,120.33333333333333,546.4844289324458,131.66666666666666,567.4852925912229,143C588.48615625,154.33333333333334,611.8590312499999,165.66666666666666,623.5454687499999,171.33333333333334L635.23190625,177"/>
<path marker-start="url(#classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id6" d="M758.4765625,98L758.4765625,105.5C758.4765625,113,758.4765625,128,752.6313958333334,141.16666666666666C746.7862291666667,154.33333333333334,735.0958958333334,165.66666666666666,729.2507291666666,171.33333333333334L723.4055625,177"/>
</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(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 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"/>
</div>
</foreignObject>
</g>
</g>
<g 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"/>
</div>
</foreignObject>
</g>
</g>
<g transform="translate(758.4765625, 143)" class="edgeLabel">
<g transform="translate(-34.46875, -9)" class="label">
<foreignObject height="18" width="68.9375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="edgeLabel">
<span class="edgeLabel">+dispatch</span>
</span>
</div>
</foreignObject>
</g>
</g>
</g>
<g class="nodes">
<a transform="translate(82.1640625, 205.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00073/t00073.cc#L3">
<g title="A" id="classId-C_0001747277620916743482-0" class="node default clickable">
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" 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, -21)" 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>
</g>
</g>
</a>
<a transform="translate(130.4453125, 58.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00073/t00073.cc#L4">
<g title="AHandler" id="classId-C_0001553077875896883107-1" class="node default clickable">
<rect height="101" width="244.890625" y="-50.5" x="-122.4453125" class="outer title-state"/>
<line y2="-20.5" y1="-20.5" x2="122.4453125" x1="-122.4453125" class="divider"/>
<line y2="-4.5" y1="-4.5" x2="122.4453125" x1="-122.4453125" 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( -35.5625, -43)" height="18" width="71.125" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">AHandler</span>
</div>
</foreignObject>
<foreignObject transform="translate( -114.9453125, 3)" height="18" width="229.890625">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+operator() : A &amp; a) : [const] void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -114.9453125, 25)" height="18" width="200.5625">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+handle(A &amp; a) : [const] void</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(268.33203125, 205.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00073/t00073.cc#L9">
<g title="B" id="classId-C_0002289864660191173413-2" class="node default clickable">
<rect height="57" width="26.5625" y="-28.5" x="-13.28125" class="outer title-state"/>
<line y2="1.5" y1="1.5" x2="13.28125" x1="-13.28125" class="divider"/>
<line y2="17.5" y1="17.5" x2="13.28125" x1="-13.28125" 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, -21)" 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">B</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(426.21875, 58.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00073/t00073.cc#L10">
<g title="BHandler" id="classId-C_0001150176578121877194-3" class="node default clickable">
<rect height="101" width="246.65625" y="-50.5" x="-123.328125" class="outer title-state"/>
<line y2="-20.5" y1="-20.5" x2="123.328125" x1="-123.328125" class="divider"/>
<line y2="-4.5" y1="-4.5" x2="123.328125" x1="-123.328125" 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( -35.5625, -43)" height="18" width="71.125" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">BHandler</span>
</div>
</foreignObject>
<foreignObject transform="translate( -115.828125, 3)" height="18" width="231.65625">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+operator() : B &amp; b) : [const] void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -115.828125, 25)" height="18" width="201.453125">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+handle(B &amp; b) : [const] void</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(694.0078125, 312.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00073/t00073.cc#L15">
<g title="Overload" id="classId-C_0000128238421290776639-4" class="node default clickable">
<rect height="57" width="163.53125" y="-28.5" x="-81.765625" class="outer title-state"/>
<line y2="1.5" y1="1.5" x2="81.765625" x1="-81.765625" class="divider"/>
<line y2="17.5" y1="17.5" x2="81.765625" x1="-81.765625" 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( -74.265625, -21)" height="18" width="148.53125" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">Overload&lt;Bases...&gt;</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(694.0078125, 205.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00073/t00073.cc#L15">
<g title="Overload" id="classId-C_0001942698483892029961-5" class="node default clickable">
<rect height="57" width="248.859375" y="-28.5" x="-124.4296875" class="outer title-state"/>
<line y2="1.5" y1="1.5" x2="124.4296875" x1="-124.4296875" class="divider"/>
<line y2="17.5" y1="17.5" x2="124.4296875" x1="-124.4296875" 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( -116.9296875, -21)" height="18" width="233.859375" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">Overload&lt;AHandler,BHandler&gt;</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(758.4765625, 58.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00073/t00073.cc#L20">
<g title="R" id="classId-C_0000441440190371151626-6" class="node default clickable">
<rect height="79" width="317.859375" y="-39.5" x="-158.9296875" class="outer title-state"/>
<line y2="-9.5" y1="-9.5" x2="158.9296875" x1="-158.9296875" class="divider"/>
<line y2="28.5" y1="28.5" x2="158.9296875" x1="-158.9296875" 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, -32)" 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( -151.4296875, 2)" height="18" width="302.859375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+dispatch : Overload&lt;AHandler,BHandler&gt;</span>
</div>
</foreignObject>
</g>
</g>
</a>
</g>
</g>
</g>
</svg>