Files
GridFire/docs/html/engine_2scratchpads_2utils_8h__incl.svg

390 lines
18 KiB
XML

<?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 -->
<!--zoomable 293 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 812;
var viewHeight = 293;
var sectionId = 'dynsection-0';
</script>
<script type="application/ecmascript" xlink:href="svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<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.">
<polygon fill="#999999" stroke="#666666" points="539,-285.25 406,-285.25 406,-254.75 539,-254.75 539,-285.25"/>
<text xml:space="preserve" text-anchor="start" x="414" y="-271.75" font-family="Helvetica,sans-Serif" font-size="10.00">src/include/gridfire</text>
<text xml:space="preserve" text-anchor="middle" x="472.5" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">/engine/scratchpads/utils.h</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="blob_8h.html" target="_top" xlink:title="Container class for managing multiple scratchpad instances.">
<polygon fill="white" stroke="#666666" points="492,-218.75 359,-218.75 359,-188.25 492,-188.25 492,-218.75"/>
<text xml:space="preserve" text-anchor="start" x="367" y="-205.25" font-family="Helvetica,sans-Serif" font-size="10.00">gridfire/engine/scratchpads</text>
<text xml:space="preserve" text-anchor="middle" x="425.5" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">/blob.h</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M461.83,-254.36C456.19,-246.61 449.11,-236.9 442.71,-228.11"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="445.73,-226.32 437.01,-220.3 440.07,-230.44 445.73,-226.32"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="error__scratchpad_8h.html" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="711.5,-152.25 611.5,-152.25 611.5,-121.75 711.5,-121.75 711.5,-152.25"/>
<text xml:space="preserve" text-anchor="start" x="619.5" y="-138.75" font-family="Helvetica,sans-Serif" font-size="10.00">gridfire/exceptions</text>
<text xml:space="preserve" text-anchor="middle" x="661.5" y="-127.5" font-family="Helvetica,sans-Serif" font-size="10.00">/error_scratchpad.h</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge17_Node000001_Node000008" class="edge">
<title>Node1&#45;&gt;Node8</title>
<g id="a_edge17_Node000001_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M493.45,-254.48C526.94,-231.27 592.69,-185.7 631.27,-158.95"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="632.99,-162.02 639.21,-153.45 629,-156.27 632.99,-162.02"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><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="133,-152.25 0,-152.25 0,-121.75 133,-121.75 133,-152.25"/>
<text xml:space="preserve" text-anchor="start" x="8" y="-138.75" font-family="Helvetica,sans-Serif" font-size="10.00">gridfire/engine/scratchpads</text>
<text xml:space="preserve" text-anchor="middle" x="66.5" y="-127.5" font-family="Helvetica,sans-Serif" font-size="10.00">/scratchpad_abstract.h</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M358.82,-190.52C298.18,-179.62 208.65,-163.54 144.67,-152.04"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="145.39,-148.62 134.92,-150.29 144.15,-155.51 145.39,-148.62"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="152.12,-80.12 100.88,-80.12 100.88,-60.88 152.12,-60.88 152.12,-80.12"/>
<text xml:space="preserve" text-anchor="middle" x="126.5" y="-66.62" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge14_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge14_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M358.62,-202.28C306.14,-199.1 233.38,-187.8 180.5,-152.25 158.24,-137.28 142.79,-109.74 134.29,-91.02"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="137.52,-89.69 130.39,-81.86 131.08,-92.43 137.52,-89.69"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><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="323,-152.25 190,-152.25 190,-121.75 323,-121.75 323,-152.25"/>
<text xml:space="preserve" text-anchor="start" x="198" y="-138.75" font-family="Helvetica,sans-Serif" font-size="10.00">gridfire/engine/scratchpads</text>
<text xml:space="preserve" text-anchor="middle" x="256.5" y="-127.5" font-family="Helvetica,sans-Serif" font-size="10.00">/types.h</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4_Node000002_Node000005" class="edge">
<title>Node2&#45;&gt;Node5</title>
<g id="a_edge4_Node000002_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M387.15,-187.86C363.04,-178.66 331.69,-166.7 305.74,-156.79"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="306.99,-153.53 296.4,-153.23 304.5,-160.07 306.99,-153.53"/>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node8 -->
<g id="edge7_Node000002_Node000008" class="edge">
<title>Node2&#45;&gt;Node8</title>
<g id="a_edge7_Node000002_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M479.35,-187.78C515.38,-177.94 562.88,-164.95 600.33,-154.72"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="600.93,-158.18 609.65,-152.17 599.08,-151.43 600.93,-158.18"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_Node000013"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="423.88,-146.62 341.12,-146.62 341.12,-127.38 423.88,-127.38 423.88,-146.62"/>
<text xml:space="preserve" text-anchor="middle" x="382.5" y="-133.12" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node13 -->
<g id="edge13_Node000002_Node000013" class="edge">
<title>Node2&#45;&gt;Node13</title>
<g id="a_edge13_Node000002_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M415.74,-187.86C409.49,-178.48 401.33,-166.24 394.65,-156.23"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="397.68,-154.46 389.22,-148.08 391.86,-158.34 397.68,-154.46"/>
</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="497.38,-146.62 441.62,-146.62 441.62,-127.38 497.38,-127.38 497.38,-146.62"/>
<text xml:space="preserve" text-anchor="middle" x="469.5" y="-133.12" font-family="Helvetica,sans-Serif" font-size="10.00">expected</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node14 -->
<g id="edge15_Node000002_Node000014" class="edge">
<title>Node2&#45;&gt;Node14</title>
<g id="a_edge15_Node000002_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M435.48,-187.86C441.88,-178.48 450.24,-166.24 457.06,-156.23"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="459.88,-158.31 462.63,-148.07 454.1,-154.36 459.88,-158.31"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_Node000015"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="593.25,-146.62 515.75,-146.62 515.75,-127.38 593.25,-127.38 593.25,-146.62"/>
<text xml:space="preserve" text-anchor="middle" x="554.5" y="-133.12" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node15 -->
<g id="edge16_Node000002_Node000015" class="edge">
<title>Node2&#45;&gt;Node15</title>
<g id="a_edge16_Node000002_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M454.77,-187.86C476.17,-177.17 505.03,-162.74 526.19,-152.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="527.75,-155.29 535.13,-147.69 524.62,-149.03 527.75,-155.29"/>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3_Node000003_Node000004" class="edge">
<title>Node3&#45;&gt;Node4</title>
<g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M80.11,-121.36C89.21,-111.59 101.2,-98.7 110.71,-88.48"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="113.01,-91.14 117.26,-81.43 107.89,-86.37 113.01,-91.14"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="240.12,-80.12 194.88,-80.12 194.88,-60.88 240.12,-60.88 240.12,-80.12"/>
<text xml:space="preserve" text-anchor="middle" x="217.5" y="-66.62" font-family="Helvetica,sans-Serif" font-size="10.00">cstdint</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M247.65,-121.36C242.04,-112.08 234.73,-100 228.71,-90.05"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="231.79,-88.36 223.62,-81.62 225.8,-91.99 231.79,-88.36"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="323.25,-80.12 257.75,-80.12 257.75,-60.88 323.25,-60.88 323.25,-80.12"/>
<text xml:space="preserve" text-anchor="middle" x="290.5" y="-66.62" font-family="Helvetica,sans-Serif" font-size="10.00">string_view</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M264.22,-121.36C269.06,-112.18 275.34,-100.25 280.56,-90.36"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="283.58,-92.14 285.14,-81.66 277.38,-88.88 283.58,-92.14"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="667.5,-19.25 627.5,-19.25 627.5,0 667.5,0 667.5,-19.25"/>
<text xml:space="preserve" text-anchor="middle" x="647.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node9 -->
<g id="edge8_Node000008_Node000009" class="edge">
<title>Node8&#45;&gt;Node9</title>
<g id="a_edge8_Node000008_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M646.23,-121.26C637.75,-111.98 628.02,-99.23 623.5,-85.75 619.19,-72.9 620.19,-68.4 623.5,-55.25 625.78,-46.21 630.29,-37 634.79,-29.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="637.71,-31.24 640.1,-20.92 631.79,-27.5 637.71,-31.24"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_Node000010"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="690.88,-80.12 632.12,-80.12 632.12,-60.88 690.88,-60.88 690.88,-80.12"/>
<text xml:space="preserve" text-anchor="middle" x="661.5" y="-66.62" font-family="Helvetica,sans-Serif" font-size="10.00">stdexcept</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node10 -->
<g id="edge9_Node000008_Node000010" class="edge">
<title>Node8&#45;&gt;Node10</title>
<g id="a_edge9_Node000008_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M661.5,-121.36C661.5,-112.58 661.5,-101.27 661.5,-91.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="665,-91.84 661.5,-81.84 658,-91.84 665,-91.84"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_Node000011"><a xlink:href="error__gridfire_8h.html" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="804.25,-85.75 708.75,-85.75 708.75,-55.25 804.25,-55.25 804.25,-85.75"/>
<text xml:space="preserve" text-anchor="start" x="716.75" y="-72.25" font-family="Helvetica,sans-Serif" font-size="10.00">gridfire/exceptions</text>
<text xml:space="preserve" text-anchor="middle" x="756.5" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">/error_gridfire.h</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node11 -->
<g id="edge10_Node000008_Node000011" class="edge">
<title>Node8&#45;&gt;Node11</title>
<g id="a_edge10_Node000008_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M683.06,-121.36C695.69,-112.79 711.85,-101.81 725.8,-92.34"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="727.47,-95.44 733.78,-86.93 723.54,-89.65 727.47,-95.44"/>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node9 -->
<g id="edge12_Node000011_Node000009" class="edge">
<title>Node11&#45;&gt;Node9</title>
<g id="a_edge12_Node000011_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M729.28,-54.8C712.36,-45.66 690.71,-33.97 673.94,-24.91"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="676.01,-22.05 665.55,-20.37 672.68,-28.21 676.01,-22.05"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_Node000012"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="785.5,-19.25 727.5,-19.25 727.5,0 785.5,0 785.5,-19.25"/>
<text xml:space="preserve" text-anchor="middle" x="756.5" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">exception</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node12 -->
<g id="edge11_Node000011_Node000012" class="edge">
<title>Node11&#45;&gt;Node12</title>
<g id="a_edge11_Node000011_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M756.5,-54.95C756.5,-47.71 756.5,-38.84 756.5,-30.94"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="760,-31.21 756.5,-21.21 753,-31.21 760,-31.21"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="engine_2scratchpads_2utils_8h__incl_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>