2004-02-25 Jonathan Wakely <redi@gcc.gnu.org>
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Feb 2004 11:35:06 +0000 (11:35 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Feb 2004 11:35:06 +0000 (11:35 +0000)
* docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
Fix markup, more <link> tags.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78495 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/docs/html/20_util/allocator.html
libstdc++-v3/docs/html/20_util/howto.html
libstdc++-v3/docs/html/ext/howto.html
libstdc++-v3/docs/html/ext/mt_allocator.html

index 2c16838..a09a97d 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-25  Jonathan Wakely  <redi@gcc.gnu.org>
+
+       * docs/html/20_util/howto.html, docs/html/20_util/allocator.html,
+       docs/html/ext/howto.html, docs/html/ext/mt_allocator.html:
+       Fix markup, more <link> tags.
+
 2004-02-25  Carlo Wood  <carlo@alinoe.com>
 
        * bits/demangle.h
index 43aaae7..07e8e2d 100644 (file)
    <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>
@@ -35,7 +39,7 @@
 </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>
@@ -74,7 +78,7 @@
    </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
 
 
 <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>
index 9597707..4c40459 100644 (file)
@@ -18,6 +18,8 @@
   title="Diagnostics" />
 <link rel="Next" href="../21_strings/howto.html" type="text/html"
   title="Strings" />
+<link rel="Bookmark" href="allocator.html" type="text/html"
+  title="Allocators and allocation" />
 <link rel="Copyright" href="../17_intro/license.html" type="text/html" />
 <link rel="Help" href="../faq/index.html" type="text/html" title="F.A.Q." />
 </head>
index 3e5c35c..41fe10b 100644 (file)
@@ -18,6 +18,8 @@
   title="Input/Output" />
 <link rel="Bookmark" href="sgiexts.html" type="text/html"
   title="SGI extensions" />
+<link rel="Bookmark" href="mt_allocator.html" type="text/html"
+  title="__mt_alloc" />
 <link rel="Copyright" href="../17_intro/license.html" type="text/html" />
 </head>
 <body>
index e806395..7272711 100644 (file)
@@ -5,12 +5,15 @@
 
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
-   <meta name="AUTHOR" content="Stefan Olsson <stefan@xapa.se>" />
+   <meta name="AUTHOR" content="Stefan Olsson &lt;stefan@xapa.se&gt;" />
    <meta name="KEYWORDS" content="c++, libstdc++, g++, allocator, memory" />
    <meta name="DESCRIPTION" content="Allocators and allocation" />
    <meta name="GENERATOR" content="emacs and ten fingers" />
    <title>A fixed-size, multi-thread optimized allocator</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="Extensions" />
 <link rel="Copyright" href="../17_intro/license.html" type="text/html" />
 </head>
 <body>
@@ -61,8 +64,8 @@ are initialized to their default values at file scope, i.e.:
 </p>
 
 <pre>
-  template<typename _Tp> size_t
-  __mt_alloc<_Tp>::_S_freelist_headroom = 10;
+  template&lt;typename _Tp&gt; size_t
+  __mt_alloc&lt;_Tp&gt;::_S_freelist_headroom = 10;
 </pre>
 
 <p>
@@ -100,7 +103,7 @@ The _S_init() function:
     as many bin_records in this array as the number of bins that we calculated
     earlier. I.e., if _S_max_bytes = 128 there will be 8 entries.
     Each bin_record is then initialized:
-    - bin_record->first = An array of pointers to block_records. There will be
+    - bin_record-&gt;first = An array of pointers to block_records. There will be
       as many block_records pointers as there are maximum number of threads 
       (in a ST application there is only 1 thread, in a MT application there 
       are _S_max_threads).
@@ -127,7 +130,7 @@ The _S_init() function:
     created thread and we pop the first entry from this list and saves the
     pointer to this record in the _S_thread_key variable. The next time 
     we will get the pointer to the thread_record back and we use the 
-    thread_record->thread_id as identification. I.e., the first thread that 
+    thread_record-&gt;thread_id as identification. I.e., the first thread that 
     calls allocate will get the first record in this list and thus be thread
     number 1 and will then find the pointer to its first free 32 byte block
     in _S_bin[ 5 ].first[ 1 ]
@@ -140,12 +143,12 @@ The _S_init() function:
 </p>
 <p>
   - Initialize the free and used counters of each bin_record:
-    - bin_record->free = An array of size_t. This keeps track of the number
+    - bin_record-&gt;free = An array of size_t. This keeps track of the number
       of blocks on a specific thread's freelist in each bin. I.e., if a thread
       has 12 32-byte blocks on it's freelists and allocates one of these, this
       counter would be decreased to 11.
 
-    - bin_record->used = An array of size_t. This keeps track of the number
+    - bin_record-&gt;used = An array of size_t. This keeps track of the number
       of blocks currently in use of this size by this thread. I.e., if a thread
       has made 678 requests (and no deallocations...) of 32-byte blocks this
       counter will read 678.
@@ -155,7 +158,7 @@ The _S_init() function:
 </p>
 <p>
   - Initialize the mutex of each bin_record:
-    The bin_record->mutex is used to protect the global freelist. This concept
+    The bin_record-&gt;mutex is used to protect the global freelist. This concept
     of a global freelist is explained in more detail in the section
     "A multi threaded example", but basically this mutex is locked whenever 
     a block of memory is retrieved or returned to the global freelist for this
@@ -194,7 +197,7 @@ This is the first two blocks in freelist for thread id 3 in bin 3 (8 bytes):
 |                |  |
 +----------------+  |
 +----------------+  |
-| next*          |<-+  (If next == NULL it's the last one on the list)
+| next*          |&lt;-+  (If next == NULL it's the last one on the list)
 |                |
 |                |
 |                |
@@ -223,7 +226,7 @@ assigned this id since they span from 1 to _S_max_threads in a MT application).
 </p>
 <p>
 When the application requests memory (calling allocate()) we first look at the
-requested size and if this is > _S_max_bytes we call new() directly and return.
+requested size and if this is &gt; _S_max_bytes we call new() directly and return.
 </p>
 <p>
 If the requested size is within limits we start by finding out from which 
@@ -297,7 +300,7 @@ not when a deallocation occurs.
 
 <p>
 When the application requests memory (calling allocate()) we first
-look at the requested size and if this is > _S_max_bytes we call new()
+look at the requested size and if this is &gt; _S_max_bytes we call new()
 directly and return.
 </p>