blob: 8e39571560125188f0bb271cf01cf5edf64ac93c [file] [log] [blame]
<html><head><title>Pool Classes</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script></head><body class="FramedContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
<!-- Generated by Natural Docs, version Development Release 01-12-2008 (1.35 base) -->
<!-- http://www.naturaldocs.org -->
<!-- saved from url=(0026)http://www.naturaldocs.org -->
<!--TOP - START OF CONTENT-->
<div id=Content>
<!--CONTENT index=0 -->
<div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="Pool_Classes" href="../../src/base/uvm_pool.svh">Pool Classes</a></h1><div class=CBody><p>This section defines the <a href="#uvm_pool#(KEY,T)" class=LClass id=link6 onMouseOver="ShowTip(event, 'tt1', 'link6')" onMouseOut="HideTip('tt1')">uvm_pool #(KEY, T)</a> class and derivative.</p>
<!--START_ND_SUMMARY index=0-->
<div class=Summary><div class=STitle>Contents</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=0 -->
<tr class="SMain"><td class=SEntry><a href="#Pool_Classes" >Pool Classes</a></td><td class=SDescription>This section defines the <a href="#uvm_pool#(KEY,T)" class=LClass id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">uvm_pool #(KEY, T)</a> class and derivative.</td></tr>
<!-- index=1 -->
<tr class="SSMethod SMarked"><td class=SEntry><a href="#uvm_pool#(KEY,T)" id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">uvm_pool #(KEY,T)</a></td><td class=SDescription>Implements a class-based dynamic associative array. </td></tr>
<!-- index=15 -->
<tr class="SSMethod"><td class=SEntry><a href="#uvm_object_string_pool#(T)" id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">uvm_object_string_pool #(T)</a></td><td class=SDescription>This provides a specialization of the generic <a href="#uvm_pool#(KEY,T)" class=LClass id=link4 onMouseOver="ShowTip(event, 'tt1', 'link4')" onMouseOut="HideTip('tt1')">uvm_pool #(KEY,T)</a> class for an associative array of <a href="uvm_object-svh.html#uvm_object" class=LClass id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">uvm_object</a>-based objects indexed by string. </td></tr></table></div></div><!--END_ND_SUMMARY-->
</div></div></div>
<!--CONTENT index=1 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="uvm_pool#(KEY,T)" href="../../src/base/uvm_pool.svh">uvm_pool #(KEY,T)</a></h2><div class=CBody><p>Implements a class-based dynamic associative array.&nbsp; Allows sparse arrays to be allocated on demand, and passed and stored by reference.</p>
<!--START_ND_SUMMARY index=1-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=1 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#uvm_pool#(KEY,T)" id=link9 onMouseOver="ShowTip(event, 'tt1', 'link9')" onMouseOut="HideTip('tt1')">uvm_pool #(KEY,T)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>Implements a class-based dynamic associative array. </td></tr>
<!-- HIERARCHY -->
<tr class="SHierarchy SIndent1 "><td colspan=2 class="SEntry SIndent1">Class Hierarchy</td></tr>
<tr class="SPrototype SIndent1"><td colspan=2 class=SDescription>
<div class=ClassHierarchy>
<table border=0 cellspacing=0 cellpadding=0>
<tr><td><div class=CHParent><div class=CHEntry><a href="uvm_misc-svh.html#uvm_void" class=LGeneric id=link7 onMouseOver="ShowTip(event, 'tt4', 'link7')" onMouseOut="HideTip('tt4')">uvm_void</a></div></div></td></tr>
<tr><td><div class=CHParent><div class=CHEntry><a href="uvm_object-svh.html#uvm_object" class=LClass id=link8 onMouseOver="ShowTip(event, 'tt3', 'link8')" onMouseOut="HideTip('tt3')">uvm_object</a></div></div></td></tr>
<tr><td><div class=CHCurrent><div class=CHEntry>uvm_pool#(KEY,T)</div></div></td></tr>
</table>
</div>
</td></tr>
<!-- PROTOTYPE -->
<tr class="SPrototype SIndent1"><td colspan=2 class="SEntry SIndent1">Class Declaration</td></tr>
<tr class="SPrototype SIndent1"><td colspan=2 class=SDescription>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>class uvm_pool #(</td> <td class=PType nowrap>type&nbsp;</td>
<td class=PParameter nowrap>KEY</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>int,</td>
</tr><tr><td></td> <td class=PType nowrap>&nbsp;</td>
<td class=PParameter nowrap>T</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>uvm_void</td>
<td class=PAfterParameters nowrap>) extends uvm_object</td></tr>
</table></td></tr>
</table></blockquote>
</td></tr>
<!-- index=2 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_pool#(KEY,T).Methods" >Methods</a></td><td class=SDescription></td></tr>
<!-- index=3 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_pool#(KEY,T).new" id=link10 onMouseOver="ShowTip(event, 'tt5', 'link10')" onMouseOut="HideTip('tt5')">new</a></td><td class=SDescription>Creates a new pool with the given <i>name</i>.</td></tr>
<!-- index=4 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_pool#(KEY,T).get_global_pool" id=link11 onMouseOver="ShowTip(event, 'tt6', 'link11')" onMouseOut="HideTip('tt6')">get_global_pool</a></td><td class=SDescription>Returns the singleton global pool for the item type, T.</td></tr>
<!-- index=5 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_pool#(KEY,T).get_global" id=link12 onMouseOver="ShowTip(event, 'tt7', 'link12')" onMouseOut="HideTip('tt7')">get_global</a></td><td class=SDescription>Returns the specified item instance from the global item pool.</td></tr>
<!-- index=6 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_pool#(KEY,T).get" id=link13 onMouseOver="ShowTip(event, 'tt8', 'link13')" onMouseOut="HideTip('tt8')">get</a></td><td class=SDescription>Returns the item with the given <i>key</i>.</td></tr>
<!-- index=7 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_pool#(KEY,T).add" id=link14 onMouseOver="ShowTip(event, 'tt9', 'link14')" onMouseOut="HideTip('tt9')">add</a></td><td class=SDescription>Adds the given (<i>key</i>, <i>item</i>) pair to the pool. </td></tr>
<!-- index=8 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_pool#(KEY,T).num" id=link15 onMouseOver="ShowTip(event, 'tt10', 'link15')" onMouseOut="HideTip('tt10')">num</a></td><td class=SDescription>Returns the number of uniquely keyed items stored in the pool.</td></tr>
<!-- index=9 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_pool#(KEY,T).delete" id=link16 onMouseOver="ShowTip(event, 'tt11', 'link16')" onMouseOut="HideTip('tt11')">delete</a></td><td class=SDescription>Removes the item with the given <i>key</i> from the pool.</td></tr>
<!-- index=10 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_pool#(KEY,T).exists" id=link17 onMouseOver="ShowTip(event, 'tt12', 'link17')" onMouseOut="HideTip('tt12')">exists</a></td><td class=SDescription>Returns 1 if a item with the given <i>key</i> exists in the pool, 0 otherwise.</td></tr>
<!-- index=11 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_pool#(KEY,T).first" id=link18 onMouseOver="ShowTip(event, 'tt13', 'link18')" onMouseOut="HideTip('tt13')">first</a></td><td class=SDescription>Returns the key of the first item stored in the pool.</td></tr>
<!-- index=12 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_pool#(KEY,T).last" id=link19 onMouseOver="ShowTip(event, 'tt14', 'link19')" onMouseOut="HideTip('tt14')">last</a></td><td class=SDescription>Returns the key of the last item stored in the pool.</td></tr>
<!-- index=13 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_pool#(KEY,T).next" id=link20 onMouseOver="ShowTip(event, 'tt15', 'link20')" onMouseOut="HideTip('tt15')">next</a></td><td class=SDescription>Returns the key of the next item in the pool.</td></tr>
<!-- index=14 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_pool#(KEY,T).prev" id=link21 onMouseOver="ShowTip(event, 'tt16', 'link21')" onMouseOut="HideTip('tt16')">prev</a></td><td class=SDescription>Returns the key of the previous item in the pool.</td></tr></table></div></div><!--END_ND_SUMMARY-->
</div></div></div>
<!--CONTENT index=2 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).Methods" href="../../src/base/uvm_pool.svh">Methods</a></h3></div></div>
<!--CONTENT index=3 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).new" href="../../src/base/uvm_pool.svh">new</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>function new (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>name</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>&quot;&quot;</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Creates a new pool with the given <i>name</i>.</p></div></div></div>
<!--CONTENT index=4 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).get_global_pool" href="../../src/base/uvm_pool.svh">get_global_pool</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function this_type get_global_pool ()
</td></tr></table></blockquote><div class=CBody><p>Returns the singleton global pool for the item type, T.</p><p>This allows items to be shared amongst components throughout the verification environment.</p></div></div></div>
<!--CONTENT index=5 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).get_global" href="../../src/base/uvm_pool.svh">get_global</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>static function T get_global (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns the specified item instance from the global item pool.</p></div></div></div>
<!--CONTENT index=6 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).get" href="../../src/base/uvm_pool.svh">get</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function T get (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns the item with the given <i>key</i>.</p><p>If no item exists by that key, a new item is created with that key and returned.</p></div></div></div>
<!--CONTENT index=7 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).add" href="../../src/base/uvm_pool.svh">add</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function void add (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key,</td>
</tr><tr><td></td> <td class=PType nowrap>T&nbsp;</td>
<td class=PParameter nowrap>item</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Adds the given (<i>key</i>, <i>item</i>) pair to the pool.&nbsp; If an item already exists at the given <i>key</i> it is overwritten with the new <i>item</i>.</p></div></div></div>
<!--CONTENT index=8 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).num" href="../../src/base/uvm_pool.svh">num</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function int num ()
</td></tr></table></blockquote><div class=CBody><p>Returns the number of uniquely keyed items stored in the pool.</p></div></div></div>
<!--CONTENT index=9 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).delete" href="../../src/base/uvm_pool.svh">delete</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function void delete (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Removes the item with the given <i>key</i> from the pool.</p></div></div></div>
<!--CONTENT index=10 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).exists" href="../../src/base/uvm_pool.svh">exists</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int exists (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns 1 if a item with the given <i>key</i> exists in the pool, 0 otherwise.</p></div></div></div>
<!--CONTENT index=11 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).first" href="../../src/base/uvm_pool.svh">first</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int first (</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns the key of the first item stored in the pool.</p><p>If the pool is empty, then <i>key</i> is unchanged and 0 is returned.</p><p>If the pool is not empty, then <i>key</i> is key of the first item and 1 is returned.</p></div></div></div>
<!--CONTENT index=12 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).last" href="../../src/base/uvm_pool.svh">last</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int last (</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns the key of the last item stored in the pool.</p><p>If the pool is empty, then 0 is returned and <i>key</i> is unchanged.</p><p>If the pool is not empty, then <i>key</i> is set to the last key in the pool and 1 is returned.</p></div></div></div>
<!--CONTENT index=13 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).next" href="../../src/base/uvm_pool.svh">next</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int next (</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns the key of the next item in the pool.</p><p>If the input <i>key</i> is the last key in the pool, then <i>key</i> is left unchanged and 0 is returned.</p><p>If a next key is found, then <i>key</i> is updated with that key and 1 is returned.</p></div></div></div>
<!--CONTENT index=14 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_pool#(KEY,T).prev" href="../../src/base/uvm_pool.svh">prev</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int prev (</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns the key of the previous item in the pool.</p><p>If the input <i>key</i> is the first key in the pool, then <i>key</i> is left unchanged and 0 is returned.</p><p>If a previous key is found, then <i>key</i> is updated with that key and 1 is returned.</p></div></div></div>
<!--CONTENT index=15 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="uvm_object_string_pool#(T)" href="../../src/base/uvm_pool.svh">uvm_object_string_pool #(T)</a></h2><div class=CBody><p>This provides a specialization of the generic <a href="#uvm_pool#(KEY,T)" class=LClass id=link31 onMouseOver="ShowTip(event, 'tt1', 'link31')" onMouseOut="HideTip('tt1')">uvm_pool #(KEY,T)</a> class for an associative array of <a href="uvm_object-svh.html#uvm_object" class=LClass id=link32 onMouseOver="ShowTip(event, 'tt3', 'link32')" onMouseOut="HideTip('tt3')">uvm_object</a>-based objects indexed by string.&nbsp; Specializations of this class include the <i>uvm_event_pool</i> (a uvm_object_string_pool storing <a href="uvm_event-svh.html#uvm_event" class=LClass id=link33 onMouseOver="ShowTip(event, 'tt23', 'link33')" onMouseOut="HideTip('tt23')">uvm_event</a>s) and <i>uvm_barrier_pool</i> (a uvm_obejct_string_pool storing <a href="uvm_barrier-svh.html#uvm_barrier" class=LClass id=link34 onMouseOver="ShowTip(event, 'tt24', 'link34')" onMouseOut="HideTip('tt24')">uvm_barrier</a>s).</p>
<!--START_ND_SUMMARY index=15-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=15 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#uvm_object_string_pool#(T)" id=link22 onMouseOver="ShowTip(event, 'tt2', 'link22')" onMouseOut="HideTip('tt2')">uvm_object_string_pool #(T)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>This provides a specialization of the generic <a href="#uvm_pool#(KEY,T)" class=LClass id=link23 onMouseOver="ShowTip(event, 'tt1', 'link23')" onMouseOut="HideTip('tt1')">uvm_pool #(KEY,T)</a> class for an associative array of <a href="uvm_object-svh.html#uvm_object" class=LClass id=link24 onMouseOver="ShowTip(event, 'tt3', 'link24')" onMouseOut="HideTip('tt3')">uvm_object</a>-based objects indexed by string. </td></tr>
<!-- HIERARCHY -->
<tr class="SHierarchy SIndent1 "><td colspan=2 class="SEntry SIndent1">Class Hierarchy</td></tr>
<tr class="SPrototype SIndent1"><td colspan=2 class=SDescription>
<div class=ClassHierarchy>
<table border=0 cellspacing=0 cellpadding=0>
<tr><td><div class=CHParent><div class=CHEntry>uvm_pool#(string,T)</div></div></td></tr>
<tr><td><div class=CHCurrent><div class=CHEntry>uvm_object_string_pool#(T)</div></div></td></tr>
</table>
</div>
</td></tr>
<!-- PROTOTYPE -->
<tr class="SPrototype SIndent1"><td colspan=2 class="SEntry SIndent1">Class Declaration</td></tr>
<tr class="SPrototype SIndent1"><td colspan=2 class=SDescription>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters colspan=5>class uvm_object_string_pool #(</td> </tr><tr><td>&nbsp;&nbsp;&nbsp;</td> <td class=PType nowrap>type&nbsp;</td>
<td class=PParameter nowrap>T</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>uvm_object</td>
</tr>
<tr>
<td class=PAfterParameters colspan=5>) extends uvm_pool #(string,T)</td></tr>
</table></td></tr>
</table></blockquote>
</td></tr>
<!-- index=16 -->
<tr class="SGroup SIndent1"><td class=SEntry><a href="#uvm_object_string_pool#(T).Methods" >Methods</a></td><td class=SDescription></td></tr>
<!-- index=17 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_object_string_pool#(T).new" id=link25 onMouseOver="ShowTip(event, 'tt17', 'link25')" onMouseOut="HideTip('tt17')">new</a></td><td class=SDescription>Creates a new pool with the given <i>name</i>.</td></tr>
<!-- index=18 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_object_string_pool#(T).get_type_name" id=link26 onMouseOver="ShowTip(event, 'tt18', 'link26')" onMouseOut="HideTip('tt18')">get_type_name</a></td><td class=SDescription>Returns the type name of this object.</td></tr>
<!-- index=19 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_object_string_pool#(T).get_global_pool" id=link27 onMouseOver="ShowTip(event, 'tt19', 'link27')" onMouseOut="HideTip('tt19')">get_global_pool</a></td><td class=SDescription>Returns the singleton global pool for the item type, T.</td></tr>
<!-- index=20 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_object_string_pool#(T).get_global" id=link28 onMouseOver="ShowTip(event, 'tt20', 'link28')" onMouseOut="HideTip('tt20')">get_global</a></td><td class=SDescription>Returns the specified item instance from the global item pool.</td></tr>
<!-- index=21 -->
<tr class="SMethod SIndent2"><td class=SEntry><a href="#uvm_object_string_pool#(T).get" id=link29 onMouseOver="ShowTip(event, 'tt21', 'link29')" onMouseOut="HideTip('tt21')">get</a></td><td class=SDescription>Returns the object item at the given string <i>key</i>.</td></tr>
<!-- index=22 -->
<tr class="SMethod SIndent2 SMarked"><td class=SEntry><a href="#uvm_object_string_pool#(T).delete" id=link30 onMouseOver="ShowTip(event, 'tt22', 'link30')" onMouseOut="HideTip('tt22')">delete</a></td><td class=SDescription>Removes the item with the given string <i>key</i> from the pool.</td></tr></table></div></div><!--END_ND_SUMMARY-->
</div></div></div>
<!--CONTENT index=16 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="uvm_object_string_pool#(T).Methods" href="../../src/base/uvm_pool.svh">Methods</a></h3></div></div>
<!--CONTENT index=17 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_string_pool#(T).new" href="../../src/base/uvm_pool.svh">new</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>function new (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>name</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>&quot;&quot;</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Creates a new pool with the given <i>name</i>.</p></div></div></div>
<!--CONTENT index=18 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_string_pool#(T).get_type_name" href="../../src/base/uvm_pool.svh">get_type_name</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function string get_type_name()
</td></tr></table></blockquote><div class=CBody><p>Returns the type name of this object.</p></div></div></div>
<!--CONTENT index=19 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_string_pool#(T).get_global_pool" href="../../src/base/uvm_pool.svh">get_global_pool</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function this_type get_global_pool ()
</td></tr></table></blockquote><div class=CBody><p>Returns the singleton global pool for the item type, T.</p><p>This allows items to be shared amongst components throughout the verification environment.</p></div></div></div>
<!--CONTENT index=20 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_string_pool#(T).get_global" href="../../src/base/uvm_pool.svh">get_global</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>static function T get_global (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns the specified item instance from the global item pool.</p></div></div></div>
<!--CONTENT index=21 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_string_pool#(T).get" href="../../src/base/uvm_pool.svh">get</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function T get (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Returns the object item at the given string <i>key</i>.</p><p>If no item exists by the given <i>key</i>, a new item is created for that key and returned.</p></div></div></div>
<!--CONTENT index=22 -->
<div class="CMethod"><div class=CTopic><h3 class=CTitle><a name="uvm_object_string_pool#(T).delete" href="../../src/base/uvm_pool.svh">delete</a></h3>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function void delete (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
<div class=CBody><p>Removes the item with the given string <i>key</i> from the pool.</p></div></div></div>
</div><!--Content-->
<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CClass>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>class uvm_pool #(</td> <td class=PType nowrap>type&nbsp;</td>
<td class=PParameter nowrap>KEY</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>int,</td>
</tr><tr><td></td> <td class=PType nowrap>&nbsp;</td>
<td class=PParameter nowrap>T</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>uvm_void</td>
<td class=PAfterParameters nowrap>) extends uvm_object</td></tr>
</table></td></tr>
</table></blockquote>
Implements a class-based dynamic associative array. </div></div><div class=CToolTip id="tt2"><div class=CClass>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>class uvm_object_string_pool #(</td> <td class=PType nowrap>type&nbsp;</td>
<td class=PParameter nowrap>T</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>uvm_object</td>
<td class=PAfterParameters nowrap>) extends uvm_pool #(string,T)</td></tr>
</table></td></tr>
</table></blockquote>
This provides a specialization of the generic uvm_pool #(KEY,T) class for an associative array of uvm_object-based objects indexed by string. </div></div><div class=CToolTip id="tt3"><div class=CClass>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual class uvm_object extends uvm_void
</td></tr></table></blockquote>The uvm_object class is the base class for all UVM data and hierarchical classes. </div></div><div class=CToolTip id="tt4"><div class=CGeneric>The <i>uvm_void</i> class is the base class for all UVM classes. </div></div><div class=CToolTip id="tt5"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>function new (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>name</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>&quot;&quot;</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Creates a new pool with the given <i>name</i>.</div></div><div class=CToolTip id="tt6"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function this_type get_global_pool ()
</td></tr></table></blockquote>Returns the singleton global pool for the item type, T.</div></div><div class=CToolTip id="tt7"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>static function T get_global (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns the specified item instance from the global item pool.</div></div><div class=CToolTip id="tt8"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function T get (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns the item with the given <i>key</i>.</div></div><div class=CToolTip id="tt9"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function void add (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key,</td>
</tr><tr><td></td> <td class=PType nowrap>T&nbsp;</td>
<td class=PParameter nowrap>item</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Adds the given (<i>key</i>, <i>item</i>) pair to the pool. </div></div><div class=CToolTip id="tt10"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function int num ()
</td></tr></table></blockquote>Returns the number of uniquely keyed items stored in the pool.</div></div><div class=CToolTip id="tt11"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function void delete (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Removes the item with the given <i>key</i> from the pool.</div></div><div class=CToolTip id="tt12"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int exists (</td> <td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns 1 if a item with the given <i>key</i> exists in the pool, 0 otherwise.</div></div><div class=CToolTip id="tt13"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int first (</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns the key of the first item stored in the pool.</div></div><div class=CToolTip id="tt14"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int last (</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns the key of the last item stored in the pool.</div></div><div class=CToolTip id="tt15"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int next (</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns the key of the next item in the pool.</div></div><div class=CToolTip id="tt16"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function int prev (</td> <td class=PTypePrefix nowrap>ref&nbsp;</td>
<td class=PType nowrap>KEY&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns the key of the previous item in the pool.</div></div><div class=CToolTip id="tt17"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>function new (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>name</td>
<td class=PDefaultValuePrefix>&nbsp;=&nbsp;</td>
<td class=PDefaultValue width=100%>&quot;&quot;</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Creates a new pool with the given <i>name</i>.</div></div><div class=CToolTip id="tt18"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>virtual function string get_type_name()
</td></tr></table></blockquote>Returns the type name of this object.</div></div><div class=CToolTip id="tt19"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>static function this_type get_global_pool ()
</td></tr></table></blockquote>Returns the singleton global pool for the item type, T.</div></div><div class=CToolTip id="tt20"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>static function T get_global (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns the specified item instance from the global item pool.</div></div><div class=CToolTip id="tt21"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function T get (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Returns the object item at the given string <i>key</i>.</div></div><div class=CToolTip id="tt22"><div class=CMethod>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype>
<tr><td><table border=0 cellspacing=0 cellpadding=0><tr>
<td class=PBeforeParameters nowrap>virtual function void delete (</td> <td class=PType nowrap>string&nbsp;</td>
<td class=PParameter nowrap>key</td>
<td class=PAfterParameters nowrap>)</td></tr>
</table></td></tr>
</table></blockquote>
Removes the item with the given string <i>key</i> from the pool.</div></div><div class=CToolTip id="tt23"><div class=CClass>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class uvm_event extends uvm_object
</td></tr></table></blockquote>The uvm_event class is a wrapper class around the SystemVerilog event construct. </div></div><div class=CToolTip id="tt24"><div class=CClass>
<blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class uvm_barrier extends uvm_object
</td></tr></table></blockquote>The uvm_barrier class provides a multiprocess synchronization mechanism. </div></div><!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>