Files
GridFire/docs/html/classPyNetworkPolicy.html

415 lines
25 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GridFire: PyNetworkPolicy Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">GridFire<span id="projectnumber">&#160;v0.7.1_rc2</span>
</div>
<div id="projectbrief">General Purpose Nuclear Network</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classPyNetworkPolicy.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classPyNetworkPolicy-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">PyNetworkPolicy Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;py_policy.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for PyNetworkPolicy:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classPyNetworkPolicy__inherit__graph.svg" width="188" height="124"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for PyNetworkPolicy:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classPyNetworkPolicy__coll__graph.svg" width="188" height="124"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac2c1ef3897e6491d5ab03e7342075245" id="r_ac2c1ef3897e6491d5ab03e7342075245"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPyNetworkPolicy.html#ac2c1ef3897e6491d5ab03e7342075245">name</a> () const override</td></tr>
<tr class="memdesc:ac2c1ef3897e6491d5ab03e7342075245"><td class="mdescLeft">&#160;</td><td class="mdescRight">Human-readable name for the policy. <br /></td></tr>
<tr class="separator:ac2c1ef3897e6491d5ab03e7342075245"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d685fd5eb346871af5b8ed677dfcf36" id="r_a1d685fd5eb346871af5b8ed677dfcf36"><td class="memItemLeft" align="right" valign="top">const std::set&lt; fourdst::atomic::Species &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPyNetworkPolicy.html#a1d685fd5eb346871af5b8ed677dfcf36">get_seed_species</a> () const override</td></tr>
<tr class="memdesc:a1d685fd5eb346871af5b8ed677dfcf36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the seed species the policy requires to initialize the network. <br /></td></tr>
<tr class="separator:a1d685fd5eb346871af5b8ed677dfcf36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0b892e995f58375144bd5559cf2b4c9" id="r_af0b892e995f58375144bd5559cf2b4c9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">gridfire::reaction::ReactionSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPyNetworkPolicy.html#af0b892e995f58375144bd5559cf2b4c9">get_seed_reactions</a> () const override</td></tr>
<tr class="memdesc:af0b892e995f58375144bd5559cf2b4c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the set of seed reactions the policy requires. <br /></td></tr>
<tr class="separator:af0b892e995f58375144bd5559cf2b4c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6871d8aae79db9b784d40b05225b3445" id="r_a6871d8aae79db9b784d40b05225b3445"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">gridfire::engine::DynamicEngine</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPyNetworkPolicy.html#a6871d8aae79db9b784d40b05225b3445">construct</a> () override</td></tr>
<tr class="memdesc:a6871d8aae79db9b784d40b05225b3445"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct and return a DynamicEngine instance (or engine view stack) satisfying the policy. <br /></td></tr>
<tr class="separator:a6871d8aae79db9b784d40b05225b3445"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8506a1f9c22d47c266abe1519ffb9bc0" id="r_a8506a1f9c22d47c266abe1519ffb9bc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegridfire_1_1policy.html#a0f52cd334fb84998d9c68430a41f6109">gridfire::policy::NetworkPolicyStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPyNetworkPolicy.html#a8506a1f9c22d47c266abe1519ffb9bc0">get_status</a> () const override</td></tr>
<tr class="memdesc:a8506a1f9c22d47c266abe1519ffb9bc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current verification/construction status of the policy. <br /></td></tr>
<tr class="separator:a8506a1f9c22d47c266abe1519ffb9bc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac640b306cf921c0793a296bd41e8d405" id="r_ac640b306cf921c0793a296bd41e8d405"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">gridfire::engine::DynamicEngine</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPyNetworkPolicy.html#ac640b306cf921c0793a296bd41e8d405">get_engine_stack</a> () const override</td></tr>
<tr class="separator:ac640b306cf921c0793a296bd41e8d405"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62eed803e30afebbbc074a3bf334524b" id="r_a62eed803e30afebbbc074a3bf334524b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacegridfire_1_1engine.html#a5387db1ec0b039955487fbc4c0034854">gridfire::engine::EngineTypes</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPyNetworkPolicy.html#a62eed803e30afebbbc074a3bf334524b">get_engine_types_stack</a> () const override</td></tr>
<tr class="separator:a62eed803e30afebbbc074a3bf334524b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d85c133b7dba16f93e3a084201b931" id="r_a86d85c133b7dba16f93e3a084201b931"><td class="memItemLeft" align="right" valign="top">const std::unique_ptr&lt; <a class="el" href="classgridfire_1_1partition_1_1PartitionFunction.html">gridfire::partition::PartitionFunction</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPyNetworkPolicy.html#a86d85c133b7dba16f93e3a084201b931">get_partition_function</a> () const override</td></tr>
<tr class="separator:a86d85c133b7dba16f93e3a084201b931"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgridfire_1_1policy_1_1NetworkPolicy"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgridfire_1_1policy_1_1NetworkPolicy')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html">gridfire::policy::NetworkPolicy</a></td></tr>
<tr class="memitem:a0d32c22a2d3794c328e8dd24d2cda2be inherit pub_methods_classgridfire_1_1policy_1_1NetworkPolicy" id="r_a0d32c22a2d3794c328e8dd24d2cda2be"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#a0d32c22a2d3794c328e8dd24d2cda2be">~NetworkPolicy</a> ()=default</td></tr>
<tr class="separator:a0d32c22a2d3794c328e8dd24d2cda2be inherit pub_methods_classgridfire_1_1policy_1_1NetworkPolicy"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6871d8aae79db9b784d40b05225b3445" name="a6871d8aae79db9b784d40b05225b3445"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6871d8aae79db9b784d40b05225b3445">&#9670;&#160;</a></span>construct()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">gridfire::engine::DynamicEngine</a> &amp; PyNetworkPolicy::construct </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct and return a DynamicEngine instance (or engine view stack) satisfying the policy. </p>
<p>Implementations typically build one or more engine layers (GraphEngine, MultiscalePartitioningEngineView, AdaptiveEngineView, etc.) and return a reference to the top-most DynamicEngine. The storage lifetime of the returned reference is implementation-defined (usually owned by the policy instance).</p>
<dl class="section return"><dt>Returns</dt><dd>DynamicEngine&amp; reference to a running/constructed engine ready for solver consumption.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname"><a class="el" href="classgridfire_1_1exceptions_1_1MissingKeyReactionError.html" title="Exception thrown when a constructed network fails to include a key reaction required by the policy.">gridfire::exceptions::MissingKeyReactionError</a></td><td>if required reactions are not present in the constructed network (see <code><a class="el" href="error__policy_8h.html" title="Defines custom exception types related to network policy construction and verification.">gridfire/exceptions/error_policy.h</a></code>). </td></tr>
<tr><td class="paramname"><a class="el" href="classgridfire_1_1exceptions_1_1MissingSeedSpeciesError.html" title="Exception thrown when a required seed species is not found in the initial composition.">gridfire::exceptions::MissingSeedSpeciesError</a></td><td>if required seed species are missing from the initializing composition. </td></tr>
<tr><td class="paramname"><a class="el" href="classgridfire_1_1exceptions_1_1PolicyError.html" title="Base class for all exceptions related to network policy operations.">gridfire::exceptions::PolicyError</a></td><td>for other construction/verification failures.</td></tr>
</table>
</dd>
</dl>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line">DynamicEngine &amp;engine = policy.construct();</div>
<div class="line">solver::CVODESolverStrategy solver(engine);</div>
<div class="line">NetOut out = solver.evaluate(netIn, <span class="keyword">true</span>);</div>
</div><!-- fragment --> </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#a13cd74c967592392b01d8fe9a5b34d88">gridfire::policy::NetworkPolicy</a>.</p>
</div>
</div>
<a id="ac640b306cf921c0793a296bd41e8d405" name="ac640b306cf921c0793a296bd41e8d405"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac640b306cf921c0793a296bd41e8d405">&#9670;&#160;</a></span>get_engine_stack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgridfire_1_1engine_1_1DynamicEngine.html">gridfire::engine::DynamicEngine</a> &gt; &gt; &amp; PyNetworkPolicy::get_engine_stack </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#a92891fe37b8684fe9f1c5958674de2d5">gridfire::policy::NetworkPolicy</a>.</p>
</div>
</div>
<a id="a62eed803e30afebbbc074a3bf334524b" name="a62eed803e30afebbbc074a3bf334524b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62eed803e30afebbbc074a3bf334524b">&#9670;&#160;</a></span>get_engine_types_stack()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="namespacegridfire_1_1engine.html#a5387db1ec0b039955487fbc4c0034854">gridfire::engine::EngineTypes</a> &gt; PyNetworkPolicy::get_engine_types_stack </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#aac63625678d287d0ca36c98f51e86dd2">gridfire::policy::NetworkPolicy</a>.</p>
</div>
</div>
<a id="a86d85c133b7dba16f93e3a084201b931" name="a86d85c133b7dba16f93e3a084201b931"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86d85c133b7dba16f93e3a084201b931">&#9670;&#160;</a></span>get_partition_function()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::unique_ptr&lt; <a class="el" href="classgridfire_1_1partition_1_1PartitionFunction.html">gridfire::partition::PartitionFunction</a> &gt; &amp; PyNetworkPolicy::get_partition_function </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#a1c395eb83b0bcf728db230e7772aabcf">gridfire::policy::NetworkPolicy</a>.</p>
</div>
</div>
<a id="af0b892e995f58375144bd5559cf2b4c9" name="af0b892e995f58375144bd5559cf2b4c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0b892e995f58375144bd5559cf2b4c9">&#9670;&#160;</a></span>get_seed_reactions()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgridfire_1_1reaction_1_1ReactionSet.html">gridfire::reaction::ReactionSet</a> &amp; PyNetworkPolicy::get_seed_reactions </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the set of seed reactions the policy requires. </p>
<p>The ReactionSet describes reactions that must be present in the constructed network for the policy to be considered satisfied. Concrete policies often implement their reaction requirements by composing one or more ReactionChainPolicy instances (see <code><a class="el" href="chains_8h.html" title="Concrete implementations of ReactionChainPolicy for key stellar reaction chains.">chains.h</a></code>).</p>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line"><span class="keyword">const</span> reaction::ReactionSet &amp;reactions = policy.get_seed_reactions();</div>
<div class="line"><span class="comment">// inspect reaction IDs or count</span></div>
<div class="line">std::cout &lt;&lt; <span class="stringliteral">&quot;Policy requires &quot;</span> &lt;&lt; reactions.size() &lt;&lt; <span class="stringliteral">&quot; reactions&quot;</span> &lt;&lt; std::endl;</div>
</div><!-- fragment --> </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#aa33fcee020f5acd8e14aadaf3758ad2f">gridfire::policy::NetworkPolicy</a>.</p>
</div>
</div>
<a id="a1d685fd5eb346871af5b8ed677dfcf36" name="a1d685fd5eb346871af5b8ed677dfcf36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d685fd5eb346871af5b8ed677dfcf36">&#9670;&#160;</a></span>get_seed_species()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::set&lt; fourdst::atomic::Species &gt; &amp; PyNetworkPolicy::get_seed_species </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the seed species the policy requires to initialize the network. </p>
<p>The returned set contains atomic species identifiers (fourdst::atomic::Species) which the policy expects to be present in the initial composition used to build the network.</p>
<p>Implementations should return a copy or an immutable reference to their internal set of required seed species.</p>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line"><span class="keyword">const</span> <span class="keyword">auto</span> seeds = policy.get_seed_species();</div>
<div class="line"><span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;s : seeds) { std::cout &lt;&lt; s.name() &lt;&lt; std::endl; }</div>
</div><!-- fragment --> </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#afb599d76b423f7a39b322c967302b49b">gridfire::policy::NetworkPolicy</a>.</p>
</div>
</div>
<a id="a8506a1f9c22d47c266abe1519ffb9bc0" name="a8506a1f9c22d47c266abe1519ffb9bc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8506a1f9c22d47c266abe1519ffb9bc0">&#9670;&#160;</a></span>get_status()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacegridfire_1_1policy.html#a0f52cd334fb84998d9c68430a41f6109">gridfire::policy::NetworkPolicyStatus</a> PyNetworkPolicy::get_status </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the current verification/construction status of the policy. </p>
<p>The status reports whether the policy has been initialized and whether the constructed network satisfies the policy's key requirements.</p>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line">NetworkPolicyStatus s = policy.getStatus();</div>
<div class="line"><span class="keywordflow">if</span> (s != NetworkPolicyStatus::INITIALIZED_VERIFIED) { <span class="comment">// handle error }</span></div>
</div><!-- fragment --> </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#a3d0f2aee8ead71da4d421fb659fb30f7">gridfire::policy::NetworkPolicy</a>.</p>
</div>
</div>
<a id="ac2c1ef3897e6491d5ab03e7342075245" name="ac2c1ef3897e6491d5ab03e7342075245"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2c1ef3897e6491d5ab03e7342075245">&#9670;&#160;</a></span>name()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string PyNetworkPolicy::name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Human-readable name for the policy. </p>
<dl class="section return"><dt>Returns</dt><dd>a std::string identifying the policy implementation (e.g. "MainSequencePolicy").</dd></dl>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line">std::string n = policy.name();</div>
<div class="line">std::cout &lt;&lt; <span class="stringliteral">&quot;Using policy: &quot;</span> &lt;&lt; n &lt;&lt; std::endl;</div>
</div><!-- fragment --> </dd></dl>
<p>Implements <a class="el" href="classgridfire_1_1policy_1_1NetworkPolicy.html#aa59c1baf7077a5d35d45ff753b32a565">gridfire::policy::NetworkPolicy</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/python/policy/trampoline/<a class="el" href="py__policy_8h.html">py_policy.h</a></li>
<li>src/python/policy/trampoline/<a class="el" href="py__policy_8cpp.html">py_policy.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="classPyNetworkPolicy.html">PyNetworkPolicy</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>