Files
clang-uml/docs/test_cases/t00002_class.svg

66 lines
14 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="362px" preserveAspectRatio="none" style="width:462px;height:362px;" version="1.1" viewBox="0 0 462 362" width="462px" zoomAndPan="magnify"><defs><filter height="300%" id="furs4w1pcy990" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[b1183f28f772e6b024d4c382feaa87e2]
class C_0000000001--><rect fill="#FEFECE" filter="url(#furs4w1pcy990)" height="73.6094" id="C_0000000001" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="215.5" y="8"/><ellipse cx="269.75" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M269.8594,19.3438 L268.7031,24.4219 L271.0313,24.4219 L269.8594,19.3438 Z M268.375,17.1094 L271.3594,17.1094 L274.7188,29.5 L272.2656,29.5 L271.5,26.4375 L268.2188,26.4375 L267.4688,29.5 L265.0313,29.5 L268.375,17.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="8" x="290.25" y="28.1543">A</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="216.5" x2="339.5" y1="40" y2="40"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="216.5" x2="339.5" y1="48" y2="48"/><ellipse cx="226.5" cy="59" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="99" x="235.5" y="62.2104">foo_a() = 0 : void</text><ellipse cx="226.5" cy="71.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="98" x="235.5" y="75.0151">foo_c() = 0 : void</text><!--MD5=[beff0c4640d168cedf062bb151026421]
class C_0000000003--><rect fill="#FEFECE" filter="url(#furs4w1pcy990)" height="60.8047" id="C_0000000003" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="297" y="143"/><ellipse cx="339" cy="159" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M341.9688,164.6406 Q341.3906,164.9375 340.75,165.0781 Q340.1094,165.2344 339.4063,165.2344 Q336.9063,165.2344 335.5781,163.5938 Q334.2656,161.9375 334.2656,158.8125 Q334.2656,155.6875 335.5781,154.0313 Q336.9063,152.375 339.4063,152.375 Q340.1094,152.375 340.75,152.5313 Q341.4063,152.6875 341.9688,152.9844 L341.9688,155.7031 Q341.3438,155.125 340.75,154.8594 Q340.1563,154.5781 339.5313,154.5781 Q338.1875,154.5781 337.5,155.6563 Q336.8125,156.7188 336.8125,158.8125 Q336.8125,160.9063 337.5,161.9844 Q338.1875,163.0469 339.5313,163.0469 Q340.1563,163.0469 340.75,162.7813 Q341.3438,162.5 341.9688,161.9219 L341.9688,164.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="359" y="163.1543">B</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="396" y1="175" y2="175"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="396" y1="183" y2="183"/><ellipse cx="308" cy="194" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="317" y="197.2104">foo_a() : void</text><!--MD5=[18c047a639bbed34c417ca7fb6966b16]
class C_0000000005--><rect fill="#FEFECE" filter="url(#furs4w1pcy990)" height="60.8047" id="C_0000000005" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="162.5" y="143"/><ellipse cx="204.05" cy="159" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M207.0188,164.6406 Q206.4406,164.9375 205.8,165.0781 Q205.1594,165.2344 204.4563,165.2344 Q201.9563,165.2344 200.6281,163.5938 Q199.3156,161.9375 199.3156,158.8125 Q199.3156,155.6875 200.6281,154.0313 Q201.9563,152.375 204.4563,152.375 Q205.1594,152.375 205.8,152.5313 Q206.4563,152.6875 207.0188,152.9844 L207.0188,155.7031 Q206.3938,155.125 205.8,154.8594 Q205.2063,154.5781 204.5813,154.5781 Q203.2375,154.5781 202.55,155.6563 Q201.8625,156.7188 201.8625,158.8125 Q201.8625,160.9063 202.55,161.9844 Q203.2375,163.0469 204.5813,163.0469 Q205.2063,163.0469 205.8,162.7813 Q206.3938,162.5 207.0188,161.9219 L207.0188,164.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="223.95" y="163.1543">C</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="163.5" x2="260.5" y1="175" y2="175"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="163.5" x2="260.5" y1="183" y2="183"/><ellipse cx="173.5" cy="194" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="182.5" y="197.2104">foo_c() : void</text><!--MD5=[818353795a49a6973a503ac8115e4dab]
class C_0000000007--><rect fill="#FEFECE" filter="url(#furs4w1pcy990)" height="86.4141" id="C_0000000007" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="276" y="265"/><ellipse cx="339.25" cy="281" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M342.2188,286.6406 Q341.6406,286.9375 341,287.0781 Q340.3594,287.2344 339.6563,287.2344 Q337.1563,287.2344 335.8281,285.5938 Q334.5156,283.9375 334.5156,280.8125 Q334.5156,277.6875 335.8281,276.0313 Q337.1563,274.375 339.6563,274.375 Q340.3594,274.375 341,274.5313 Q341.6563,274.6875 342.2188,274.9844 L342.2188,277.7031 Q341.5938,277.125 341,276.8594 Q340.4063,276.5781 339.7813,276.5781 Q338.4375,276.5781 337.75,277.6563 Q337.0625,278.7188 337.0625,280.8125 Q337.0625,282.9063 337.75,283.9844 Q338.4375,285.0469 339.7813,285.0469 Q340.4063,285.0469 341,284.7813 Q341.5938,284.5 342.2188,283.9219 L342.2188,286.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="9" x="359.75" y="285.1543">D</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="277" x2="419" y1="297" y2="297"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="284" y="305"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="118" x="296" y="311.2104">as : std::vector&lt;A*&gt;</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="277" x2="419" y1="317.8047" y2="317.8047"/><ellipse cx="287" cy="328.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="296" y="332.0151">foo_a() : void</text><ellipse cx="287" cy="341.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="296" y="344.8198">foo_c() : void</text><!--MD5=[e3f35d1775ade35663e31262a0ff8c2e]
class C_0000000011--><rect fill="#FEFECE" filter="url(#furs4w1pcy990)" height="86.4141" id="C_0000000011" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="97" y="265"/><ellipse cx="160.75" cy="281" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M163.7188,286.6406 Q163.1406,286.9375 162.5,287.0781 Q161.8594,287.2344 161.1563,287.2344 Q158.6563,287.2344 157.3281,285.5938 Q156.0156,283.9375 156.0156,280.8125 Q156.0156,277.6875 157.3281,276.0313 Q158.6563,274.375 161.1563,274.375 Q161.8594,274.375 162.5,274.5313 Q163.1563,274.6875 163.7188,274.9844 L163.7188,277.7031 Q163.0938,277.125 162.5,276.8594 Q161.9063,276.5781 161.2813,276.5781 Q159.9375,276.5781 159.25,277.6563 Q158.5625,278.7188 158.5625,280.8125 Q158.5625,282.9063 159.25,283.9844 Q159.9375,285.0469 161.2813,285.0469 Q161.9063,285.0469 162.5,284.7813 Q163.0938,284.5 163.7188,283.9219 L163.7188,286.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="8" x="181.25" y="285.1543">E</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="98" x2="240" y1="297" y2="297"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="105" y="305"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="118" x="117" y="311.2104">as : std::vector&lt;A*&gt;</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="98" x2="240" y1="317.8047" y2="317.8047"/><ellipse cx="108" cy="328.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="117" y="332.0151">foo_a() : void</text><ellipse cx="108" cy="341.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="117" y="344.8198">foo_c() : void</text><path d="M6,32.5 L6,57.6328 A0,0 0 0 0 6,57.6328 L180,57.6328 A0,0 0 0 0 180,57.6328 L180,50.5 L215.27,45 L180,42.5 L180,42.5 L170,32.5 L6,32.5 A0,0 0 0 0 6,32.5 " fill="#FBFB77" filter="url(#furs4w1pcy990)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M170,32.5 L170,42.5 L180,42.5 L170,32.5 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="153" x="12" y="49.5669">Base abstract interface.</text><!--MD5=[2035fd437a8abfbdc2f15fdb850511c5]
reverse link C_0000000001 to C_0000000003--><path d="M307.52,100.12 C315.47,114.69 323.78,129.93 330.71,142.64 " fill="none" id="C_0000000001&lt;-C_0000000003" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="301.2,103.16,297.77,82.25,313.49,96.46,301.2,103.16" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8257efa0eb28eb11690f718dcf595ab9]
reverse link C_0000000001 to C_0000000005--><path d="M249.76,100.12 C242.16,114.69 234.21,129.93 227.58,142.64 " fill="none" id="C_0000000001&lt;-C_0000000005" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="243.63,96.74,259.09,82.25,256.04,103.22,243.63,96.74" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2ddb6a99ab191184a60ec67a4689c2ac]
reverse link C_0000000003 to C_0000000007--><path d="M347.38,224.61 C347.48,237.85 347.59,252.02 347.68,264.8 " fill="none" id="C_0000000003&lt;-C_0000000007" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="340.38,224.29,347.22,204.24,354.38,224.18,340.38,224.29" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0de750b3303744d5dfe04ded3da11c90]
reverse link C_0000000005 to C_0000000007--><path d="M257.12,218.46 C272.44,233.38 289.51,250.02 304.69,264.8 " fill="none" id="C_0000000005&lt;-C_0000000007" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="251.96,223.21,242.52,204.24,261.73,213.18,251.96,223.21" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[417f5911cfff80224c21a7a8c45d686c]
reverse link C_0000000003 to C_0000000011--><path d="M290.75,216.37 C270,231.82 246.48,249.32 225.69,264.8 " fill="none" id="C_0000000003&lt;-C_0000000011" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="286.83,210.56,307.05,204.24,295.19,221.79,286.83,210.56" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[16da2bc5999c48551c1744d40cf34a1e]
reverse link C_0000000005 to C_0000000011--><path d="M196.05,223.65 C191.66,237.17 186.94,251.71 182.69,264.8 " fill="none" id="C_0000000005&lt;-C_0000000011" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="189.52,221.1,202.35,204.24,202.83,225.42,189.52,221.1" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1485c29c1d8f250ad526d58975847769]
link C_0000000007 to C_0000000001--><path d="M384.94,264.94 C409.83,231.23 434.66,183.11 414,143 C399.25,114.36 371.7,92.31 345.23,76.53 " fill="none" id="C_0000000007-&gt;C_0000000001" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="340.65,73.85,346.4036,81.8435,344.9673,76.372,350.4388,74.9357,340.65,73.85" style="stroke: #A80036; stroke-width: 1.0;"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="425" y="171.0664"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="15" x="435" y="178.0669">as</text><!--MD5=[02dbf8f0d16de306293c1df7504c5bf2]
link C_0000000011 to C_0000000001--><path d="M137.22,264.98 C115.43,230.65 94.09,181.66 116,143 C126.87,123.82 171.06,98.01 210.54,77.83 " fill="none" id="C_0000000011-&gt;C_0000000001" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="215.33,75.4,205.4937,75.8975,210.8694,77.6589,209.108,83.0346,215.33,75.4" style="stroke: #A80036; stroke-width: 1.0;"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="119" y="171.0664"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="15" x="129" y="178.0669">as</text><!--MD5=[85de6599e801aabdf0344ef6bbabd1da]
@startuml
abstract "A" as C_0000000001
abstract C_0000000001 {
{abstract} +foo_a() = 0 : void
{abstract} +foo_c() = 0 : void
}
class "B" as C_0000000003
class C_0000000003 {
+foo_a() : void
}
C_0000000001 <|- - C_0000000003
class "C" as C_0000000005
class C_0000000005 {
+foo_c() : void
}
C_0000000001 <|- - C_0000000005
class "D" as C_0000000007
class C_0000000007 {
+foo_a() : void
+foo_c() : void
-as : std::vector<A*>
}
C_0000000003 <|- - C_0000000007
C_0000000005 <|- - C_0000000007
class "E" as C_0000000011
class C_0000000011 {
+foo_a() : void
+foo_c() : void
-as : std::vector<A*>
}
C_0000000003 <|- - C_0000000011
C_0000000005 <|- - C_0000000011
C_0000000007 - -> C_0000000001 : -as
C_0000000011 - -> C_0000000001 : -as
note left of C_0000000001 : Base abstract interface.
@enduml
PlantUML version 1.2020.02(Sun Mar 01 11:22:07 CET 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.13+8-Ubuntu-0ubuntu1.21.10
Operating System: Linux
Default Encoding: UTF-8
Language: pl
Country: PL
--></g></svg>