2026-04-20 12:45:31 -04:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
< !DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 14.1.2 (20260124.0452)
-->
<!-- Title: src/include/gridfire/engine/scratchpads/utils.h Pages: 1 -->
<svg width= "812pt" height= "293pt"
viewBox="0.00 0.00 812.00 293.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id= "graph0" class= "graph" transform= "scale(1 1) rotate(0) translate(4 289.25)" >
<title > src/include/gridfire/engine/scratchpads/utils.h</title>
<!-- Node1 -->
<g id= "Node000001" class= "node" >
<title > Node1</title>
<g id= "a_Node000001" > <a xlink:title= "Utility functions for convenient scratchpad retrieval with exception handling." >
2026-06-14 08:36:52 -04:00
<polygon fill= "#999999" stroke= "#666666" points= "396.38,-285.25 263.38,-285.25 263.38,-254.75 396.38,-254.75 396.38,-285.25" />
<text xml:space= "preserve" text-anchor= "start" x= "271.38" y= "-271.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "329.88" y= "-260.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /engine/scratchpads/utils.h</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
<!-- Node2 -->
<g id= "Node000002" class= "node" >
<title > Node2</title>
2026-06-14 08:36:52 -04:00
<g id= "a_Node000002" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "55.75,-146.62 0,-146.62 0,-127.38 55.75,-127.38 55.75,-146.62" />
<text xml:space= "preserve" text-anchor= "middle" x= "27.88" y= "-133.12" font-family= "Helvetica,sans-Serif" font-size= "10.00" > expected</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id= "edge1_Node000001_Node000002" class= "edge" >
<title > Node1- > Node2</title>
<g id= "a_edge1_Node000001_Node000002" > <a xlink:title= " " >
2026-06-14 08:36:52 -04:00
<path fill= "none" stroke= "#63b8ff" d= "M296.11,-254.35C237.11,-228.76 116.12,-176.28 59.02,-151.51" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "60.76,-148.45 50.2,-147.68 57.98,-154.87 60.76,-148.45" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node3 -->
<g id= "Node000003" class= "node" >
<title > Node3</title>
<g id= "a_Node000003" > <a xlink:href= "blob_8h.html" target= "_top" xlink:title= "Container class for managing multiple scratchpad instances." >
<polygon fill= "white" stroke= "#666666" points= "396.38,-218.75 263.38,-218.75 263.38,-188.25 396.38,-188.25 396.38,-218.75" />
<text xml:space= "preserve" text-anchor= "start" x= "271.38" y= "-205.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > gridfire/engine/scratchpads</text>
<text xml:space= "preserve" text-anchor= "middle" x= "329.88" y= "-194" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /blob.h</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node1->Node3 -->
<g id= "edge2_Node000001_Node000003" class= "edge" >
<title > Node1- > Node3</title>
<g id= "a_edge2_Node000001_Node000003" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M329.88,-254.36C329.88,-247.27 329.88,-238.54 329.88,-230.38" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "333.38,-230.59 329.88,-220.59 326.38,-230.59 333.38,-230.59" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node10 -->
<g id= "Node000010" class= "node" >
<title > Node10</title>
<g id= "a_Node000010" > <a xlink:href= "error__scratchpad_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "710.88,-152.25 610.88,-152.25 610.88,-121.75 710.88,-121.75 710.88,-152.25" />
<text xml:space= "preserve" text-anchor= "start" x= "618.88" y= "-138.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > gridfire/exceptions</text>
<text xml:space= "preserve" text-anchor= "middle" x= "660.88" y= "-127.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /error_scratchpad.h</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node1->Node10 -->
<g id= "edge19_Node000001_Node000010" class= "edge" >
<title > Node1- > Node10</title>
<g id= "a_edge19_Node000001_Node000010" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M366.88,-254.35C427.21,-230.48 546.68,-183.2 613.25,-156.85" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "614.44,-160.14 622.45,-153.21 611.86,-153.63 614.44,-160.14" />
</a>
</g>
</g>
<!-- Node3->Node2 -->
<g id= "edge17_Node000003_Node000002" class= "edge" >
<title > Node3- > Node2</title>
<g id= "a_edge17_Node000003_Node000002" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M262.92,-193.46C208.62,-185.27 130.46,-171.53 63.88,-152.25 62.49,-151.85 61.09,-151.42 59.69,-150.96" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "60.98,-147.71 50.39,-147.63 58.62,-154.3 60.98,-147.71" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
<!-- Node4 -->
<g id= "Node000004" class= "node" >
<title > Node4</title>
2026-06-14 08:36:52 -04:00
<g id= "a_Node000004" > <a xlink:href= "scratchpad__abstract_8h.html" target= "_top" xlink:title= "Abstract base class for scratchpad memory used during engine computations." >
<polygon fill= "white" stroke= "#666666" points= "206.38,-152.25 73.38,-152.25 73.38,-121.75 206.38,-121.75 206.38,-152.25" />
<text xml:space= "preserve" text-anchor= "start" x= "81.38" y= "-138.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > gridfire/engine/scratchpads</text>
<text xml:space= "preserve" text-anchor= "middle" x= "139.88" y= "-127.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /scratchpad_abstract.h</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node3->Node4 -->
<g id= "edge3_Node000003_Node000004" class= "edge" >
<title > Node3- > Node4</title>
<g id= "a_edge3_Node000003_Node000004" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M286.76,-187.86C259.16,-178.5 223.14,-166.27 193.68,-156.26" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "195.17,-153.08 184.58,-153.18 192.92,-159.71 195.17,-153.08" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
<!-- Node5 -->
<g id= "Node000005" class= "node" >
<title > Node5</title>
2026-06-14 08:36:52 -04:00
<g id= "a_Node000005" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "191.5,-80.12 140.25,-80.12 140.25,-60.88 191.5,-60.88 191.5,-80.12" />
<text xml:space= "preserve" text-anchor= "middle" x= "165.88" y= "-66.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > memory</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node3->Node5 -->
<g id= "edge16_Node000003_Node000005" class= "edge" >
<title > Node3- > Node5</title>
<g id= "a_edge16_Node000003_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M305.58,-187.82C290.32,-178.26 270.45,-165.2 253.88,-152.25 227.72,-131.81 199.86,-105.36 182.66,-88.4" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "185.33,-86.12 175.77,-81.55 180.4,-91.09 185.33,-86.12" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node6 -->
<g id= "Node000006" class= "node" >
<title > Node6</title>
<g id= "a_Node000006" > <a xlink:href= "engine_2scratchpads_2types_8h.html" target= "_top" xlink:title= "Type definitions and utilities for the scratchpad system." >
<polygon fill= "white" stroke= "#666666" points= "396.38,-152.25 263.38,-152.25 263.38,-121.75 396.38,-121.75 396.38,-152.25" />
<text xml:space= "preserve" text-anchor= "start" x= "271.38" y= "-138.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > gridfire/engine/scratchpads</text>
<text xml:space= "preserve" text-anchor= "middle" x= "329.88" y= "-127.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /types.h</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node3->Node6 -->
<g id= "edge5_Node000003_Node000006" class= "edge" >
<title > Node3- > Node6</title>
<g id= "a_edge5_Node000003_Node000006" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M329.88,-187.86C329.88,-180.77 329.88,-172.04 329.88,-163.88" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "333.38,-164.09 329.88,-154.09 326.38,-164.09 333.38,-164.09" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node3->Node10 -->
<g id= "edge9_Node000003_Node000010" class= "edge" >
<title > Node3- > Node10</title>
<g id= "a_edge9_Node000003_Node000010" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M396.86,-191.17C449.46,-182.03 524.78,-168.43 599.39,-152.72" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "599.85,-156.2 608.9,-150.7 598.4,-149.35 599.85,-156.2" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
<!-- Node15 -->
<g id= "Node000015" class= "node" >
<title > Node15</title>
<g id= "a_Node000015" > <a xlink:title= " " >
2026-06-14 08:36:52 -04:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "497.25,-146.62 414.5,-146.62 414.5,-127.38 497.25,-127.38 497.25,-146.62" />
<text xml:space= "preserve" text-anchor= "middle" x= "455.88" y= "-133.12" font-family= "Helvetica,sans-Serif" font-size= "10.00" > unordered_map</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node3->Node15 -->
<g id= "edge15_Node000003_Node000015" class= "edge" >
<title > Node3- > Node15</title>
<g id= "a_edge15_Node000003_Node000015" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M358.47,-187.86C379.36,-177.17 407.55,-162.74 428.23,-152.15" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "429.62,-155.37 436.93,-147.7 426.43,-149.14 429.62,-155.37" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node16 -->
<g id= "Node000016" class= "node" >
<title > Node16</title>
<g id= "a_Node000016" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "592.62,-146.62 515.12,-146.62 515.12,-127.38 592.62,-127.38 592.62,-146.62" />
<text xml:space= "preserve" text-anchor= "middle" x= "553.88" y= "-133.12" font-family= "Helvetica,sans-Serif" font-size= "10.00" > unordered_set</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node3->Node16 -->
<g id= "edge18_Node000003_Node000016" class= "edge" >
<title > Node3- > Node16</title>
<g id= "a_edge18_Node000003_Node000016" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M381.9,-187.8C416.96,-177.86 464.23,-164.38 505.88,-152.25 508,-151.63 510.18,-150.99 512.39,-150.35" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "513.36,-153.71 521.97,-147.52 511.38,-146.99 513.36,-153.71" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node4->Node5 -->
<g id= "edge4_Node000004_Node000005" class= "edge" >
<title > Node4- > Node5</title>
<g id= "a_edge4_Node000004_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M145.77,-121.36C149.44,-112.28 154.18,-100.51 158.14,-90.68" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "161.26,-92.31 161.75,-81.73 154.77,-89.69 161.26,-92.31" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
<!-- Node7 -->
<g id= "Node000007" class= "node" >
<title > Node7</title>
<g id= "a_Node000007" > <a xlink:title= " " >
2026-06-14 08:36:52 -04:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "279.5,-80.12 234.25,-80.12 234.25,-60.88 279.5,-60.88 279.5,-80.12" />
<text xml:space= "preserve" text-anchor= "middle" x= "256.88" y= "-66.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > cstdint</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node6->Node7 -->
<g id= "edge6_Node000006_Node000007" class= "edge" >
<title > Node6- > Node7</title>
<g id= "a_edge6_Node000006_Node000007" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M313.31,-121.36C302.02,-111.39 287.07,-98.18 275.39,-87.86" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "277.81,-85.32 267.99,-81.32 273.17,-90.57 277.81,-85.32" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node8 -->
<g id= "Node000008" class= "node" >
<title > Node8</title>
<g id= "a_Node000008" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "362.62,-80.12 297.12,-80.12 297.12,-60.88 362.62,-60.88 362.62,-80.12" />
<text xml:space= "preserve" text-anchor= "middle" x= "329.88" y= "-66.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > string_view</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node6->Node8 -->
<g id= "edge7_Node000006_Node000008" class= "edge" >
<title > Node6- > Node8</title>
<g id= "a_edge7_Node000006_Node000008" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M329.88,-121.36C329.88,-112.58 329.88,-101.27 329.88,-91.65" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "333.38,-91.84 329.88,-81.84 326.38,-91.84 333.38,-91.84" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node9 -->
<g id= "Node000009" class= "node" >
<title > Node9</title>
<g id= "a_Node000009" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "424.75,-80.12 381,-80.12 381,-60.88 424.75,-60.88 424.75,-80.12" />
<text xml:space= "preserve" text-anchor= "middle" x= "402.88" y= "-66.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > format</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node6->Node9 -->
<g id= "edge8_Node000006_Node000009" class= "edge" >
<title > Node6- > Node9</title>
<g id= "a_edge8_Node000006_Node000009" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M346.44,-121.36C357.73,-111.39 372.68,-98.18 384.36,-87.86" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "386.58,-90.57 391.76,-81.32 381.94,-85.32 386.58,-90.57" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
<!-- Node11 -->
<g id= "Node000011" class= "node" >
<title > Node11</title>
2026-06-14 08:36:52 -04:00
<g id= "a_Node000011" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "666.88,-19.25 626.88,-19.25 626.88,0 666.88,0 666.88,-19.25" />
<text xml:space= "preserve" text-anchor= "middle" x= "646.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > string</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node10->Node11 -->
<g id= "edge10_Node000010_Node000011" class= "edge" >
<title > Node10- > Node11</title>
<g id= "a_edge10_Node000010_Node000011" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M645.61,-121.26C637.13,-111.98 627.4,-99.23 622.88,-85.75 618.56,-72.9 619.56,-68.4 622.88,-55.25 625.15,-46.21 629.66,-37 634.16,-29.31" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "637.08,-31.24 639.47,-20.92 631.17,-27.5 637.08,-31.24" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
<!-- Node12 -->
<g id= "Node000012" class= "node" >
<title > Node12</title>
<g id= "a_Node000012" > <a xlink:title= " " >
2026-06-14 08:36:52 -04:00
<polygon fill= "#e0e0e0" stroke= "#999999" points= "690.25,-80.12 631.5,-80.12 631.5,-60.88 690.25,-60.88 690.25,-80.12" />
<text xml:space= "preserve" text-anchor= "middle" x= "660.88" y= "-66.62" font-family= "Helvetica,sans-Serif" font-size= "10.00" > stdexcept</text>
</a>
</g>
</g>
<!-- Node10->Node12 -->
<g id= "edge11_Node000010_Node000012" class= "edge" >
<title > Node10- > Node12</title>
<g id= "a_edge11_Node000010_Node000012" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M660.88,-121.36C660.88,-112.58 660.88,-101.27 660.88,-91.65" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "664.38,-91.84 660.88,-81.84 657.38,-91.84 664.38,-91.84" />
</a>
</g>
</g>
<!-- Node13 -->
<g id= "Node000013" class= "node" >
<title > Node13</title>
<g id= "a_Node000013" > <a xlink:href= "error__gridfire_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "803.62,-85.75 708.12,-85.75 708.12,-55.25 803.62,-55.25 803.62,-85.75" />
<text xml:space= "preserve" text-anchor= "start" x= "716.12" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > gridfire/exceptions</text>
<text xml:space= "preserve" text-anchor= "middle" x= "755.88" y= "-61" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /error_gridfire.h</text>
</a>
</g>
</g>
<!-- Node10->Node13 -->
<g id= "edge12_Node000010_Node000013" class= "edge" >
<title > Node10- > Node13</title>
<g id= "a_edge12_Node000010_Node000013" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M682.43,-121.36C695.06,-112.79 711.23,-101.81 725.17,-92.34" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "726.84,-95.44 733.15,-86.93 722.91,-89.65 726.84,-95.44" />
</a>
</g>
</g>
<!-- Node13->Node11 -->
<g id= "edge14_Node000013_Node000011" class= "edge" >
<title > Node13- > Node11</title>
<g id= "a_edge14_Node000013_Node000011" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M728.65,-54.8C711.73,-45.66 690.09,-33.97 673.32,-24.91" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "675.38,-22.05 664.92,-20.37 672.06,-28.21 675.38,-22.05" />
</a>
</g>
</g>
<!-- Node14 -->
<g id= "Node000014" class= "node" >
<title > Node14</title>
<g id= "a_Node000014" > <a xlink:title= " " >
<polygon fill= "#e0e0e0" stroke= "#999999" points= "784.88,-19.25 726.88,-19.25 726.88,0 784.88,0 784.88,-19.25" />
<text xml:space= "preserve" text-anchor= "middle" x= "755.88" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > exception</text>
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
2026-06-14 08:36:52 -04:00
<!-- Node13->Node14 -->
<g id= "edge13_Node000013_Node000014" class= "edge" >
<title > Node13- > Node14</title>
<g id= "a_edge13_Node000013_Node000014" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M755.88,-54.95C755.88,-47.71 755.88,-38.84 755.88,-30.94" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "759.38,-31.21 755.88,-21.21 752.38,-31.21 759.38,-31.21" />
2026-04-20 12:45:31 -04:00
</a>
</g>
</g>
</g>
</svg>