<meta name="GENERATOR" content="emacs and ten fingers" />
<title>Allocators and allocation</title>
<link rel="StyleSheet" href="../lib3styles.css" type="text/css" />
+<link rel="Start" href="../documentation.html" type="text/html"
+ title="GNU C++ Standard Library" />
+<link rel="Bookmark" href="howto.html" type="text/html"
+ title="General Utilities" />
<link rel="Copyright" href="../17_intro/license.html" type="text/html" />
</head>
<body>
</p>
<h3 class="left">
- <a name="standard requirements">Standard requirements</a>
+ <a name="standard_requirements">Standard requirements</a>
</h3>
<p>The C++ standard only gives a few directives in this area:
</p>
</p>
<h3 class="left">
- <a name="probs possibilities">Problems and Possibilities</a>
+ <a name="probs_possibilities">Problems and Possibilities</a>
</h3>
<p>The easiest way of fulfilling the requirements is to call operator new
each time a container needs memory, and to call operator delete each
</p>
<h3 class="left">
- <a name="ext allocators">Other allocators</a>
+ <a name="ext_allocators">Other allocators</a>
</h3>
<p> Several other allocators are provided as part of this
implementation. The location of the extension allocators and their
<td></td>
<td></td>
</tr>
+ <tr>
+ <td>__gnu_cxx::bitmap_allocator<T></td>
+ <td><ext/bitmap_allocator.h></td>
+ <td></td>
+ <td></td>
+ </tr>
</table>
<p>More details on each of these allocators follows. </p>
href="../ext/mt_allocator.html">here</a>.
</p>
</li>
+
+ <li><code>bitmap_allocator</code>
+ <p>A high-performance allocator that uses a bit-map to keep track
+ of the used and unused memory locations. It has its own
+ documentation, found <a
+ href="../ext/ballocator_doc.txt">here</a>.
+ </p>
+ </li>
</ul>
<h3 class="left">
- <a name="using custom allocators">Using a specific allocator</a>
+ <a name="using_custom_allocators">Using a specific allocator</a>
</h3>
<p>You can specify different memory management schemes on a
per-container basis, by overriding the default
<h3 class="left">
- <a name="custom allocators">Writing custom allocators</a>
+ <a name="custom_allocators">Writing custom allocators</a>
</h3>
<p> Writing a portable C++ allocator would dictate that the
interface would look much like the one specified for <code>