blob: 6a35e1b1a3c9c1c8724f94029d57194bd2347278 [file] [log] [blame]
<html><head><title>/home/aerickso/p4/all/ovm/src/methodology/ovm_policies.svh</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="CFile"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="ovm_policies.svh" href="../../../../src/methodology/ovm_policies.svh">ovm_policies.svh</a></h1><div class=CBody>
<!--START_ND_SUMMARY index=0-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=0 -->
<tr class="SMain"><td colspan=2 class=SEntry><a href="#ovm_policies.svh" >ovm_policies.svh</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription></td></tr>
<!-- index=1 -->
<tr class="SGroup"><td class=SEntry><a href="#Policy_Classes" >Policy Classes</a></td><td class=SDescription>Policy classes are used to implement polymorphic operations that differ between built-in types and class-based types. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<!--CONTENT index=1 -->
<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="Policy_Classes" href="../../../../src/methodology/ovm_policies.svh">Policy Classes</a></h3><div class=CBody><p>Policy classes are used to implement polymorphic operations that differ between built-in types and class-based types.&nbsp; Generic components can then be built that work with either classes or built-in types, depending on what policy class is used.</p></div></div></div>
<!--CONTENT index=2 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ovm_built_in_comp#(T)" href="../../../../src/methodology/ovm_policies.svh">ovm_built_in_comp #(T)</a></h2><div class=CBody><p>This policy class is used to compare built-in types.</p><p>Provides a comp method that compares, AVM-style, the built-in type, T, for which the == operator is defined.</p>
<!--START_ND_SUMMARY index=2-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=2 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_built_in_comp#(T)" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">ovm_built_in_comp #(T)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>This policy class is used to compare built-in types.</td></tr>
<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 ovm_built_in_comp #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<!--CONTENT index=3 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ovm_built_in_converter#(T)" href="../../../../src/methodology/ovm_policies.svh">ovm_built_in_converter #(T)</a></h2><div class=CBody><p>This policy class is used to convert built-in types to strings.</p><p>Provides a convert2string method that converts the built-in type, T, to a string using the %p format specifier.</p>
<!--START_ND_SUMMARY index=3-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=3 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_built_in_converter#(T)" id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">ovm_built_in_converter #(T)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>This policy class is used to convert built-in types to strings.</td></tr>
<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 ovm_built_in_converter #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<!--CONTENT index=4 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ovm_built_in_clone#(T)" href="../../../../src/methodology/ovm_policies.svh">ovm_built_in_clone #(T)</a></h2><div class=CBody><p>This policy class is used to clone built-in types via the = operator.</p><p>Provides a clone metod that returns a copy of the built-in type, T.</p>
<!--START_ND_SUMMARY index=4-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=4 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_built_in_clone#(T)" id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">ovm_built_in_clone #(T)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>This policy class is used to clone built-in types via the = operator.</td></tr>
<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 ovm_built_in_clone #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<!--CONTENT index=5 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ovm_class_comp#(T)" href="../../../../src/methodology/ovm_policies.svh">ovm_class_comp #(T)</a></h2><div class=CBody><p>This policy class is used to compare two objects of the same type.</p><p>Provides a comp method that compares two objects of type T.&nbsp; The class T must implement the comp method, to which this class delegates the operation.</p>
<!--START_ND_SUMMARY index=5-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=5 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_class_comp#(T)" id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">ovm_class_comp #(T)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>This policy class is used to compare two objects of the same type.</td></tr>
<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 ovm_class_comp #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<!--CONTENT index=6 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ovm_class_converter#(T)" href="../../../../src/methodology/ovm_policies.svh">ovm_class_converter #(T)</a></h2><div class=CBody><p>This policy class is used to convert a class object to a string.</p><p>Provides a convert2string method that converts the built-in type, T, to a string.&nbsp; The class T must implement the convert2string method, to which this class delegates the operation.</p>
<!--START_ND_SUMMARY index=6-->
<div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable>
<!-- index=6 -->
<tr class="SClass"><td colspan=2 class=SEntry><a href="#ovm_class_converter#(T)" id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">ovm_class_converter #(T)</a></td></tr>
<tr class=SMain><td colspan=2 class=SWideDescription>This policy class is used to convert a class object to a string.</td></tr>
<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 ovm_class_converter #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote></td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>
<!--CONTENT index=7 -->
<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="ovm_class_clone#(T)" href="../../../../src/methodology/ovm_policies.svh">ovm_class_clone #(T)</a></h2><div class=CBody><p>This policy class is used to clone class objects.</p><p>Provides a clone metod that returns a copy of the built-in type, T.&nbsp; The class T must implement the clone method, to which this class delegates the operation.</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 ovm_built_in_comp #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This policy class is used to compare built-in types.</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 ovm_built_in_converter #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This policy class is used to convert built-in types to strings.</div></div><div class=CToolTip id="tt3"><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 ovm_built_in_clone #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This policy class is used to clone built-in types via the = operator.</div></div><div class=CToolTip id="tt4"><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 ovm_class_comp #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This policy class is used to compare two objects of the same type.</div></div><div class=CToolTip id="tt5"><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 ovm_class_converter #(</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%>int</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This policy class is used to convert a class object to a string.</div></div><!--END_ND_TOOLTIPS-->
<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>