|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.9.1"/> <title>Xerces-C++: XMemory Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Xerces-C++  <span id="projectnumber">3.1.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.9.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <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 id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</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><!-- top --> <div class="header"> <div class="summary"> <a href="classXMemory-members.html">List of all members</a> </div> <div class="headertitle"> <div class="title">XMemory Class Reference</div> </div> </div><!--header--> <div class="contents">
<p>This class makes it possible to override the C++ memory management by adding new/delete operators to this base class. <a href="classXMemory.html#details">More...</a></p> <div class="dynheader"> Inheritance diagram for XMemory:</div> <div class="dyncontent"> <div class="center"> <img src="classXMemory.png" usemap="#XMemory_map" alt=""/> <map id="XMemory_map" name="XMemory_map"> <area href="classAbstractDOMParser.html" title="This class implements the Document Object Model (DOM) interface. " alt="AbstractDOMParser" shape="rect" coords="255,56,500,80"/> <area href="classBinInputStream.html" alt="BinInputStream" shape="rect" coords="255,112,500,136"/> <area href="classBinOutputStream.html" alt="BinOutputStream" shape="rect" coords="255,168,500,192"/> <area href="classDefaultPanicHandler.html" title="Receive notification of panic. " alt="DefaultPanicHandler" shape="rect" coords="255,224,500,248"/> <area href="classHash2KeysSetOf.html" alt="Hash2KeysSetOf< THasher >" shape="rect" coords="255,280,500,304"/> <area href="classHash2KeysSetOfEnumerator.html" alt="Hash2KeysSetOfEnumerator< THasher >" shape="rect" coords="255,336,500,360"/> <area href="classInputSource.html" title="A single input source for an XML entity. " alt="InputSource" shape="rect" coords="255,392,500,416"/> <area href="classOutOfMemoryException.html" alt="OutOfMemoryException" shape="rect" coords="255,448,500,472"/> <area href="classPSVIAttributeList.html" alt="PSVIAttributeList" shape="rect" coords="255,504,500,528"/> <area href="classPSVIAttributeStorage.html" title="A container for the PSVI contributions to attributes that occur on a particular element. " alt="PSVIAttributeStorage" shape="rect" coords="255,560,500,584"/> <area href="classPSVIItem.html" alt="PSVIItem" shape="rect" coords="255,616,500,640"/> <area href="classQName.html" alt="QName" shape="rect" coords="255,672,500,696"/> <area href="classSAXException.html" title="Encapsulate a general SAX error or warning. " alt="SAXException" shape="rect" coords="255,728,500,752"/> <area href="classSAXParser.html" title="This class implements the SAX 'Parser' interface and should be used by applications wishing to parse ..." alt="SAXParser" shape="rect" coords="255,784,500,808"/> <area href="classValidationContext.html" alt="ValidationContext" shape="rect" coords="255,840,500,864"/> <area href="classXMLAttDef.html" title="Represents the core information of an attribute definition. " alt="XMLAttDef" shape="rect" coords="255,896,500,920"/> <area href="classXMLAttDefList.html" title="This class defines an abstract interface that all validators must support. " alt="XMLAttDefList" shape="rect" coords="255,952,500,976"/> <area href="classXMLAttr.html" title="This class defines the information about an attribute that will come out of the scanner during parsin..." alt="XMLAttr" shape="rect" coords="255,1008,500,1032"/> <area href="classXMLBigInteger.html" alt="XMLBigInteger" shape="rect" coords="255,1064,500,1088"/> <area href="classXMLContentModel.html" title="This class defines the abstract interface for all content models. " alt="XMLContentModel" shape="rect" coords="255,1120,500,1144"/> <area href="classXMLElementDecl.html" title="This class defines the core information of an element declaration. " alt="XMLElementDecl" shape="rect" coords="255,1176,500,1200"/> <area href="classXMLEntityDecl.html" title="This class defines that core information that defines an XML entity, no matter what validator is used..." alt="XMLEntityDecl" shape="rect" coords="255,1232,500,1256"/> <area href="classXMLException.html" alt="XMLException" shape="rect" coords="255,1288,500,1312"/> <area href="classXMLFileMgr.html" alt="XMLFileMgr" shape="rect" coords="255,1344,500,1368"/> <area href="classXMLFormatTarget.html" alt="XMLFormatTarget" shape="rect" coords="255,1400,500,1424"/> <area href="classXMLFormatter.html" title="This class provides the basic formatting capabilities that are required to turn the Unicode based XML..." alt="XMLFormatter" shape="rect" coords="255,1456,500,1480"/> <area href="classXMLGrammarDescription.html" alt="XMLGrammarDescription" shape="rect" coords="255,1512,500,1536"/> <area href="classXMLGrammarPool.html" alt="XMLGrammarPool" shape="rect" coords="255,1568,500,1592"/> <area href="classXMLInteger.html" alt="XMLInteger" shape="rect" coords="255,1624,500,1648"/> <area href="classXMLLCPTranscoder.html" alt="XMLLCPTranscoder" shape="rect" coords="255,1680,500,1704"/> <area href="classXMLMutexMgr.html" alt="XMLMutexMgr" shape="rect" coords="255,1736,500,1760"/> <area href="classXMLNetAccessor.html" alt="XMLNetAccessor" shape="rect" coords="255,1792,500,1816"/> <area href="classXMLNotationDecl.html" title="This class represents the core information about a notation declaration that all validators must at l..." alt="XMLNotationDecl" shape="rect" coords="255,1848,500,1872"/> <area href="classXMLNumber.html" alt="XMLNumber" shape="rect" coords="255,1904,500,1928"/> <area href="classXMLStringTokenizer.html" title="The string tokenizer class breaks a string into tokens. " alt="XMLStringTokenizer" shape="rect" coords="255,1960,500,1984"/> <area href="classXMLTranscoder.html" title="XMLTranscoder is for transcoding non-local code page encodings, i.e. " alt="XMLTranscoder" shape="rect" coords="255,2016,500,2040"/> <area href="classXMLTransService.html" alt="XMLTransService" shape="rect" coords="255,2072,500,2096"/> <area href="classXMLUri.html" alt="XMLUri" shape="rect" coords="255,2128,500,2152"/> <area href="classXMLURL.html" alt="XMLURL" shape="rect" coords="255,2184,500,2208"/> <area href="classXMLValidator.html" title="This abstract class provides the interface for all validators. " alt="XMLValidator" shape="rect" coords="255,2240,500,2264"/> <area href="classXSModel.html" alt="XSModel" shape="rect" coords="255,2296,500,2320"/> <area href="classXSNamedMap.html" alt="XSNamedMap< TVal >" shape="rect" coords="255,2352,500,2376"/> <area href="classXSNamedMap.html" alt="XSNamedMap< XSIDCDefinition >" shape="rect" coords="255,2408,500,2432"/> <area href="classXSNamedMap.html" alt="XSNamedMap< XSObject >" shape="rect" coords="255,2464,500,2488"/> <area href="classXSNamespaceItem.html" alt="XSNamespaceItem" shape="rect" coords="255,2520,500,2544"/> <area href="classXSObject.html" alt="XSObject" shape="rect" coords="255,2576,500,2600"/> <area href="classXSValue.html" alt="XSValue" shape="rect" coords="255,2632,500,2656"/> </map> </div></div> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">The C++ memory management</div></td></tr> <tr class="memitem:a717678d9deadc627a41fe0dddede9f7f"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#a717678d9deadc627a41fe0dddede9f7f">operator new</a> (size_t size)</td></tr> <tr class="memdesc:a717678d9deadc627a41fe0dddede9f7f"><td class="mdescLeft"> </td><td class="mdescRight">This method overrides operator new. <a href="#a717678d9deadc627a41fe0dddede9f7f">More...</a><br /></td></tr> <tr class="separator:a717678d9deadc627a41fe0dddede9f7f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac3022fcc968c684a31c1e6a9ede83c10"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#ac3022fcc968c684a31c1e6a9ede83c10">operator new</a> (size_t size, <a class="el" href="classMemoryManager.html">MemoryManager</a> *memMgr)</td></tr> <tr class="memdesc:ac3022fcc968c684a31c1e6a9ede83c10"><td class="mdescLeft"> </td><td class="mdescRight">This method defines a custom operator new, that will use the provided memory manager to perform the allocation. <a href="#ac3022fcc968c684a31c1e6a9ede83c10">More...</a><br /></td></tr> <tr class="separator:ac3022fcc968c684a31c1e6a9ede83c10"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aeaad885b799ac2188ffd28f76182339c"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#aeaad885b799ac2188ffd28f76182339c">operator new</a> (size_t size, void *ptr)</td></tr> <tr class="memdesc:aeaad885b799ac2188ffd28f76182339c"><td class="mdescLeft"> </td><td class="mdescRight">This method overrides placement operator new. <a href="#aeaad885b799ac2188ffd28f76182339c">More...</a><br /></td></tr> <tr class="separator:aeaad885b799ac2188ffd28f76182339c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9da30f1601ea458908cbf150fc2f8f8b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#a9da30f1601ea458908cbf150fc2f8f8b">operator delete</a> (void *p)</td></tr> <tr class="memdesc:a9da30f1601ea458908cbf150fc2f8f8b"><td class="mdescLeft"> </td><td class="mdescRight">This method overrides operator delete. <a href="#a9da30f1601ea458908cbf150fc2f8f8b">More...</a><br /></td></tr> <tr class="separator:a9da30f1601ea458908cbf150fc2f8f8b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a22efbc6459bdbe79f83b7791bba4d1f6"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#a22efbc6459bdbe79f83b7791bba4d1f6">operator delete</a> (void *p, <a class="el" href="classMemoryManager.html">MemoryManager</a> *memMgr)</td></tr> <tr class="memdesc:a22efbc6459bdbe79f83b7791bba4d1f6"><td class="mdescLeft"> </td><td class="mdescRight">This method provides a matching delete for the custom operator new. <a href="#a22efbc6459bdbe79f83b7791bba4d1f6">More...</a><br /></td></tr> <tr class="separator:a22efbc6459bdbe79f83b7791bba4d1f6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a32ee38b70d412e12f669cfbd86adf623"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#a32ee38b70d412e12f669cfbd86adf623">operator delete</a> (void *p, void *ptr)</td></tr> <tr class="memdesc:a32ee38b70d412e12f669cfbd86adf623"><td class="mdescLeft"> </td><td class="mdescRight">This method provides a matching delete for the placement new. <a href="#a32ee38b70d412e12f669cfbd86adf623">More...</a><br /></td></tr> <tr class="separator:a32ee38b70d412e12f669cfbd86adf623"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td colspan="2"><div class="groupHeader">Constructor</div></td></tr> <tr class="memitem:ae5b8adaa10d5d9276b42823f47e06858"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#ae5b8adaa10d5d9276b42823f47e06858">XMemory</a> ()</td></tr> <tr class="memdesc:ae5b8adaa10d5d9276b42823f47e06858"><td class="mdescLeft"> </td><td class="mdescRight">Protected default constructor. <a href="#ae5b8adaa10d5d9276b42823f47e06858">More...</a><br /></td></tr> <tr class="separator:ae5b8adaa10d5d9276b42823f47e06858"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>This class makes it possible to override the C++ memory management by adding new/delete operators to this base class. </p> <p>This class is used in conjunction with the pluggable memory manager. It allows applications to control Xerces memory management. </p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a class="anchor" id="ae5b8adaa10d5d9276b42823f47e06858"></a> <div class="memitem"> <div class="memproto"> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">XMemory::XMemory </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc">
<p>Protected default constructor. </p>
</div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a class="anchor" id="a9da30f1601ea458908cbf150fc2f8f8b"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XMemory::operator delete </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>p</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc">
<p>This method overrides operator delete. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">p</td><td>The pointer to the allocated memory </td></tr> </table> </dd> </dl>
</div> </div> <a class="anchor" id="a22efbc6459bdbe79f83b7791bba4d1f6"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XMemory::operator delete </td> <td>(</td> <td class="paramtype">void * </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> * </td> <td class="paramname"><em>memMgr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc">
<p>This method provides a matching delete for the custom operator new. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">p</td><td>The pointer to the allocated memory </td></tr> <tr><td class="paramname">memMgr</td><td>An application's memory manager </td></tr> </table> </dd> </dl>
</div> </div> <a class="anchor" id="a32ee38b70d412e12f669cfbd86adf623"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void XMemory::operator delete </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"><em>p</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>ptr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc">
<p>This method provides a matching delete for the placement new. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">p</td><td>The pointer to the allocated memory </td></tr> <tr><td class="paramname">ptr</td><td>The memory location where the object had to be allocated </td></tr> </table> </dd> </dl>
</div> </div> <a class="anchor" id="a717678d9deadc627a41fe0dddede9f7f"></a> <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 </td> <td class="paramname"><em>size</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc">
<p>This method overrides operator new. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">size</td><td>The requested memory size </td></tr> </table> </dd> </dl>
</div> </div> <a class="anchor" id="ac3022fcc968c684a31c1e6a9ede83c10"></a> <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 </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> * </td> <td class="paramname"><em>memMgr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></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 class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">size</td><td>The requested memory size </td></tr> <tr><td class="paramname">memMgr</td><td>An application's memory manager </td></tr> </table> </dd> </dl>
</div> </div> <a class="anchor" id="aeaad885b799ac2188ffd28f76182339c"></a> <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 </td> <td class="paramname"><em>size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>ptr</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc">
<p>This method overrides placement operator new. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">size</td><td>The requested memory size </td></tr> <tr><td class="paramname">ptr</td><td>The memory location where the object should be allocated </td></tr> </table> </dd> </dl>
</div> </div> <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></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Wed Mar 18 2015 10:43:38 for Xerces-C++ by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.9.1 </small></address> </body> </html>
|