<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>MPQC: sc::RefBase Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><b>sc</b>::<a class="el" href="classsc_1_1RefBase.html">RefBase</a> </div> </div> <div class="contents"> <h1>sc::RefBase Class Reference</h1><!-- doxytag: class="sc::RefBase" -->Provides a few utility routines common to all <a class="el" href="classsc_1_1Ref.html" title="A template class that maintains references counts.">Ref</a> template instantiations. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="ref_8h_source.html">ref.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for sc::RefBase:</div> <div class="dynsection"> <p><center><img src="classsc_1_1RefBase.png" usemap="#sc::RefBase_map" border="0" alt=""></center> <map name="sc::RefBase_map"> <area href="classsc_1_1Ref.html" alt="sc::Ref< DiagSCMatrix >" shape="rect" coords="0,56,159,80"> <area href="classsc_1_1Ref.html" alt="sc::Ref< SCDimension >" shape="rect" coords="169,56,328,80"> <area href="classsc_1_1Ref.html" alt="sc::Ref< SCMatrix >" shape="rect" coords="338,56,497,80"> <area href="classsc_1_1Ref.html" alt="sc::Ref< SCVector >" shape="rect" coords="507,56,666,80"> <area href="classsc_1_1Ref.html" alt="sc::Ref< SymmSCMatrix >" shape="rect" coords="676,56,835,80"> <area href="classsc_1_1Ref.html" alt="sc::Ref< T >" shape="rect" coords="845,56,1004,80"> <area href="classsc_1_1RefDiagSCMatrix.html" alt="sc::RefDiagSCMatrix" shape="rect" coords="0,112,159,136"> <area href="classsc_1_1RefSCDimension.html" alt="sc::RefSCDimension" shape="rect" coords="169,112,328,136"> <area href="classsc_1_1RefSCMatrix.html" alt="sc::RefSCMatrix" shape="rect" coords="338,112,497,136"> <area href="classsc_1_1RefSCVector.html" alt="sc::RefSCVector" shape="rect" coords="507,112,666,136"> <area href="classsc_1_1RefSymmSCMatrix.html" alt="sc::RefSymmSCMatrix" shape="rect" coords="676,112,835,136"> </map> </div> <p> <a href="classsc_1_1RefBase-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c7856c35d7593330711aebf76cc46ad"></a><!-- doxytag: member="sc::RefBase::parentpointer" ref="8c7856c35d7593330711aebf76cc46ad" args="() const =0" --> virtual <a class="el" href="classsc_1_1RefCount.html">RefCount</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefBase.html#8c7856c35d7593330711aebf76cc46ad">parentpointer</a> () const =0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the <a class="el" href="classsc_1_1DescribedClass.html" title="Classes which need runtime information about themselves and their relationship to...">DescribedClass</a> pointer for the contained object. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefBase.html#4cb3ca60ed22e390185b769e0de65553">require_nonnull</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Requires that a nonnull reference is held. <a href="#4cb3ca60ed22e390185b769e0de65553"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6f3713d1009ecb115ff1e0188100ef08"></a><!-- doxytag: member="sc::RefBase::warn" ref="6f3713d1009ecb115ff1e0188100ef08" args="(const char *msg) const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefBase.html#6f3713d1009ecb115ff1e0188100ef08">warn</a> (const char *msg) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Print a warning message. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c1d072dc9626ac640cb278291a804f2b"></a><!-- doxytag: member="sc::RefBase::warn_ref_to_stack" ref="c1d072dc9626ac640cb278291a804f2b" args="() const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefBase.html#c1d072dc9626ac640cb278291a804f2b">warn_ref_to_stack</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called when stack data is referenced. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="47977f711ffaee1ddc3e7e06fa3d80e5"></a><!-- doxytag: member="sc::RefBase::warn_skip_stack_delete" ref="47977f711ffaee1ddc3e7e06fa3d80e5" args="() const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefBase.html#47977f711ffaee1ddc3e7e06fa3d80e5">warn_skip_stack_delete</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called when the deletion of stack data is skipped. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fbf2a4871cee20b5af5cb21a25ebeb67"></a><!-- doxytag: member="sc::RefBase::warn_bad_ref_count" ref="fbf2a4871cee20b5af5cb21a25ebeb67" args="() const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefBase.html#fbf2a4871cee20b5af5cb21a25ebeb67">warn_bad_ref_count</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Called when the reference count is corrupted. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7be608c96a861a724e6a9596727ccbf7"></a><!-- doxytag: member="sc::RefBase::ref_info" ref="7be608c96a861a724e6a9596727ccbf7" args="(RefCount *p, std::ostream &os) const " --> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classsc_1_1RefBase.html#7be608c96a861a724e6a9596727ccbf7">ref_info</a> (<a class="el" href="classsc_1_1RefCount.html">RefCount</a> *p, std::ostream &os) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Print information about the reference. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="604bb3487a10b95c0d4534994c1f0389"></a><!-- doxytag: member="sc::RefBase::ref_info" ref="604bb3487a10b95c0d4534994c1f0389" args="(std::ostream &os) const " --> void </td><td class="memItemRight" valign="bottom"><b>ref_info</b> (std::ostream &os) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="97bd0a465c184192499a393078112d4d"></a><!-- doxytag: member="sc::RefBase::check_pointer" ref="97bd0a465c184192499a393078112d4d" args="() const " --> void </td><td class="memItemRight" valign="bottom"><b>check_pointer</b> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0f65a0dbeb5fdad61553d00a9b33a792"></a><!-- doxytag: member="sc::RefBase::reference" ref="0f65a0dbeb5fdad61553d00a9b33a792" args="(RefCount *)" --> void </td><td class="memItemRight" valign="bottom"><b>reference</b> (<a class="el" href="classsc_1_1RefCount.html">RefCount</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9b9158deec0246a8040cc59dbd4cf598"></a><!-- doxytag: member="sc::RefBase::dereference" ref="9b9158deec0246a8040cc59dbd4cf598" args="(RefCount *)" --> int </td><td class="memItemRight" valign="bottom"><b>dereference</b> (<a class="el" href="classsc_1_1RefCount.html">RefCount</a> *)</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Provides a few utility routines common to all <a class="el" href="classsc_1_1Ref.html" title="A template class that maintains references counts.">Ref</a> template instantiations. <hr><h2>Member Function Documentation</h2> <a class="anchor" name="4cb3ca60ed22e390185b769e0de65553"></a><!-- doxytag: member="sc::RefBase::require_nonnull" ref="4cb3ca60ed22e390185b769e0de65553" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sc::RefBase::require_nonnull </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Requires that a nonnull reference is held. <p> If not, the program will abort. </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="ref_8h_source.html">ref.h</a></ul> </div> <hr> <address> <small> Generated at Wed Oct 14 14:12:17 2009 for <a href="http://www.mpqc.org">MPQC</a> 2.3.1 using the documentation package <a href="http://www.doxygen.org">Doxygen</a> 1.5.9. </small> </address> </body> </html>