4.svg 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <!-- Generated by graphviz version 2.43.0 (0)
  5. -->
  6. <!-- Title: G Pages: 1 -->
  7. <svg width="417pt" height="303pt"
  8. viewBox="0.00 0.00 417.00 303.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  9. <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 299)">
  10. <title>G</title>
  11. <polygon fill="white" stroke="transparent" points="-4,4 -4,-299 413,-299 413,4 -4,4"/>
  12. <g id="clust1" class="cluster">
  13. <title>cluster_1</title>
  14. <path fill="gray" stroke="black" d="M29,-98C29,-98 380,-98 380,-98 386,-98 392,-104 392,-110 392,-110 392,-215 392,-215 392,-221 386,-227 380,-227 380,-227 29,-227 29,-227 23,-227 17,-221 17,-215 17,-215 17,-110 17,-110 17,-104 23,-98 29,-98"/>
  15. <text text-anchor="middle" x="204.5" y="-211.8" font-family="Times,serif" font-size="14.00">upb Arena</text>
  16. </g>
  17. <g id="clust2" class="cluster">
  18. <title>cluster_python</title>
  19. </g>
  20. <g id="clust6" class="cluster">
  21. <title>cluster_01</title>
  22. </g>
  23. <!-- upb_msg -->
  24. <g id="node1" class="node">
  25. <title>upb_msg</title>
  26. <path fill="#7fc97f" stroke="black" d="M102,-169C102,-169 37,-169 37,-169 31,-169 25,-163 25,-157 25,-157 25,-145 25,-145 25,-139 31,-133 37,-133 37,-133 102,-133 102,-133 108,-133 114,-139 114,-145 114,-145 114,-157 114,-157 114,-163 108,-169 102,-169"/>
  27. <text text-anchor="middle" x="69.5" y="-147.3" font-family="Times,serif" font-size="14.00">upb Message</text>
  28. </g>
  29. <!-- upb_array -->
  30. <g id="node2" class="node">
  31. <title>upb_array</title>
  32. <path fill="#7fc97f" stroke="black" d="M363,-142C363,-142 316,-142 316,-142 310,-142 304,-136 304,-130 304,-130 304,-118 304,-118 304,-112 310,-106 316,-106 316,-106 363,-106 363,-106 369,-106 375,-112 375,-118 375,-118 375,-130 375,-130 375,-136 369,-142 363,-142"/>
  33. <text text-anchor="middle" x="339.5" y="-120.3" font-family="Times,serif" font-size="14.00">upb Array</text>
  34. </g>
  35. <!-- upb_msg&#45;&gt;upb_array -->
  36. <g id="edge1" class="edge">
  37. <title>upb_msg&#45;&gt;upb_array</title>
  38. <path fill="none" stroke="black" stroke-dasharray="5,2" d="M114.33,-139.43C128.49,-136.14 144.32,-132.93 159,-131 204.59,-125.01 257.21,-123.6 293.64,-123.48"/>
  39. <polygon fill="black" stroke="black" points="293.93,-126.98 303.93,-123.48 293.93,-119.98 293.93,-126.98"/>
  40. </g>
  41. <!-- upb_msg2 -->
  42. <g id="node3" class="node">
  43. <title>upb_msg2</title>
  44. <path fill="#7fc97f" stroke="black" d="M372,-196C372,-196 307,-196 307,-196 301,-196 295,-190 295,-184 295,-184 295,-172 295,-172 295,-166 301,-160 307,-160 307,-160 372,-160 372,-160 378,-160 384,-166 384,-172 384,-172 384,-184 384,-184 384,-190 378,-196 372,-196"/>
  45. <text text-anchor="middle" x="339.5" y="-174.3" font-family="Times,serif" font-size="14.00">upb Message</text>
  46. </g>
  47. <!-- upb_msg&#45;&gt;upb_msg2 -->
  48. <g id="edge2" class="edge">
  49. <title>upb_msg&#45;&gt;upb_msg2</title>
  50. <path fill="none" stroke="black" stroke-dasharray="5,2" d="M108.38,-169.06C123.72,-175.44 141.85,-181.82 159,-185 200.72,-192.74 248.8,-190.27 284.7,-186.27"/>
  51. <polygon fill="black" stroke="black" points="285.44,-189.7 294.95,-185.04 284.61,-182.75 285.44,-189.7"/>
  52. </g>
  53. <!-- dummy -->
  54. <!-- dummy&#45;&gt;upb_array -->
  55. <!-- dummy&#45;&gt;upb_msg2 -->
  56. <!-- py_upb_msg -->
  57. <g id="node5" class="node">
  58. <title>py_upb_msg</title>
  59. <path fill="#beaed4" stroke="black" d="M111,-279C111,-279 28,-279 28,-279 22,-279 16,-273 16,-267 16,-267 16,-255 16,-255 16,-249 22,-243 28,-243 28,-243 111,-243 111,-243 117,-243 123,-249 123,-255 123,-255 123,-267 123,-267 123,-273 117,-279 111,-279"/>
  60. <text text-anchor="middle" x="69.5" y="-257.3" font-family="Times,serif" font-size="14.00">Python Message</text>
  61. </g>
  62. <!-- py_upb_msg&#45;&gt;upb_msg -->
  63. <g id="edge3" class="edge">
  64. <title>py_upb_msg&#45;&gt;upb_msg</title>
  65. <path fill="none" stroke="black" stroke-dasharray="5,2" d="M69.5,-242.68C69.5,-221.49 69.5,-200.3 69.5,-179.11"/>
  66. <polygon fill="black" stroke="black" points="73,-179.05 69.5,-169.05 66,-179.05 73,-179.05"/>
  67. </g>
  68. <!-- py_upb_arena -->
  69. <g id="node7" class="node">
  70. <title>py_upb_arena</title>
  71. <path fill="#beaed4" stroke="black" d="M238,-279C238,-279 171,-279 171,-279 165,-279 159,-273 159,-267 159,-267 159,-255 159,-255 159,-249 165,-243 171,-243 171,-243 238,-243 238,-243 244,-243 250,-249 250,-255 250,-255 250,-267 250,-267 250,-273 244,-279 238,-279"/>
  72. <text text-anchor="middle" x="204.5" y="-257.3" font-family="Times,serif" font-size="14.00">Python Arena</text>
  73. </g>
  74. <!-- py_upb_msg&#45;&gt;py_upb_arena -->
  75. <g id="edge6" class="edge">
  76. <title>py_upb_msg&#45;&gt;py_upb_arena</title>
  77. <path fill="none" stroke="#008b45" d="M123.07,-261C131.43,-261 140.1,-261 148.51,-261"/>
  78. <polygon fill="#008b45" stroke="#008b45" points="148.62,-264.5 158.62,-261 148.62,-257.5 148.62,-264.5"/>
  79. </g>
  80. <!-- py_upb_msg2 -->
  81. <g id="node6" class="node">
  82. <title>py_upb_msg2</title>
  83. <path fill="#beaed4" stroke="black" d="M381,-279C381,-279 298,-279 298,-279 292,-279 286,-273 286,-267 286,-267 286,-255 286,-255 286,-249 292,-243 298,-243 298,-243 381,-243 381,-243 387,-243 393,-249 393,-255 393,-255 393,-267 393,-267 393,-273 387,-279 381,-279"/>
  84. <text text-anchor="middle" x="339.5" y="-257.3" font-family="Times,serif" font-size="14.00">Python Message</text>
  85. </g>
  86. <!-- py_upb_msg2&#45;&gt;upb_msg2 -->
  87. <g id="edge4" class="edge">
  88. <title>py_upb_msg2&#45;&gt;upb_msg2</title>
  89. <path fill="none" stroke="black" stroke-dasharray="5,2" d="M339.5,-242.76C339.5,-230.63 339.5,-218.49 339.5,-206.35"/>
  90. <polygon fill="black" stroke="black" points="343,-206.16 339.5,-196.16 336,-206.16 343,-206.16"/>
  91. </g>
  92. <!-- py_upb_msg2&#45;&gt;py_upb_arena -->
  93. <g id="edge5" class="edge">
  94. <title>py_upb_msg2&#45;&gt;py_upb_arena</title>
  95. <path fill="none" stroke="#008b45" d="M285.91,-261C277.49,-261 268.77,-261 260.31,-261"/>
  96. <polygon fill="#008b45" stroke="#008b45" points="260.16,-257.5 250.16,-261 260.16,-264.5 260.16,-257.5"/>
  97. </g>
  98. <!-- py_upb_arena&#45;&gt;dummy -->
  99. <g id="edge7" class="edge">
  100. <title>py_upb_arena&#45;&gt;dummy</title>
  101. <path fill="none" stroke="red" d="M204.5,-242.76C204.5,-240.95 204.5,-239.15 204.5,-237.34"/>
  102. <polygon fill="red" stroke="red" points="208,-237 204.5,-227 201,-237 208,-237"/>
  103. </g>
  104. <!-- key -->
  105. <g id="node8" class="node">
  106. <title>key</title>
  107. <text text-anchor="start" x="72.5" y="-63.8" font-family="Times,serif" font-size="14.00">raw ptr</text>
  108. <text text-anchor="start" x="56.5" y="-44.8" font-family="Times,serif" font-size="14.00">unique ptr</text>
  109. <text text-anchor="start" x="26.5" y="-25.8" font-family="Times,serif" font-size="14.00">shared (GC) ptr</text>
  110. </g>
  111. <!-- key2 -->
  112. <g id="node9" class="node">
  113. <title>key2</title>
  114. <text text-anchor="start" x="202.5" y="-63.8" font-family="Times,serif" font-size="14.00"> </text>
  115. <text text-anchor="start" x="202.5" y="-44.8" font-family="Times,serif" font-size="14.00"> </text>
  116. <text text-anchor="start" x="202.5" y="-25.8" font-family="Times,serif" font-size="14.00"> </text>
  117. </g>
  118. <!-- key&#45;&gt;key2 -->
  119. <g id="edge10" class="edge">
  120. <title>key:e&#45;&gt;key2:w</title>
  121. <path fill="none" stroke="black" stroke-dasharray="5,2" d="M115.5,-68C149.19,-68 160.08,-68 189.31,-68"/>
  122. <polygon fill="black" stroke="black" points="189.5,-71.5 199.5,-68 189.5,-64.5 189.5,-71.5"/>
  123. </g>
  124. <!-- key&#45;&gt;key2 -->
  125. <g id="edge11" class="edge">
  126. <title>key:e&#45;&gt;key2:w</title>
  127. <path fill="none" stroke="red" d="M115.5,-48C149.19,-48 160.08,-48 189.31,-48"/>
  128. <polygon fill="red" stroke="red" points="189.5,-51.5 199.5,-48 189.5,-44.5 189.5,-51.5"/>
  129. </g>
  130. <!-- key&#45;&gt;key2 -->
  131. <g id="edge12" class="edge">
  132. <title>key:e&#45;&gt;key2:w</title>
  133. <path fill="none" stroke="#008b45" d="M115.5,-29C149.19,-29 160.08,-29 189.31,-29"/>
  134. <polygon fill="#008b45" stroke="#008b45" points="189.5,-32.5 199.5,-29 189.5,-25.5 189.5,-32.5"/>
  135. </g>
  136. <!-- key2&#45;&gt;upb_msg -->
  137. </g>
  138. </svg>