<html><head><title>Policy 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="Policy_Classes" href="../../ovm_ref/policies.txt">Policy Classes</a></h1><div class=CBody><p>Each of OVM&rsquo;s policy classes perform a specific task for <a href="../files/base/ovm_object-svh.html#ovm_object" class=LClass id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">ovm_object</a>-based objects: printing, comparing, recording, packing, and unpacking.&nbsp; They are implemented separately from <i>ovm_object</i> so that users can plug in different ways to print, compare, etc. without modifying the object class being operated on.&nbsp; The user can simply apply a different printer or compare &ldquo;policy&rdquo; to change how an object is printed or compared.</p><p>Each policy class includes several user-configurable parameters that control the operation.&nbsp;  Users may also customize operations by deriving new policy subtypes from these base types.&nbsp; For example, the OVM provides four different <i>ovm_printer</i>-based policy classes, each of which print objects in a different format.</p><ul><li><a href="../files/base/ovm_printer-svh.html#ovm_printer" class=LClass id=link2 onMouseOver="ShowTip(event, 'tt2', 'link2')" onMouseOut="HideTip('tt2')">ovm_printer</a> - performs deep printing of <i>ovm_object</i>-based objects.&nbsp; The OVM provides several subtypes to <i>ovm_printer</i> that print objects in a specific format: <a href="../files/base/ovm_printer-svh.html#ovm_table_printer" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt3', 'link3')" onMouseOut="HideTip('tt3')">ovm_table_printer</a>, <a href="../files/base/ovm_printer-svh.html#ovm_tree_printer" class=LClass id=link4 onMouseOver="ShowTip(event, 'tt4', 'link4')" onMouseOut="HideTip('tt4')">ovm_tree_printer</a>, and <a href="../files/base/ovm_printer-svh.html#ovm_line_printer" class=LClass id=link5 onMouseOver="ShowTip(event, 'tt5', 'link5')" onMouseOut="HideTip('tt5')">ovm_line_printer</a>.&nbsp;  Each such printer has many configuration options that goven what and how object members are printed.</li><li><a href="../files/base/ovm_comparer-svh.html#ovm_comparer" class=LClass id=link6 onMouseOver="ShowTip(event, 'tt6', 'link6')" onMouseOut="HideTip('tt6')">ovm_comparer</a> - performs deep comparison of <i>ovm_object</i>-based objects.&nbsp; Users may configure what is compared and how miscompares are reported.</li><li><a href="../files/base/ovm_recorder-svh.html#ovm_recorder" class=LClass id=link7 onMouseOver="ShowTip(event, 'tt7', 'link7')" onMouseOut="HideTip('tt7')">ovm_recorder</a> - performs the task of recording <i>ovm_object</i>-based objects to a transaction data base.&nbsp; The implementation is vendor-specific.</li><li><a href="../files/base/ovm_packer-svh.html#ovm_packer" class=LClass id=link8 onMouseOver="ShowTip(event, 'tt8', 'link8')" onMouseOut="HideTip('tt8')">ovm_packer</a> - used to pack (serialize) and unpack <i>ovm_object</i>-based properties into bit, byte, or int arrays and back again.</li></ul></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>virtual class ovm_object extends ovm_void</td></tr></table></blockquote>The ovm_object class is the base class for all OVM data and hierarchical classes. </div></div><div class=CToolTip id="tt2"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_printer</td></tr></table></blockquote>The ovm_printer class provides an interface for printing ovm_objects in various formats. </div></div><div class=CToolTip id="tt3"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_table_printer extends ovm_printer</td></tr></table></blockquote>The table printer prints output in a tabular format.</div></div><div class=CToolTip id="tt4"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_tree_printer extends ovm_printer</td></tr></table></blockquote>By overriding various methods of the ovm_printer super class, the tree printer prints output in a tree format.</div></div><div class=CToolTip id="tt5"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_line_printer extends ovm_tree_printer</td></tr></table></blockquote>The line printer prints output in a line format.</div></div><div class=CToolTip id="tt6"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_comparer</td></tr></table></blockquote>The ovm_comparer class provides a policy object for doing comparisons. </div></div><div class=CToolTip id="tt7"><div class=CClass><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td>class ovm_recorder</td></tr></table></blockquote>The ovm_recorder class provides a policy object for recording ovm_objects. </div></div><div class=CToolTip id="tt8"><div class=CClass>The ovm_packer class provides a policy object for packing and unpacking ovm_objects. </div></div><!--END_ND_TOOLTIPS-->

<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>