block
columns 11
w1["who(1)"]
block:call1:3
d1["ptr"] v1["vtable ptr"]
end
space:1
w2["who(2)"]
block:call2:3
d2["ptr"] v2["vtable ptr"]
end
space:2
style w1 stroke-width:0px,fill:none
style w2 stroke-width:0px,fill:none
space:11
s3["Dog"]
block:str1:2
p3["ptr"] l3["len=4"]
end
space:2
s4["Cat"]
block:str2:2
p4["ptr"] l4["len=4"]
end
space:4
style s3 stroke-width:0px,fill:none
style s4 stroke-width:0px,fill:none
space:11
sd1["Fido"]
space:1
block:vtable1:1
columns 2
vt1l["vtable"]:2
vt1d["drop"]
vt1p["speak"]
end
space:2
sd2["Pete"]
space:1
block:vtable2:1
columns 2
vt2l["vtable"]:2
vt2d["drop"]
vt2p["speak"]
end
space:3
style vt1l stroke-width:0px,fill:none
style vt2l stroke-width:0px,fill:none
space:11
space:2
drop1["Dog::drop"]
speak1["Dog::speak"]
space:4
drop2["Cat::drop"]
speak2["Cat::speak"]
d1 --> p3
d2 --> p4
p3 --> sd1
p4 --> sd2
v1 --> vtable1
v2 --> vtable2
vt1p --> speak1
vt2p --> speak2
vt1d --> drop1
vt2d --> drop2