|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r53847 - sandbox/monotonic/libs/monotonic/doc
From: christian.schladetsch_at_[hidden]
Date: 2009-06-13 00:21:27
Author: cschladetsch
Date: 2009-06-13 00:21:26 EDT (Sat, 13 Jun 2009)
New Revision: 53847
URL: http://svn.boost.org/trac/boost/changeset/53847
Log:
clean up of HTML, added references and case against providing wrapped containers.
Text files modified:
sandbox/monotonic/libs/monotonic/doc/index.html | 31 ++++++++++++++++++++++++++++---
1 files changed, 28 insertions(+), 3 deletions(-)
Modified: sandbox/monotonic/libs/monotonic/doc/index.html
==============================================================================
--- sandbox/monotonic/libs/monotonic/doc/index.html (original)
+++ sandbox/monotonic/libs/monotonic/doc/index.html 2009-06-13 00:21:26 EDT (Sat, 13 Jun 2009)
@@ -49,8 +49,9 @@
this way, for example a std::map<K,T> can use storage from the stack rather than
fragmenting the heap. </p>
<p>
- There are many uses for such a system, including per-frame containers and
- efficient containers for use in recursion. </p>
+ There are many uses for such a system, including per-frame containers,
+ efficient use containers for use in recursion, and reducing or removing heap
+ fragmentation. </p>
<p>
It is a fast allocation system, with the downside
that the resident set size can only grow in size. Hence the proposed name of a
@@ -112,6 +113,13 @@
</li>
</ul>
<h3 id="Containers">
+ Allocator</h3>
+ <p>
+ boost::monotonic::allocator<T> provides a means for a set of containers to share
+ a memory buffer that may be on the stack or on the heap. Allocations performed
+ by this allocator are aligned (thanks Artyom, Thorsten!); de-allocations
+ requested by this allocator do nothing.</p>
+ <h3>
Containers
</h3>
<p>
@@ -155,6 +163,20 @@
<pre>}; </pre>
</div>
<h2 id="ExampleUsage">
+ Memory Fragmentation</h2>
+ <p>
+ The proposed system can be used to reduce memory fragmentation, or remove it
+ completely. For example:</p>
+ <pre>void Mainloop()
+{
+ boost::monotonic::storage<100000> storage;
+ for (;;)
+ {
+ DoStuff(storage);
+ storage.reset();
+ }
+}</pre>
+ <h2>
Example Usage
</h2>
<p>
@@ -277,7 +299,10 @@
<h2>
References</h2>
<ul class="simple">
- <li><none></li>
+ <li>Boost.AlignedMemory</li>
+ <li>Boost.AutoBuffer (Proposed)</li>
+ <li>Boost.IntrusiveContainer, for an alternative means of creating efficient
+ containers.</li>
</ul>
</div>
</div>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk