aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/doc/xml/manual/mt_allocator.xml
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/doc/xml/manual/mt_allocator.xml')
-rw-r--r--libstdc++-v3/doc/xml/manual/mt_allocator.xml69
1 files changed, 35 insertions, 34 deletions
diff --git a/libstdc++-v3/doc/xml/manual/mt_allocator.xml b/libstdc++-v3/doc/xml/manual/mt_allocator.xml
index ba93b10fa68..b31b593bc29 100644
--- a/libstdc++-v3/doc/xml/manual/mt_allocator.xml
+++ b/libstdc++-v3/doc/xml/manual/mt_allocator.xml
@@ -1,7 +1,8 @@
-<sect1 id="manual.ext.allocator.mt" xreflabel="mt allocator">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="manual.ext.allocator.mt" xreflabel="mt allocator">
<?dbhtml filename="mt_allocator.html"?>
-<sect1info>
+<info><title>mt_allocator</title>
<keywordset>
<keyword>
ISO C++
@@ -10,15 +11,15 @@
allocator
</keyword>
</keywordset>
-</sect1info>
+</info>
+
-<title>mt_allocator</title>
<para>
</para>
-<sect2 id="allocator.mt.intro">
-<title>Intro</title>
+<section xml:id="allocator.mt.intro"><info><title>Intro</title></info>
+
<para>
The mt allocator [hereinafter referred to simply as "the allocator"]
@@ -40,14 +41,14 @@
view - the "inner workings" of the allocator.
</para>
-</sect2>
+</section>
+
+<section xml:id="allocator.mt.design_issues"><info><title>Design Issues</title></info>
-<sect2 id="allocator.mt.design_issues">
-<title>Design Issues</title>
-<sect3 id="allocator.mt.overview">
-<title>Overview</title>
+<section xml:id="allocator.mt.overview"><info><title>Overview</title></info>
+
<para> There are three general components to the allocator: a datum
@@ -104,15 +105,15 @@ classes, namely member functions <code>allocate</code> and
<code>deallocate</code>, plus others.
</para>
-</sect3>
-</sect2>
+</section>
+</section>
+
+<section xml:id="allocator.mt.impl"><info><title>Implementation</title></info>
-<sect2 id="allocator.mt.impl">
-<title>Implementation</title>
-<sect3 id="allocator.mt.tune">
-<title>Tunable Parameters</title>
+<section xml:id="allocator.mt.tune"><info><title>Tunable Parameters</title></info>
+
<para>Certain allocation parameters can be modified, or tuned. There
exists a nested <code>struct __pool_base::_Tune</code> that contains all
@@ -166,10 +167,10 @@ int main()
}
</programlisting>
-</sect3>
+</section>
+
+<section xml:id="allocator.mt.init"><info><title>Initialization</title></info>
-<sect3 id="allocator.mt.init">
-<title>Initialization</title>
<para>
The static variables (pointers to freelists, tuning parameters etc)
@@ -276,10 +277,10 @@ The _S_initialize() function:
a thread decides to return some blocks to the global freelist.
</para>
-</sect3>
+</section>
+
+<section xml:id="allocator.mt.deallocation"><info><title>Deallocation Notes</title></info>
-<sect3 id="allocator.mt.deallocation">
-<title>Deallocation Notes</title>
<para> Notes about deallocation. This allocator does not explicitly
release memory. Because of this, memory debugging programs like
@@ -308,16 +309,16 @@ containers, this works, as an instance of the allocator is constructed
as part of a container's constructor. However, this assumption is
implementation-specific, and subject to change. For an example of a
pool that frees memory, see the following
- <ulink url="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup">
- example.</ulink>
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/viewcvs/trunk/libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc?view=markup">
+ example.</link>
</para>
-</sect3>
+</section>
-</sect2>
+</section>
+
+<section xml:id="allocator.mt.example_single"><info><title>Single Thread Example</title></info>
-<sect2 id="allocator.mt.example_single">
-<title>Single Thread Example</title>
<para>
Let's start by describing how the data on a freelist is laid out in memory.
@@ -408,10 +409,10 @@ after a set of performance measurements that showed that this is roughly 10%
faster than maintaining a set of "last pointers" as well.
</para>
-</sect2>
+</section>
+
+<section xml:id="allocator.mt.example_multi"><info><title>Multiple Thread Example</title></info>
-<sect2 id="allocator.mt.example_multi">
-<title>Multiple Thread Example</title>
<para>
In the ST example we never used the thread_id variable present in each block.
@@ -549,6 +550,6 @@ be improved to further reduce the risk of blocks being "bounced back
and forth" between freelists.
</para>
-</sect2>
+</section>
-</sect1>
+</section>