blob: 99fdc2007fb2535e96bcc42626934c05c339c24d [file] [log] [blame]
<HTML><HEAD><SCRIPT language="JavaScript" src="../resources/script.js" type="text/javascript"></SCRIPT><TITLE>Xerces-C++: XMemory Class Reference</TITLE><link href="XercesApi.css" rel="stylesheet" type="text/css"></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="../resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="../resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="../resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="../graphics/api-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="../resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','../resources/button-xml-hi.gif','../resources/button-xml-lo.gif');" src="../resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','../resources/button-asf-hi.gif','../resources/button-asf-lo.gif');" src="../resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','../resources/button-w3c-hi.gif','../resources/button-w3c-lo.gif');" src="../resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="../resources/join.gif" vspace="0" width="120"><BR>
<A href="../../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','../graphics/ext-2-label-2.jpg','../graphics/ext-2-label-3.jpg');" src="../graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','../graphics/index-label-2.jpg','../graphics/index-label-3.jpg');" src="../graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../charter.html" onMouseOut="rolloverOff('side-charter');" onMouseOver="rolloverOn('side-charter');"><IMG alt="Charter" border="0" height="12" hspace="0" name="side-charter" onLoad="rolloverLoad('side-charter','../graphics/charter-label-2.jpg','../graphics/charter-label-3.jpg');" src="../graphics/charter-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','../graphics/releases-label-2.jpg','../graphics/releases-label-3.jpg');" src="../graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','../graphics/install-label-2.jpg','../graphics/install-label-3.jpg');" src="../graphics/install-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="http://xerces.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-20');" onMouseOver="rolloverOn('side-ext-20');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-20" onLoad="rolloverLoad('side-ext-20','../graphics/ext-20-label-2.jpg','../graphics/ext-20-label-3.jpg');" src="../graphics/ext-20-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','../graphics/build-label-2.jpg','../graphics/build-label-3.jpg');" src="../graphics/build-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','../graphics/program-label-2.jpg','../graphics/program-label-3.jpg');" src="../graphics/program-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','../graphics/samples-label-2.jpg','../graphics/samples-label-3.jpg');" src="../graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','../graphics/faqs-label-2.jpg','../graphics/faqs-label-3.jpg');" src="../graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','../graphics/api-label-2.jpg','../graphics/api-label-3.jpg');" src="../graphics/api-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-88');" onMouseOver="rolloverOn('side-ext-88');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-88" onLoad="rolloverLoad('side-ext-88','../graphics/ext-88-label-2.jpg','../graphics/ext-88-label-3.jpg');" src="../graphics/ext-88-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','../graphics/migrate-label-2.jpg','../graphics/migrate-label-3.jpg');" src="../graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','../graphics/feedback-label-2.jpg','../graphics/feedback-label-3.jpg');" src="../graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','../graphics/bug-report-label-2.jpg','../graphics/bug-report-label-3.jpg');" src="../graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../mailing-lists.html" onMouseOut="rolloverOff('side-mailing-lists');" onMouseOver="rolloverOn('side-mailing-lists');"><IMG alt="Mailing Lists" border="0" height="12" hspace="0" name="side-mailing-lists" onLoad="rolloverLoad('side-mailing-lists','../graphics/mailing-lists-label-2.jpg','../graphics/mailing-lists-label-3.jpg');" src="../graphics/mailing-lists-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="6" hspace="0" src="../resources/separator.gif" vspace="0" width="120"><BR>
<A href="../source-repository.html" onMouseOut="rolloverOff('side-source-repository');" onMouseOver="rolloverOn('side-source-repository');"><IMG alt="Source Repository" border="0" height="12" hspace="0" name="side-source-repository" onLoad="rolloverLoad('side-source-repository','../graphics/source-repository-label-2.jpg','../graphics/source-repository-label-3.jpg');" src="../graphics/source-repository-label-3.jpg" vspace="0" width="120"></A><BR>
<A href="../applications.html" onMouseOut="rolloverOff('side-applications');" onMouseOver="rolloverOn('side-applications');"><IMG alt="Applications" border="0" height="12" hspace="0" name="side-applications" onLoad="rolloverLoad('side-applications','../graphics/applications-label-2.jpg','../graphics/applications-label-3.jpg');" src="../graphics/applications-label-3.jpg" vspace="0" width="120"></A><BR>
<IMG border="0" height="14" hspace="0" src="../resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#FFFFFF" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="../resources/void.gif" vspace="0" width="2"><B>API Docs for SAX and DOM</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="../resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
<P>
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li class="current"><a href="classes.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
<li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
<li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
</ul>
</div>
<h1>XMemory Class Reference</h1><!-- doxytag: class="XMemory" -->This class makes it possible to override the C++ memory management by adding new/delete operators to this base class.
<a href="#_details">More...</a>
<p>
<div class="dynheader">
Inheritance diagram for XMemory:</div>
<div class="dynsection">
<p><center><img src="classXMemory__inherit__graph.png" border="0" usemap="#XMemory__inherit__map" alt="Inheritance graph"></center>
<map name="XMemory__inherit__map">
<area shape="rect" href="classAbstractDOMParser.html" title="This class implements the Document Object Model (DOM) interface." alt="" coords="187,5,339,32"><area shape="rect" href="classBinInputStream.html" title="BinInputStream" alt="" coords="201,56,324,83"><area shape="rect" href="classBinOutputStream.html" title="BinOutputStream" alt="" coords="195,107,331,133"><area shape="rect" href="classDefaultPanicHandler.html" title="Receive notification of panic." alt="" coords="185,157,340,184"><area shape="rect" href="classInputSource.html" title="A single input source for an XML entity." alt="" coords="213,208,312,235"><area shape="rect" href="classOutOfMemoryException.html" title="OutOfMemoryException" alt="" coords="173,259,352,285"><area shape="rect" href="classPSVIAttributeList.html" title="A container for the PSVI contributions to attributes that occur on a particular element..." alt="" coords="196,309,329,336"><area shape="rect" href="classPSVIItem.html" title="PSVIItem" alt="" coords="221,360,304,387"><area shape="rect" href="classQName.html" title="QName" alt="" coords="227,411,299,437"><area shape="rect" href="classSAXException.html" title="Encapsulate a general SAX error or warning." alt="" coords="207,461,319,488"><area shape="rect" href="classSAXParser.html" title="This class implements the SAX &#39;Parser&#39; interface and should be used by applications..." alt="" coords="217,512,308,539"><area shape="rect" href="classValidationContext.html" title="ValidationContext" alt="" coords="195,563,331,589"><area shape="rect" href="classXMLAttDef.html" title="Represents the core information of an atribute definition." alt="" coords="216,613,309,640"><area shape="rect" href="classXMLAttDefList.html" title="This class defines an abstract interface that all validators must support." alt="" coords="205,664,320,691"><area shape="rect" href="classXMLAttr.html" title="This class defines the information about an attribute that will come out of the scanner..." alt="" coords="225,715,300,741"><area shape="rect" href="classXMLBigInteger.html" title="XMLBigInteger" alt="" coords="205,765,320,792"><area shape="rect" href="classXMLContentModel.html" title="This class defines the abstract interface for all content models." alt="" coords="192,816,333,843"><area shape="rect" href="classXMLElementDecl.html" title="This class defines the core information of an element declaration." alt="" coords="197,867,328,893"><area shape="rect" href="classXMLEntityDecl.html" title="This class defines that core information that defines an XML entity, no matter what..." alt="" coords="205,917,320,944"><area shape="rect" href="classXMLException.html" title="XMLException" alt="" coords="207,968,319,995"><area shape="rect" href="classXMLFormatTarget.html" title="XMLFormatTarget" alt="" coords="195,1019,331,1045"><area shape="rect" href="classXMLFormatter.html" title="This class provides the basic formatting capabilities that are required to turn the..." alt="" coords="205,1069,320,1096"><area shape="rect" href="classXMLGrammarDescription.html" title="XMLGrammarDescription" alt="" coords="171,1120,355,1147"><area shape="rect" href="classXMLGrammarPool.html" title="XMLGrammarPool" alt="" coords="192,1171,333,1197"><area shape="rect" href="classXMLHolder.html" title="XMLHolder\&lt; Type \&gt;" alt="" coords="188,1221,337,1248"><area shape="rect" href="classXMLInteger.html" title="XMLInteger" alt="" coords="215,1272,311,1299"><area shape="rect" href="classXMLLCPTranscoder.html" title="XMLLCPTranscoder" alt="" coords="189,1323,336,1349"><area shape="rect" href="classXMLNetAccessor.html" title="XMLNetAccessor" alt="" coords="197,1373,328,1400"><area shape="rect" href="classXMLNotationDecl.html" title="This class represents the core information about a notation declaration that all..." alt="" coords="196,1424,329,1451"><area shape="rect" href="classXMLNumber.html" title="XMLNumber" alt="" coords="212,1475,313,1501"><area shape="rect" href="classXMLStringTokenizer.html" title="The string tokenizer class breaks a string into tokens." alt="" coords="189,1525,336,1552"><area shape="rect" href="classXMLTranscoder.html" title="DOMString is the generic string class that stores all strings used in the DOM C++..." alt="" coords="204,1576,321,1603"><area shape="rect" href="classXMLTransService.html" title="XMLTransService" alt="" coords="199,1627,327,1653"><area shape="rect" href="classXMLUri.html" title="XMLUri" alt="" coords="229,1677,296,1704"><area shape="rect" href="classXMLURL.html" title="XMLURL" alt="" coords="224,1728,301,1755"><area shape="rect" href="classXMLValidator.html" title="This abstract class provides the interface for all validators." alt="" coords="209,1779,316,1805"><area shape="rect" href="classXSModel.html" title="XSModel" alt="" coords="224,1829,301,1856"><area shape="rect" href="classXSNamedMap.html" title="XSNamedMap\&lt; TVal \&gt;" alt="" coords="177,1880,348,1907"><area shape="rect" href="classXSNamedMap.html" title="XSNamedMap\&lt; XSIDCDefinition \&gt;" alt="" coords="139,1931,387,1957"><area shape="rect" href="classXSNamedMap.html" title="XSNamedMap\&lt; XSObject \&gt;" alt="" coords="161,1981,364,2008"><area shape="rect" href="classXSNamespaceItem.html" title="XSNamespaceItem" alt="" coords="189,2032,336,2059"><area shape="rect" href="classXSObject.html" title="XSObject" alt="" coords="223,2083,303,2109"><area shape="rect" href="classXSValue.html" title="XSValue" alt="" coords="225,2133,300,2160"><area shape="rect" href="classXercesDOMParser.html" title="This class implements the Document Object Model (DOM) interface." alt="" coords="444,5,583,32"><area shape="rect" href="classBinFileInputStream.html" title="BinFileInputStream" alt="" coords="441,56,585,83"><area shape="rect" href="classBinMemInputStream.html" title="BinMemInputStream" alt="" coords="435,107,592,133"><area shape="rect" href="classLocalFileInputSource.html" title="This class is a derivative of the standard InputSource class." alt="" coords="436,183,591,209"><area shape="rect" href="classMemBufInputSource.html" title="This class is a derivative of the standard InputSource class." alt="" coords="436,233,591,260"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="classXMemory-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 colspan="2"><div class="groupHeader">The C++ memory management</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#717678d9deadc627a41fe0dddede9f7f">operator new</a> (size_t size)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method overrides operator new. <a href="#717678d9deadc627a41fe0dddede9f7f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#c3022fcc968c684a31c1e6a9ede83c10">operator new</a> (size_t size, <a class="el" href="classMemoryManager.html">MemoryManager</a> *memMgr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method defines a custom operator new, that will use the provided memory manager to perform the allocation. <a href="#c3022fcc968c684a31c1e6a9ede83c10"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#eaad885b799ac2188ffd28f76182339c">operator new</a> (size_t size, void *ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method overrides placement operator new. <a href="#eaad885b799ac2188ffd28f76182339c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#9da30f1601ea458908cbf150fc2f8f8b">operator delete</a> (void *p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method overrides operator delete. <a href="#9da30f1601ea458908cbf150fc2f8f8b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#22efbc6459bdbe79f83b7791bba4d1f6">operator delete</a> (void *p, <a class="el" href="classMemoryManager.html">MemoryManager</a> *memMgr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method provides a matching delete for the custom operator new. <a href="#22efbc6459bdbe79f83b7791bba4d1f6"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#32ee38b70d412e12f669cfbd86adf623">operator delete</a> (void *p, void *ptr)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method provides a matching delete for the placement new. <a href="#32ee38b70d412e12f669cfbd86adf623"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Constructor</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#e5b8adaa10d5d9276b42823f47e06858">XMemory</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Protected default constructor. <a href="#e5b8adaa10d5d9276b42823f47e06858"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class makes it possible to override the C++ memory management by adding new/delete operators to this base class.
<p>
This class is used in conjuction with the pluggable memory manager. It allows applications to control Xerces memory management. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="e5b8adaa10d5d9276b42823f47e06858"></a><!-- doxytag: member="XMemory::XMemory" ref="e5b8adaa10d5d9276b42823f47e06858" args="()" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">XMemory::XMemory </td>
<td>(</td>
<td class="paramname"> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"><code> [protected]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Protected default constructor.
<p>
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="717678d9deadc627a41fe0dddede9f7f"></a><!-- doxytag: member="XMemory::operator new" ref="717678d9deadc627a41fe0dddede9f7f" args="(size_t size)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* XMemory::operator new </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>size</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method overrides operator new.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The requested memory size </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="c3022fcc968c684a31c1e6a9ede83c10"></a><!-- doxytag: member="XMemory::operator new" ref="c3022fcc968c684a31c1e6a9ede83c10" args="(size_t size, MemoryManager *memMgr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* XMemory::operator new </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *&nbsp;</td>
<td class="paramname"> <em>memMgr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method defines a custom operator new, that will use the provided memory manager to perform the allocation.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The requested memory size </td></tr>
<tr><td valign="top"></td><td valign="top"><em>memMgr</em>&nbsp;</td><td>An application's memory manager </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="eaad885b799ac2188ffd28f76182339c"></a><!-- doxytag: member="XMemory::operator new" ref="eaad885b799ac2188ffd28f76182339c" args="(size_t size, void *ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* XMemory::operator new </td>
<td>(</td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>size</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>ptr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method overrides placement operator new.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The requested memory size </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>The memory location where the object should be allocated </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="9da30f1601ea458908cbf150fc2f8f8b"></a><!-- doxytag: member="XMemory::operator delete" ref="9da30f1601ea458908cbf150fc2f8f8b" args="(void *p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMemory::operator delete </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>p</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method overrides operator delete.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pointer to the allocated memory </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="22efbc6459bdbe79f83b7791bba4d1f6"></a><!-- doxytag: member="XMemory::operator delete" ref="22efbc6459bdbe79f83b7791bba4d1f6" args="(void *p, MemoryManager *memMgr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMemory::operator delete </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *&nbsp;</td>
<td class="paramname"> <em>memMgr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method provides a matching delete for the custom operator new.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pointer to the allocated memory </td></tr>
<tr><td valign="top"></td><td valign="top"><em>memMgr</em>&nbsp;</td><td>An application's memory manager </td></tr>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="32ee38b70d412e12f669cfbd86adf623"></a><!-- doxytag: member="XMemory::operator delete" ref="32ee38b70d412e12f669cfbd86adf623" args="(void *p, void *ptr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XMemory::operator delete </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>ptr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This method provides a matching delete for the placement new.
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>The pointer to the allocated memory </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ptr</em>&nbsp;</td><td>The memory location where the object had to be allocated </td></tr>
</table>
</dl>
</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="XMemory_8hpp-source.html">XMemory.hpp</a></ul>
</FONT></TD></TR></TABLE><BR>
</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1" alt=""></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
Copyright &copy; 1994-2004 The Apache Software Foundation.
All Rights Reserved.
</I></FONT></TD></TR></TABLE></BODY></HTML>