474 lines
35 KiB
XML
474 lines
35 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 1239.65625 592" style="max-width: 1239.66px; background-color: white;" width="1239.65625" 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-start="url(#classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id1" d="M152.015625,455L152.015625,459.1666666666667C152.015625,463.3333333333333,152.015625,471.6666666666667,158.10715439276487,480C164.1986837855297,488.3333333333333,176.38174257105945,496.6666666666667,182.47327196382432,500.8333333333333L188.56480135658916,505"/>
|
|
<path marker-start="url(#classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M296.03125,446.6460520614605L311.0950520833333,452.20504338455044C326.1588541666667,457.76403470764035,356.2864583333333,468.8820173538202,379.1087592861757,478.6076753435768C401.9310602390181,488.3333333333333,417.44805797803616,496.6666666666667,425.20655684754524,500.8333333333333L432.96505571705427,505"/>
|
|
<path marker-start="url(#classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id3" d="M726.5703125,455L726.5703125,459.1666666666667C726.5703125,463.3333333333333,726.5703125,471.6666666666667,732.9984657622739,480C739.4266190245477,488.3333333333333,752.2829255490956,496.6666666666667,758.7110788113695,500.8333333333333L765.1392320736434,505"/>
|
|
<path marker-start="url(#classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id4" d="M870.5859375,447.544909164859L885,452.95409097071587C899.4140625,458.3632727765727,928.2421875,469.18163638828634,951.1182776162791,478.7574848608098C973.9943677325582,488.3333333333333,990.9184229651163,496.6666666666667,999.3804505813954,500.8333333333333L1007.8424781976744,505"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id5" d="M308.1328125,113.70187199595244L280.4466145833333,120.75155999662702C252.76041666666666,127.80124799730163,197.38802083333334,141.90062399865081,169.70182291666666,161.53364533265872C142.015625,181.16666666666666,142.015625,206.33333333333334,142.015625,231.5C142.015625,256.6666666666667,142.015625,281.8333333333333,142.49732056840077,298.5833333333333C142.97901613680153,315.3333333333333,143.9424072736031,323.6666666666667,144.42410284200386,327.8333333333333L144.90579841040463,332"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id6" d="M599.2775469653179,131L607.2417058044316,135.16666666666666C615.2058646435453,139.33333333333334,631.1341823217726,147.66666666666666,639.0983411608863,164.41666666666666C647.0625,181.16666666666666,647.0625,206.33333333333334,647.0625,231.5C647.0625,256.6666666666667,647.0625,281.8333333333333,650.8923560934489,298.5833333333333C654.7222121868979,315.3333333333333,662.3819243737958,323.6666666666667,666.2117804672447,327.8333333333333L670.0416365606936,332"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id7" d="M284.7304946192053,282L279.29494343267106,286.1666666666667C273.85939224613685,290.3333333333333,262.9882898730684,298.6666666666667,252.73089078190992,307C242.47349169075144,315.3333333333333,232.82979588150292,323.6666666666667,228.00794797687863,327.8333333333333L223.18610007225433,332"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id8" d="M524.203125,258.9792792792793L574.7630208333334,266.98273273273276C625.3229166666666,274.9861861861862,726.4427083333334,290.99309309309314,772.1378552504817,303.1632132132132C817.8330021676301,315.3333333333333,808.10350433526,323.6666666666667,803.2387554190751,327.8333333333333L798.3740065028902,332"/>
|
|
<path marker-start="url(#classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id9" d="M388.5045158959538,131L382.1886590799615,135.16666666666666C375.87280226396916,139.33333333333334,363.2410886319846,147.66666666666666,356.9252318159923,156C350.609375,164.33333333333334,350.609375,172.66666666666666,350.609375,176.83333333333334L350.609375,181"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id10" d="M884.46875,248.17587797337998L782.41015625,257.97989831114995C680.3515625,267.78391864892,476.234375,287.39195932446,368.39054220857423,301.3626463288967C260.54670941714835,315.3333333333333,248.97623133429673,323.6666666666667,243.1909922928709,327.8333333333333L237.4057532514451,332"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id11" d="M917.2644867549669,282L905.6474889624724,286.1666666666667C894.0304911699781,290.3333333333333,870.796495584989,298.6666666666667,853.351357739508,307C835.906219894027,315.3333333333333,824.2499397880539,323.6666666666667,818.4217997350675,327.8333333333333L812.5936596820809,332"/>
|
|
<path marker-start="url(#classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id12" d="M655.3203125,95.55400496129916L722.4440104166666,105.62833746774929C789.5677083333334,115.70266997419942,923.8151041666666,135.8513349870997,990.9388020833334,150.09233416021652C1058.0625,164.33333333333334,1058.0625,172.66666666666666,1058.0625,176.83333333333334L1058.0625,181"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id13" d="M361.1807222682119,282L362.0529456401766,286.1666666666667C362.9251690121412,290.3333333333333,364.66961575607064,298.6666666666667,365.5418391280353,317.25C366.4140625,335.8333333333333,366.4140625,364.6666666666667,366.4140625,393.5C366.4140625,422.3333333333333,366.4140625,451.1666666666667,358.6555636304909,469.75C350.8970647609819,488.3333333333333,335.38006702196384,496.6666666666667,327.62156815245476,500.8333333333333L319.86306928294573,505"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id14" d="M524.203125,253.8481689690543L593.0143229166666,262.7068074742119C661.8255208333334,271.56544597936954,799.4479166666666,289.28272298968477,868.2591145833334,312.55802816150907C937.0703125,335.8333333333333,937.0703125,364.6666666666667,937.0703125,393.5C937.0703125,422.3333333333333,937.0703125,451.1666666666667,929.9002745478036,469.75C922.7302365956072,488.3333333333333,908.3901606912144,496.6666666666667,901.2201227390179,500.8333333333333L894.0500847868217,505"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id15" d="M884.46875,257.1731195959905L828.31640625,265.4775996633254C772.1640625,273.7820797306603,659.859375,290.3910398653302,603.70703125,313.1121865993318C547.5546875,335.8333333333333,547.5546875,364.6666666666667,547.5546875,393.5C547.5546875,422.3333333333333,547.5546875,451.1666666666667,544.9035852713179,469.75C542.2524830426356,488.3333333333333,536.9502785852713,496.6666666666667,534.2991763565891,500.8333333333333L531.648074127907,505"/>
|
|
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id16" d="M1078.1287251655629,282L1079.7843543046358,286.1666666666667C1081.4399834437086,290.3333333333333,1084.7512417218543,298.6666666666667,1086.4068708609273,317.25C1088.0625,335.8333333333333,1088.0625,364.6666666666667,1088.0625,393.5C1088.0625,422.3333333333333,1088.0625,451.1666666666667,1088.0625,469.75C1088.0625,488.3333333333333,1088.0625,496.6666666666667,1088.0625,500.8333333333333L1088.0625,505"/>
|
|
</g>
|
|
<g class="edgeLabels">
|
|
<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 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(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 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 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 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 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>
|
|
<g class="nodes">
|
|
<a transform="translate(152.015625, 393.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L6">
|
|
<g title="ProductA" id="classId-C_0003402137837275719558-0" class="node default clickable">
|
|
<rect height="123" width="288.03125" y="-61.5" x="-144.015625" class="outer title-state"/>
|
|
<line y2="-9.5" y1="-9.5" x2="144.015625" x1="-144.015625" class="divider"/>
|
|
<line y2="6.5" y1="6.5" x2="144.015625" x1="-144.015625" class="divider"/>
|
|
<g class="label">
|
|
<foreignObject transform="translate( -37.359375, -54)" height="18" width="74.71875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">«abstract»</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -36, -32)" height="18" width="72" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">ProductA</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -136.515625, 14)" height="18" width="273.03125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+~ProductA() : [default,constexpr] void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -136.515625, 36)" height="18" width="195.203125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
|
<span style="font-style:italic;" class="nodeLabel">+sell(int price) : [const] bool</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(246.3125, 544.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L12">
|
|
<g title="ProductA1" id="classId-C_0014051968238382913662-1" class="node default clickable">
|
|
<rect height="79" width="210.203125" y="-39.5" x="-105.1015625" class="outer title-state"/>
|
|
<line y2="-9.5" y1="-9.5" x2="105.1015625" x1="-105.1015625" class="divider"/>
|
|
<line y2="6.5" y1="6.5" x2="105.1015625" x1="-105.1015625" 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( -40.453125, -32)" height="18" width="80.90625" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">ProductA1</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -97.6015625, 14)" height="18" width="195.203125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+sell(int price) : [const] bool</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(506.515625, 544.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L17">
|
|
<g title="ProductA2" id="classId-C_0012253668743081735855-2" class="node default clickable">
|
|
<rect height="79" width="210.203125" y="-39.5" x="-105.1015625" class="outer title-state"/>
|
|
<line y2="-9.5" y1="-9.5" x2="105.1015625" x1="-105.1015625" class="divider"/>
|
|
<line y2="6.5" y1="6.5" x2="105.1015625" x1="-105.1015625" 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( -40.453125, -32)" height="18" width="80.90625" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">ProductA2</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -97.6015625, 14)" height="18" width="195.203125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+sell(int price) : [const] bool</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(726.5703125, 393.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L22">
|
|
<g title="ProductB" id="classId-C_0017886072050998926742-3" class="node default clickable">
|
|
<rect height="123" width="288.03125" y="-61.5" x="-144.015625" class="outer title-state"/>
|
|
<line y2="-9.5" y1="-9.5" x2="144.015625" x1="-144.015625" class="divider"/>
|
|
<line y2="6.5" y1="6.5" x2="144.015625" x1="-144.015625" class="divider"/>
|
|
<g class="label">
|
|
<foreignObject transform="translate( -37.359375, -54)" height="18" width="74.71875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">«abstract»</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -36, -32)" height="18" width="72" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">ProductB</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -136.515625, 14)" height="18" width="273.03125">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+~ProductB() : [default,constexpr] void</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -136.515625, 36)" height="18" width="196.984375">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
|
<span style="font-style:italic;" class="nodeLabel">+buy(int price) : [const] bool</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(826.078125, 544.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L28">
|
|
<g title="ProductB1" id="classId-C_0011723944193865790765-4" class="node default clickable">
|
|
<rect height="79" width="211.984375" y="-39.5" x="-105.9921875" class="outer title-state"/>
|
|
<line y2="-9.5" y1="-9.5" x2="105.9921875" x1="-105.9921875" class="divider"/>
|
|
<line y2="6.5" y1="6.5" x2="105.9921875" x1="-105.9921875" 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( -40.453125, -32)" height="18" width="80.90625" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">ProductB1</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -98.4921875, 14)" height="18" width="196.984375">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+buy(int price) : [const] bool</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(1088.0625, 544.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L33">
|
|
<g title="ProductB2" id="classId-C_0017237324498960462969-5" class="node default clickable">
|
|
<rect height="79" width="211.984375" y="-39.5" x="-105.9921875" class="outer title-state"/>
|
|
<line y2="-9.5" y1="-9.5" x2="105.9921875" x1="-105.9921875" class="divider"/>
|
|
<line y2="6.5" y1="6.5" x2="105.9921875" x1="-105.9921875" 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( -40.453125, -32)" height="18" width="80.90625" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">ProductB2</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -98.4921875, 14)" height="18" width="196.984375">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+buy(int price) : [const] bool</span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(481.7265625, 69.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L38">
|
|
<g title="AbstractFactory" id="classId-C_0013644371753751691404-6" class="node default clickable">
|
|
<rect height="123" width="347.1875" y="-61.5" x="-173.59375" class="outer title-state"/>
|
|
<line y2="-9.5" y1="-9.5" x2="173.59375" x1="-173.59375" class="divider"/>
|
|
<line y2="6.5" y1="6.5" x2="173.59375" x1="-173.59375" class="divider"/>
|
|
<g class="label">
|
|
<foreignObject transform="translate( -37.359375, -54)" height="18" width="74.71875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">«abstract»</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -61.3515625, -32)" height="18" width="122.703125" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">AbstractFactory</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -166.09375, 14)" height="18" width="332.1875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
|
<span style="font-style:italic;" class="nodeLabel">+make_a() : [const] std::unique_ptr<ProductA></span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -166.09375, 36)" height="18" width="332.1875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic; display: inline-block; white-space: nowrap;">
|
|
<span style="font-style:italic;" class="nodeLabel">+make_b() : [const] std::unique_ptr<ProductB></span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(350.609375, 231.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L44">
|
|
<g title="Factory1" id="classId-C_0005538774787878832856-7" class="node default clickable">
|
|
<rect height="101" width="347.1875" y="-50.5" x="-173.59375" class="outer title-state"/>
|
|
<line y2="-20.5" y1="-20.5" x2="173.59375" x1="-173.59375" class="divider"/>
|
|
<line y2="-4.5" y1="-4.5" x2="173.59375" x1="-173.59375" 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( -33.3515625, -43)" height="18" width="66.703125" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">Factory1</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -166.09375, 3)" height="18" width="332.1875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+make_a() : [const] std::unique_ptr<ProductA></span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -166.09375, 25)" height="18" width="332.1875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+make_b() : [const] std::unique_ptr<ProductB></span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
<a transform="translate(1058.0625, 231.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/e41b0da6776e43f4d4f0bb41619a04e152c35cb6/tests/t00020/t00020.cc#L57">
|
|
<g title="Factory2" id="classId-C_0012530606966440104191-8" class="node default clickable">
|
|
<rect height="101" width="347.1875" y="-50.5" x="-173.59375" class="outer title-state"/>
|
|
<line y2="-20.5" y1="-20.5" x2="173.59375" x1="-173.59375" class="divider"/>
|
|
<line y2="-4.5" y1="-4.5" x2="173.59375" x1="-173.59375" 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( -33.3515625, -43)" height="18" width="66.703125" class="classTitle">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">Factory2</span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -166.09375, 3)" height="18" width="332.1875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+make_a() : [const] std::unique_ptr<ProductA></span>
|
|
</div>
|
|
</foreignObject>
|
|
<foreignObject transform="translate( -166.09375, 25)" height="18" width="332.1875">
|
|
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
|
|
<span class="nodeLabel">+make_b() : [const] std::unique_ptr<ProductB></span>
|
|
</div>
|
|
</foreignObject>
|
|
</g>
|
|
</g>
|
|
</a>
|
|
</g>
|
|
</g>
|
|
</g>
|
|
</svg>
|