File: classMemoryManager.html

package info (click to toggle)
xerces-c 3.1.1-3%2Bdeb7u2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 39,584 kB
  • sloc: cpp: 166,988; xml: 12,028; sh: 10,236; ansic: 3,984; makefile: 1,290; perl: 500
file content (191 lines) | stat: -rw-r--r-- 10,791 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Xerces-C++: MemoryManager Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</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>
    </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>
</div>
<div class="contents">
<h1>MemoryManager Class Reference</h1><!-- doxytag: class="MemoryManager" -->Configurable memory manager.  
<a href="#_details">More...</a>
<p>

<p>
<a href="classMemoryManager-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">virtual <a class="el" href="classMemoryManager.html">MemoryManager</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemoryManager.html#6587b83bc36e193c35b33d8f45836a54">getExceptionMemoryManager</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method is called to obtain the memory manager that should be used to allocate memory used in exceptions.  <a href="#6587b83bc36e193c35b33d8f45836a54"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemoryManager.html#069aa716f72688713e925ddcfd712b83">~MemoryManager</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor.  <a href="#069aa716f72688713e925ddcfd712b83"></a><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">The pure virtual methods in this interface.</div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemoryManager.html#4955a5c169b701c6106c1541bbb96f17">allocate</a> (<a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#c0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> size)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method allocates requested memory.  <a href="#4955a5c169b701c6106c1541bbb96f17"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemoryManager.html#f7dce9eab3a2a41e5b887ba735180e67">deallocate</a> (void *p)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method deallocates memory.  <a href="#f7dce9eab3a2a41e5b887ba735180e67"></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="classMemoryManager.html#e925e8ad4d8fe6f0565e9d5729f59593">MemoryManager</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Protected default constructor.  <a href="#e925e8ad4d8fe6f0565e9d5729f59593"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Configurable memory manager. 
<p>
This interface allows outside applications to plug in their own memory manager to be used by Xerces for memory allocation/deallocation. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="069aa716f72688713e925ddcfd712b83"></a><!-- doxytag: member="MemoryManager::~MemoryManager" ref="069aa716f72688713e925ddcfd712b83" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual MemoryManager::~MemoryManager           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default destructor. 
<p>

</div>
</div><p>
<a class="anchor" name="e925e8ad4d8fe6f0565e9d5729f59593"></a><!-- doxytag: member="MemoryManager::MemoryManager" ref="e925e8ad4d8fe6f0565e9d5729f59593" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">MemoryManager::MemoryManager           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><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="6587b83bc36e193c35b33d8f45836a54"></a><!-- doxytag: member="MemoryManager::getExceptionMemoryManager" ref="6587b83bc36e193c35b33d8f45836a54" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classMemoryManager.html">MemoryManager</a>* MemoryManager::getExceptionMemoryManager           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This method is called to obtain the memory manager that should be used to allocate memory used in exceptions. 
<p>
If the same memory manager can be used, simply return 'this' from this function. Note, however, that if there is a possibility that an exception thrown can outlive the memory manager (for example, because the memory manager object is allocated on the stack or is managed by a stack-bound object), it is recommended that you return <a class="el" href="classXMLPlatformUtils.html#97eff0d9fff3567bea3acd3ca4d95252" title="The configurable memory manager.">XMLPlatformUtils::fgMemoryManager</a>.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the memory manager </dd></dl>

</div>
</div><p>
<a class="anchor" name="4955a5c169b701c6106c1541bbb96f17"></a><!-- doxytag: member="MemoryManager::allocate" ref="4955a5c169b701c6106c1541bbb96f17" args="(XMLSize_t size)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* MemoryManager::allocate           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="Xerces__autoconf__config_8msvc_8hpp.html#c0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a>&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This method allocates requested memory. 
<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>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the allocated memory </dd></dl>

<p>Referenced by <a class="el" href="XMLString_8hpp-source.html#l01461">XMLString::replicate()</a>, and <a class="el" href="XMLDateTime_8hpp-source.html#l00272">XMLDateTime::setBuffer()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f7dce9eab3a2a41e5b887ba735180e67"></a><!-- doxytag: member="MemoryManager::deallocate" ref="f7dce9eab3a2a41e5b887ba735180e67" args="(void *p)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void MemoryManager::deallocate           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This method deallocates memory. 
<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 to be deleted </td></tr>
  </table>
</dl>

<p>Referenced by <a class="el" href="XMLNotationDecl_8hpp-source.html#l00212">XMLNotationDecl::setBaseURI()</a>, <a class="el" href="XMLEntityDecl_8hpp-source.html#l00484">XMLEntityDecl::setBaseURI()</a>, <a class="el" href="XMLDateTime_8hpp-source.html#l00272">XMLDateTime::setBuffer()</a>, <a class="el" href="XMLAttDef_8hpp-source.html#l00500">XMLAttDef::setEnumeration()</a>, <a class="el" href="XMLEntityDecl_8hpp-source.html#l00460">XMLEntityDecl::setNotationName()</a>, <a class="el" href="XMLNotationDecl_8hpp-source.html#l00196">XMLNotationDecl::setPublicId()</a>, <a class="el" href="XMLEntityDecl_8hpp-source.html#l00468">XMLEntityDecl::setPublicId()</a>, <a class="el" href="XMLNotationDecl_8hpp-source.html#l00204">XMLNotationDecl::setSystemId()</a>, <a class="el" href="XMLEntityDecl_8hpp-source.html#l00476">XMLEntityDecl::setSystemId()</a>, <a class="el" href="XMLEntityDecl_8hpp-source.html#l00492">XMLEntityDecl::setValue()</a>, <a class="el" href="XMLAttDef_8hpp-source.html#l00518">XMLAttDef::setValue()</a>, <a class="el" href="AbstractDOMParser_8hpp-source.html#l01861">AbstractDOMParser::useImplementation()</a>, and <a class="el" href="PSVIAttribute_8hpp-source.html#l00152">PSVIAttribute::~PSVIAttribute()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="MemoryManager_8hpp-source.html">MemoryManager.hpp</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 21 17:55:50 2010 for Xerces-C++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>