<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

<html><head><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script><script language=JavaScript src="../javascript/searchdata.js"></script></head><body class="FramedSearchResultsPage" 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 --> 





<div id=Index><div class=IPageTitle>Search Results</div><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0>
<div class=SRResult id=SR_parent><div class=IEntry><a href="javascript:searchResults.Toggle('SR_parent')" class=ISymbol>parent</a><div class=ISubIndex><a href="../files/reg/uvm_reg_item-svh.html#uvm_reg_item.parent" class=IParent>uvm_reg_item</a></div></div></div>
<div class=SRResult id=SR_parent_undsequence><div class=IEntry><a href="javascript:searchResults.Toggle('SR_parent_undsequence')" class=ISymbol>parent_sequence</a><div class=ISubIndex><a href="../files/reg/uvm_reg_adapter-svh.html#uvm_reg_adapter.parent_sequence" class=IParent>uvm_reg_adapter</a></div></div></div>
<div class=SRResult id=SR_path><div class=IEntry><a href="javascript:searchResults.Toggle('SR_path')" class=ISymbol>path</a><div class=ISubIndex><a href="../files/reg/uvm_reg_item-svh.html#uvm_reg_item.path" class=IParent>uvm_reg_item</a></div></div></div>
<div class=SRResult id=SR_physical><div class=IEntry><a href="javascript:searchResults.Toggle('SR_physical')" class=ISymbol>physical</a><div class=ISubIndex><a href="../files/base/uvm_comparer-svh.html#uvm_comparer.physical" class=IParent>uvm_comparer</a><a href="../files/base/uvm_packer-svh.html#uvm_packer.physical" class=IParent>uvm_packer</a><a href="../files/base/uvm_recorder-svh.html#uvm_recorder.physical" class=IParent>uvm_recorder</a></div></div></div>
<div class=SRResult id=SR_policy><div class=IEntry><a href="javascript:searchResults.Toggle('SR_policy')" class=ISymbol>policy</a><div class=ISubIndex><a href="../files/base/uvm_comparer-svh.html#uvm_comparer.policy" class=IParent>uvm_comparer</a></div></div></div>
<div class=SRResult id=SR_precedence><div class=IEntry><a href="javascript:searchResults.Toggle('SR_precedence')" class=ISymbol>precedence</a><div class=ISubIndex><a href="../files/base/uvm_resource-svh.html#uvm_resource_base.precedence" class=IParent>uvm_resource_base</a></div></div></div>
<div class=SRResult id=SR_prefix><div class=IEntry><a href="javascript:searchResults.Toggle('SR_prefix')" class=ISymbol>prefix</a><div class=ISubIndex><a href="../files/base/uvm_printer-svh.html#uvm_printer_knobs.prefix" class=IParent>uvm_printer_knobs</a></div></div></div>
<div class=SRResult id=SR_print_undconfig_undmatches><div class=IEntry><a href="javascript:searchResults.Toggle('SR_print_undconfig_undmatches')" class=ISymbol>print_config_matches</a><div class=ISubIndex><a href="../files/base/uvm_component-svh.html#uvm_component.print_config_matches" class=IParent>uvm_component</a></div></div></div>
<div class=SRResult id=SR_print_undenabled><div class=IEntry><a href="javascript:searchResults.Toggle('SR_print_undenabled')" class=ISymbol>print_enabled</a><div class=ISubIndex><a href="../files/base/uvm_component-svh.html#uvm_component.print_enabled" class=IParent>uvm_component</a></div></div></div>
<div class=SRResult id=SR_prior><div class=IEntry><a href="javascript:searchResults.Toggle('SR_prior')" class=ISymbol>prior</a><div class=ISubIndex><a href="../files/reg/uvm_reg_item-svh.html#uvm_reg_item.prior" class=IParent>uvm_reg_item</a></div></div></div>
<div class=SRResult id=SR_provides_undresponses><div class=IEntry><a href="javascript:searchResults.Toggle('SR_provides_undresponses')" class=ISymbol>provides_responses</a><div class=ISubIndex><a href="../files/reg/uvm_reg_adapter-svh.html#uvm_reg_adapter.provides_responses" class=IParent>uvm_reg_adapter</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults", "FramedHTML");
searchResults.Search();
--></script></div><!--Index-->


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