2025-11-06 09:16:40 -05: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 13.0.1 (20250615.1724)
-->
<!-- Title: src/include/gridfire/policy/policy_abstract.h Pages: 1 -->
2025-11-24 09:08:28 -05:00
<svg width= "399pt" height= "371pt"
viewBox="0.00 0.00 399.00 371.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2025-11-06 09:16:40 -05:00
<svg id= "main" version= "1.1" xmlns= "http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" xml:space= "preserve" >
<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>
<script type= "application/ecmascript" xlink:href= "svg.min.js" />
<svg id= "graph" class= "graph" >
2025-11-24 09:08:28 -05:00
<g id= "graph0" class= "graph" transform= "scale(1 1) rotate(0) translate(4 367)" >
2025-11-06 09:16:40 -05:00
<title > src/include/gridfire/policy/policy_abstract.h</title>
<!-- Node1 -->
<g id= "Node000001" class= "node" >
<title > Node1</title>
<g id= "a_Node000001" > <a xlink:title= "Abstract policy interfaces used to construct reaction networks (DynamicEngine) from seed compositions..." >
2025-11-24 09:08:28 -05:00
<polygon fill= "#999999" stroke= "#666666" points= "260.02,-363 138.27,-363 138.27,-332.5 260.02,-332.5 260.02,-363" />
<text xml:space= "preserve" text-anchor= "start" x= "146.27" y= "-349.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "199.15" y= "-338.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /policy/policy_abstract.h</text>
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node2 -->
<g id= "Node000002" class= "node" >
<title > Node2</title>
<g id= "a_Node000002" > <a xlink:href= "chains_8h.html" target= "_top" xlink:title= "Concrete implementations of ReactionChainPolicy for key stellar reaction chains." >
2025-11-24 09:08:28 -05:00
<polygon fill= "white" stroke= "#666666" points= "315.9,-230 220.4,-230 220.4,-199.5 315.9,-199.5 315.9,-230" />
<text xml:space= "preserve" text-anchor= "start" x= "228.4" y= "-216.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "268.15" y= "-205.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /policy/chains.h</text>
2025-11-06 09:16:40 -05: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= " " >
2025-11-24 09:08:28 -05:00
<path fill= "none" stroke= "#63b8ff" d= "M211.99,-322.38C226.23,-295.34 248.74,-252.6 260.47,-230.33" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "209.07,-320.41 207.5,-330.89 215.26,-323.67 209.07,-320.41" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node3 -->
<g id= "Node000003" class= "node" >
<title > Node3</title>
2025-11-24 09:08:28 -05:00
<g id= "a_Node000003" > <a xlink:href= "policy_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "199.9,-97 104.4,-97 104.4,-66.5 199.9,-66.5 199.9,-97" />
<text xml:space= "preserve" text-anchor= "start" x= "112.4" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "152.15" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /policy/policy.h</text>
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node1->Node3 -->
2025-11-24 09:08:28 -05:00
<g id= "edge8_Node000001_Node000003" class= "edge" >
2025-11-06 09:16:40 -05:00
<title > Node1- > Node3</title>
2025-11-24 09:08:28 -05:00
<g id= "a_edge8_Node000001_Node000003" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M126.65,-343.47C93.16,-337.86 56.23,-325 35.15,-296.5 13.37,-267.04 -35.75,-250.4 45.15,-133 58.83,-113.14 82.5,-100.93 104.1,-93.52" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "125.95,-346.9 136.35,-344.88 126.96,-339.97 125.95,-346.9" />
</a>
</g>
</g>
<!-- Node5 -->
<g id= "Node000005" class= "node" >
<title > Node5</title>
<g id= "a_Node000005" > <a xlink:href= "stellar__policy_8h.html" target= "_top" xlink:title= "High-level concrete NetworkPolicy for specific stellar environments." >
<polygon fill= "white" stroke= "#666666" points= "354.77,-163.5 243.52,-163.5 243.52,-133 354.77,-133 354.77,-163.5" />
<text xml:space= "preserve" text-anchor= "start" x= "251.52" y= "-150" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "299.15" y= "-138.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /policy/stellar_policy.h</text>
</a>
</g>
</g>
<!-- Node1->Node5 -->
<g id= "edge14_Node000001_Node000005" class= "edge" >
<title > Node1- > Node5</title>
<g id= "a_edge14_Node000001_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M234.29,-326.08C264.74,-305.92 306.73,-272.17 325.15,-230 334.93,-207.59 321.1,-180.29 310.16,-163.87" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "232.64,-322.97 226.12,-331.32 236.43,-328.86 232.64,-322.97" />
</a>
</g>
</g>
<!-- Node6 -->
<g id= "Node000006" class= "node" >
<title > Node6</title>
<g id= "a_Node000006" > <a xlink:href= "stellar__policy_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "391.15,-97 291.15,-97 291.15,-66.5 391.15,-66.5 391.15,-97" />
<text xml:space= "preserve" text-anchor= "start" x= "299.15" y= "-83.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/policy/stellar</text>
<text xml:space= "preserve" text-anchor= "middle" x= "341.15" y= "-72.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > _policy.cpp</text>
</a>
</g>
</g>
<!-- Node1->Node6 -->
<g id= "edge17_Node000001_Node000006" class= "edge" >
<title > Node1- > Node6</title>
<g id= "a_edge17_Node000001_Node000006" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M254.38,-327.5C271.38,-319.73 289.25,-309.47 303.15,-296.5 328.04,-273.27 327.08,-261 341.15,-230 359.46,-189.65 373.59,-176.29 364.15,-133 361.37,-120.25 355.05,-106.87 349.74,-97.12" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "253.13,-324.23 245.35,-331.42 255.92,-330.65 253.13,-324.23" />
</a>
</g>
</g>
<!-- Node7 -->
<g id= "Node000007" class= "node" >
<title > Node7</title>
<g id= "a_Node000007" > <a xlink:href= "chains_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "186.65,-157.88 65.65,-157.88 65.65,-138.62 186.65,-138.62 186.65,-157.88" />
<text xml:space= "preserve" text-anchor= "middle" x= "126.15" y= "-144.38" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/policy/chains.cpp</text>
</a>
</g>
</g>
<!-- Node1->Node7 -->
<g id= "edge15_Node000001_Node000007" class= "edge" >
<title > Node1- > Node7</title>
<g id= "a_edge15_Node000001_Node000007" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M126.88,-340.79C97.51,-334.39 66.28,-321.64 48.15,-296.5 13.12,-247.93 85.74,-181.63 114.82,-158.03" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "126.05,-344.2 136.53,-342.66 127.38,-337.32 126.05,-344.2" />
</a>
</g>
</g>
<!-- Node8 -->
<g id= "Node000008" class= "node" >
<title > Node8</title>
<g id= "a_Node000008" > <a xlink:href= "policy__logical_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "171.27,-296.5 57.02,-296.5 57.02,-266 171.27,-266 171.27,-296.5" />
<text xml:space= "preserve" text-anchor= "start" x= "65.02" y= "-283" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "114.15" y= "-271.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /policy/policy_logical.h</text>
</a>
</g>
</g>
<!-- Node1->Node8 -->
<g id= "edge9_Node000001_Node000008" class= "edge" >
<title > Node1- > Node8</title>
<g id= "a_edge9_Node000001_Node000008" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M170.87,-325.29C158.55,-315.94 144.43,-305.23 133.36,-296.83" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "168.57,-327.94 178.66,-331.2 172.81,-322.37 168.57,-327.94" />
</a>
</g>
</g>
<!-- Node9 -->
<g id= "Node000009" class= "node" >
<title > Node9</title>
<g id= "a_Node000009" > <a xlink:href= "policy__logical_8cpp.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "202.77,-230 103.52,-230 103.52,-199.5 202.77,-199.5 202.77,-230" />
<text xml:space= "preserve" text-anchor= "start" x= "111.52" y= "-216.5" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/lib/policy/policy</text>
<text xml:space= "preserve" text-anchor= "middle" x= "153.15" y= "-205.25" font-family= "Helvetica,sans-Serif" font-size= "10.00" > _logical.cpp</text>
</a>
</g>
</g>
<!-- Node1->Node9 -->
<g id= "edge16_Node000001_Node000009" class= "edge" >
<title > Node1- > Node9</title>
<g id= "a_edge16_Node000001_Node000009" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M194.85,-320.88C191.74,-304.78 186.9,-283.82 180.15,-266 175.38,-253.4 168.06,-240.01 162.24,-230.22" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "191.39,-321.41 196.62,-330.63 198.28,-320.16 191.39,-321.41" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id= "edge2_Node000002_Node000003" class= "edge" >
<title > Node2- > Node3</title>
<g id= "a_edge2_Node000002_Node000003" > <a xlink:title= " " >
2025-11-24 09:08:28 -05:00
<path fill= "none" stroke= "#63b8ff" d= "M247.83,-190.8C223.97,-163.86 185.13,-120 165.06,-97.33" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "245.04,-192.93 254.29,-198.1 250.28,-188.29 245.04,-192.93" />
</a>
</g>
</g>
<!-- Node2->Node5 -->
<g id= "edge4_Node000002_Node000005" class= "edge" >
<title > Node2- > Node5</title>
<g id= "a_edge4_Node000002_Node000005" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M280.07,-188.94C284.15,-180.46 288.58,-171.24 292.14,-163.83" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "277.02,-187.22 275.84,-197.75 283.33,-190.25 277.02,-187.22" />
</a>
</g>
</g>
<!-- Node2->Node7 -->
<g id= "edge7_Node000002_Node000007" class= "edge" >
<title > Node2- > Node7</title>
<g id= "a_edge7_Node000002_Node000007" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M225.78,-194.51C199.35,-182.5 166.56,-167.6 145.98,-158.26" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "224,-197.54 234.55,-198.49 226.89,-191.17 224,-197.54" />
</a>
</g>
</g>
<!-- Node4 -->
<g id= "Node000004" class= "node" >
<title > Node4</title>
<g id= "a_Node000004" > <a xlink:href= "gridfire_8h.html" target= "_top" xlink:title= " " >
<polygon fill= "white" stroke= "#666666" points= "199.9,-30.5 104.4,-30.5 104.4,0 199.9,0 199.9,-30.5" />
<text xml:space= "preserve" text-anchor= "start" x= "112.4" y= "-17" font-family= "Helvetica,sans-Serif" font-size= "10.00" > src/include/gridfire</text>
<text xml:space= "preserve" text-anchor= "middle" x= "152.15" y= "-5.75" font-family= "Helvetica,sans-Serif" font-size= "10.00" > /gridfire.h</text>
</a>
</g>
</g>
<!-- 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= "M152.15,-54.81C152.15,-46.64 152.15,-37.91 152.15,-30.83" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "148.65,-54.6 152.15,-64.6 155.65,-54.6 148.65,-54.6" />
</a>
</g>
</g>
<!-- Node5->Node3 -->
<g id= "edge5_Node000005_Node000003" class= "edge" >
<title > Node5- > Node3</title>
<g id= "a_edge5_Node000005_Node000003" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M255.54,-128.12C233.17,-118.3 206.35,-106.53 185.63,-97.44" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "253.84,-131.19 264.41,-132.01 256.66,-124.78 253.84,-131.19" />
</a>
</g>
</g>
<!-- Node5->Node6 -->
<g id= "edge6_Node000005_Node000006" class= "edge" >
<title > Node5- > Node6</title>
<g id= "a_edge6_Node000005_Node000006" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M314.93,-123.01C320.56,-114.37 326.72,-104.91 331.66,-97.33" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "312.03,-121.06 309.51,-131.35 317.9,-124.88 312.03,-121.06" />
</a>
</g>
</g>
<!-- Node8->Node2 -->
<g id= "edge10_Node000008_Node000002" class= "edge" >
<title > Node8- > Node2</title>
<g id= "a_edge10_Node000008_Node000002" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M159.52,-261.25C183.01,-251.41 211.27,-239.57 233.08,-230.44" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "158.36,-257.94 150.49,-265.03 161.07,-264.39 158.36,-257.94" />
</a>
</g>
</g>
<!-- Node8->Node3 -->
<g id= "edge11_Node000008_Node000003" class= "edge" >
<title > Node8- > Node3</title>
<g id= "a_edge11_Node000008_Node000003" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M92.78,-257.18C67.72,-227.2 32.54,-173.86 57.15,-133 67.55,-115.74 86.08,-104.1 104.03,-96.41" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "89.97,-259.28 99.16,-264.55 95.26,-254.7 89.97,-259.28" />
</a>
</g>
</g>
<!-- Node8->Node7 -->
<g id= "edge12_Node000008_Node000007" class= "edge" >
<title > Node8- > Node7</title>
<g id= "a_edge12_Node000008_Node000007" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M101.17,-255.39C94.47,-239.35 88.73,-218.09 94.15,-199.5 98.84,-183.41 110.41,-167.56 118.27,-158.09" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "97.86,-256.56 105.21,-264.19 104.22,-253.64 97.86,-256.56" />
</a>
</g>
</g>
<!-- Node8->Node9 -->
<g id= "edge13_Node000008_Node000009" class= "edge" >
<title > Node8- > Node9</title>
<g id= "a_edge13_Node000008_Node000009" > <a xlink:title= " " >
<path fill= "none" stroke= "#63b8ff" d= "M128.81,-256.01C134.03,-247.37 139.75,-237.91 144.33,-230.33" />
<polygon fill= "#63b8ff" stroke= "#63b8ff" points= "125.96,-253.95 123.78,-264.32 131.95,-257.57 125.96,-253.95" />
2025-11-06 09:16:40 -05:00
</a>
</g>
</g>
</g>
</svg>
</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>