|
Boost-Commit : |
From: nesotto_at_[hidden]
Date: 2008-07-16 16:05:44
Author: nesotto
Date: 2008-07-16 16:05:43 EDT (Wed, 16 Jul 2008)
New Revision: 47486
URL: http://svn.boost.org/trac/boost/changeset/47486
Log:
doc update
Text files modified:
trunk/libs/ptr_container/doc/guidelines.html | 2
trunk/libs/ptr_container/doc/guidelines.rst | 2
trunk/libs/ptr_container/doc/headers.html | 7 ++++-
trunk/libs/ptr_container/doc/headers.rst | 2 +
trunk/libs/ptr_container/doc/ptr_container.html | 37 +++++++++++++++++++++++++++----
trunk/libs/ptr_container/doc/ptr_container.rst | 47 ++++++++++++++++++++++++++++++++++-----
6 files changed, 82 insertions(+), 15 deletions(-)
Modified: trunk/libs/ptr_container/doc/guidelines.html
==============================================================================
--- trunk/libs/ptr_container/doc/guidelines.html (original)
+++ trunk/libs/ptr_container/doc/guidelines.html 2008-07-16 16:05:43 EDT (Wed, 16 Jul 2008)
@@ -304,7 +304,7 @@
</div>
<div class="section">
<h1><a class="toc-backref" href="#id8" id="choosing-the-right-container" name="choosing-the-right-container">Choosing the right container</a></h1>
-<p>The recommended usage pattern of the container classes are the same as the
+<p>The recommended usage pattern of the container classes is the same as
for normal standard containers.</p>
<p><tt class="docutils literal"><span class="pre">ptr_vector</span></tt>, <tt class="docutils literal"><span class="pre">ptr_list</span></tt> and <tt class="docutils literal"><span class="pre">ptr_deque</span></tt> offer the programmer different
complexity tradeoffs and should be used accordingly. <tt class="docutils literal"><span class="pre">ptr_vector</span></tt> is the
Modified: trunk/libs/ptr_container/doc/guidelines.rst
==============================================================================
--- trunk/libs/ptr_container/doc/guidelines.rst (original)
+++ trunk/libs/ptr_container/doc/guidelines.rst 2008-07-16 16:05:43 EDT (Wed, 16 Jul 2008)
@@ -13,7 +13,7 @@
Choosing the right container
----------------------------
-The recommended usage pattern of the container classes are the same as the
+The recommended usage pattern of the container classes is the same as
for normal standard containers.
``ptr_vector``, ``ptr_list`` and ``ptr_deque`` offer the programmer different
Modified: trunk/libs/ptr_container/doc/headers.html
==============================================================================
--- trunk/libs/ptr_container/doc/headers.html (original)
+++ trunk/libs/ptr_container/doc/headers.html 2008-07-16 16:05:43 EDT (Wed, 16 Jul 2008)
@@ -292,8 +292,8 @@
<h2 class="subtitle" id="library-headers">Library headers</h2>
<table border="1" class="docutils">
<colgroup>
-<col width="34%" />
-<col width="66%" />
+<col width="29%" />
+<col width="71%" />
</colgroup>
<tbody valign="top">
<tr><td><strong>Header</strong></td>
@@ -323,6 +323,9 @@
<td>classes <a class="reference" href="ptr_map.html">ptr_map</a> and <a class="reference" href="ptr_multimap.html">ptr_multimap</a>
(and <tt class="docutils literal"><span class="pre">std::map</span></tt> and <tt class="docutils literal"><span class="pre">std::multimap</span></tt>)</td>
</tr>
+<tr><td><tt class="docutils literal"><span class="pre"><boost/ptr_container/ptr_inserter.hpp></span></tt></td>
+<td>functions <a class="reference" href="ptr_inserter.html">ptr_back_inserter</a>, <a class="reference" href="ptr_inserter.html">ptr_front_inserter</a> and <a class="reference" href="ptr_inserter.html">ptr_inserter</a></td>
+</tr>
<tr><td><tt class="docutils literal"><span class="pre"><boost/ptr_container/ptr_container.hpp></span></tt></td>
<td>all classes</td>
</tr>
Modified: trunk/libs/ptr_container/doc/headers.rst
==============================================================================
--- trunk/libs/ptr_container/doc/headers.rst (original)
+++ trunk/libs/ptr_container/doc/headers.rst 2008-07-16 16:05:43 EDT (Wed, 16 Jul 2008)
@@ -28,6 +28,8 @@
``<boost/ptr_container/ptr_map.hpp>`` classes `ptr_map <ptr_map.html>`_ and `ptr_multimap <ptr_multimap.html>`_
(and ``std::map`` and ``std::multimap``)
+``<boost/ptr_container/ptr_inserter.hpp>`` functions `ptr_back_inserter <ptr_inserter.html>`_, `ptr_front_inserter <ptr_inserter.html>`_ and `ptr_inserter <ptr_inserter.html>`_
+
``<boost/ptr_container/ptr_container.hpp>`` all classes
``<boost/ptr_container/ptr_sequence_adapter.hpp>`` class `ptr_sequence_adapter <ptr_sequence_adapter.html>`_
Modified: trunk/libs/ptr_container/doc/ptr_container.html
==============================================================================
--- trunk/libs/ptr_container/doc/ptr_container.html (original)
+++ trunk/libs/ptr_container/doc/ptr_container.html 2008-07-16 16:05:43 EDT (Wed, 16 Jul 2008)
@@ -325,6 +325,7 @@
<li><a class="reference" href="faq.html">FAQ</a></li>
<li><a class="reference" href="#upgrading-from-boost-v-1-33">Upgrading from Boost v. 1.33.*</a></li>
<li><a class="reference" href="#upgrading-from-boost-v-1-34">Upgrading from Boost v. 1.34.*</a></li>
+<li><a class="reference" href="#upgrading-from-boost-v-1-35">Upgrading from Boost v. 1.35.*</a></li>
<li><a class="reference" href="#future-developments">Future Developments</a></li>
<li><a class="reference" href="#acknowledgements">Acknowledgements</a></li>
<li><a class="reference" href="#references">References</a></li>
@@ -401,7 +402,7 @@
</ol>
<!-- -->
<ol class="arabic simple" start="8">
-<li>Built-in support for deep-copy semantics via the <a class="reference" href="reference.html#the-cloneable-concept">the Cloneable concept</a></li>
+<li>Built-in support for deep-copy semantics via the <a class="reference" href="reference.html#the-clonable-concept">the Clonable concept</a></li>
</ol>
<p>The disadvantages are</p>
<ol class="arabic simple">
@@ -455,7 +456,7 @@
</div>
<div class="section">
<h1><a id="upgrading-from-boost-v-1-34" name="upgrading-from-boost-v-1-34">Upgrading from Boost v. <tt class="docutils literal"><span class="pre">1.34.*</span></tt></a></h1>
-<p>Serialization have now been made optional thanks to Sebastian Ramacher.
+<p>Serialization has now been made optional thanks to Sebastian Ramacher.
You simply include <tt class="docutils literal"><span class="pre"><boost/ptr_container/serialize.hpp></span></tt> or perhaps
just one of the more specialized headers.</p>
<p>All containers are now copy-constructible and assignable. So you can e.g. now
@@ -472,7 +473,7 @@
const VoidPtrContainer& base() const;
</pre>
<p>These allow direct access to the wrapped container which is
-somtimes needed when you want to provide extra functionality.</p>
+sometimes needed when you want to provide extra functionality.</p>
<p>A few new functions have been added to sequences:</p>
<pre class="literal-block">
void resize( size_type size );
@@ -483,18 +484,44 @@
void transfer( iterator before, T** from, size_type size, bool delete_from = true );
T** c_array();
</pre>
-<p>Finally you can now also "copy" and "assign" an <tt class="docutils literal"><span class="pre">auto_type</span></tt> ptr by calling <tt class="docutils literal"><span class="pre">move()</span></tt>:</p>
+<p>Finally, you can now also "copy" and "assign" an <tt class="docutils literal"><span class="pre">auto_type</span></tt> ptr by calling <tt class="docutils literal"><span class="pre">move()</span></tt>:</p>
<pre class="literal-block">
boost::ptr_vector<T>::auto_type move_ptr = ...;
return boost::ptr_container::move( move_ptr );
</pre>
</div>
<div class="section">
+<h1><a id="upgrading-from-boost-v-1-35" name="upgrading-from-boost-v-1-35">Upgrading from Boost v. <tt class="docutils literal"><span class="pre">1.35.*</span></tt></a></h1>
+<p>The library has been fairly stable, but a few new containers have been supported:</p>
+<ul class="simple">
+<li><tt class="docutils literal"><span class="pre">boost::ptr_unordered_set<T></span></tt> in <tt class="docutils literal"><span class="pre"><boost/ptr_container/ptr_unordered_set.hpp></span></tt></li>
+<li><tt class="docutils literal"><span class="pre">boost::ptr_unordered_map<Key,T></span></tt> in <tt class="docutils literal"><span class="pre"><boost/ptr_container/ptr_unordered_map.hpp></span></tt></li>
+<li><tt class="docutils literal"><span class="pre">boost::ptr_circular_buffer<T></span></tt> in <tt class="docutils literal"><span class="pre"><boost/ptr_container/ptr_circular_buffer.hpp></span></tt></li>
+</ul>
+<p>There are no docs for these classes yet, but they are almost identical to
+<tt class="docutils literal"><span class="pre">boost::ptr_set<T></span></tt>, <tt class="docutils literal"><span class="pre">boost::ptr_map<Key,T></span></tt> and <tt class="docutils literal"><span class="pre">boost::ptr_array<T,N></span></tt>, respectively.
+The underlying containers stem from the two boost libraries</p>
+<ul class="simple">
+<li><a class="reference" href="../../unordered/index.html">Boost.Unordered</a></li>
+<li><a class="reference" href="../../circular_buffer/index.html">Boost.Circular Buffer</a></li>
+</ul>
+<p>Furthermore, <a class="reference" href="ptr_inserter.html">insert iterators</a> have been added.</p>
+</div>
+<div class="section">
<h1><a id="future-developments" name="future-developments">Future Developments</a></h1>
<p>There are indications that the <tt class="docutils literal"><span class="pre">void*</span></tt> implementation has a slight
performance overhead compared to a <tt class="docutils literal"><span class="pre">T*</span></tt> based implementation. Furthermore, a
<tt class="docutils literal"><span class="pre">T*</span></tt> based implementation is so much easier to use type-safely
with algorithms. Therefore I anticipate to move to a <tt class="docutils literal"><span class="pre">T*</span></tt> based implementation.</p>
+<p>Furthermore, the clone allocator might be allowed to have state.
+This design requires some thought, so if you have good ideas and use-cases'
+for this, please don't hesitate to contact me.</p>
+<p>Also, support for Boost.Interprocess is on the todo list.</p>
+<p>There has been a few request for <tt class="docutils literal"><span class="pre">boost::ptr_multi_index_container<T,...></span></tt>.
+I investigated how difficult it would be, and it did turn out to be difficult, albeit
+not impossible. But I don't have the resources to implement this beast
+for years to come, so if someone really needs this container, I suggest that they
+talk with me in private about how it can be done.</p>
</div>
<div class="section">
<h1><a id="acknowledgements" name="acknowledgements">Acknowledgements</a></h1>
@@ -515,7 +542,7 @@
<li>Pavel Chikulaev for comments and bug-fixes</li>
<li>Andreas Hommel for fixing the nasty Metrowerks bug</li>
<li>Charles Brockman for his many comments on the documentation</li>
-<li>Sebastian Ramacher for implementing the optinal serialization support</li>
+<li>Sebastian Ramacher for implementing the optional serialization support</li>
</ul>
</div>
<div class="section">
Modified: trunk/libs/ptr_container/doc/ptr_container.rst
==============================================================================
--- trunk/libs/ptr_container/doc/ptr_container.rst (original)
+++ trunk/libs/ptr_container/doc/ptr_container.rst 2008-07-16 16:05:43 EDT (Wed, 16 Jul 2008)
@@ -37,6 +37,7 @@
* FAQ_
* `Upgrading from Boost v. 1.33.*`_
* `Upgrading from Boost v. 1.34.*`_
+* `Upgrading from Boost v. 1.35.*`_
* `Future Developments`_
* Acknowledgements_
* References_
@@ -134,9 +135,9 @@
..
-8. Built-in support for deep-copy semantics via the `the Cloneable concept`__
+8. Built-in support for deep-copy semantics via the `the Clonable concept`__
-.. __: reference.html#the-cloneable-concept
+.. __: reference.html#the-clonable-concept
The disadvantages are
@@ -191,7 +192,7 @@
Upgrading from Boost v. ``1.34.*``
====================================
-Serialization have now been made optional thanks to Sebastian Ramacher.
+Serialization has now been made optional thanks to Sebastian Ramacher.
You simply include ``<boost/ptr_container/serialize.hpp>`` or perhaps
just one of the more specialized headers.
@@ -210,7 +211,7 @@
const VoidPtrContainer& base() const;
These allow direct access to the wrapped container which is
-somtimes needed when you want to provide extra functionality.
+sometimes needed when you want to provide extra functionality.
A few new functions have been added to sequences::
@@ -222,11 +223,33 @@
void transfer( iterator before, T** from, size_type size, bool delete_from = true );
T** c_array();
-Finally you can now also "copy" and "assign" an ``auto_type`` ptr by calling ``move()``::
+Finally, you can now also "copy" and "assign" an ``auto_type`` ptr by calling ``move()``::
boost::ptr_vector<T>::auto_type move_ptr = ...;
return boost::ptr_container::move( move_ptr );
+====================================
+ Upgrading from Boost v. ``1.35.*``
+====================================
+
+The library has been fairly stable, but a few new containers have been supported:
+
+- ``boost::ptr_unordered_set<T>`` in ``<boost/ptr_container/ptr_unordered_set.hpp>``
+
+- ``boost::ptr_unordered_map<Key,T>`` in ``<boost/ptr_container/ptr_unordered_map.hpp>``
+
+- ``boost::ptr_circular_buffer<T>`` in ``<boost/ptr_container/ptr_circular_buffer.hpp>``
+
+There are no docs for these classes yet, but they are almost identical to
+``boost::ptr_set<T>``, ``boost::ptr_map<Key,T>`` and ``boost::ptr_array<T,N>``, respectively.
+The underlying containers stem from the two boost libraries
+
+- `Boost.Unordered <../../unordered/index.html>`_
+
+- `Boost.Circular Buffer <../../circular_buffer/index.html>`_
+
+Furthermore, `insert iterators <ptr_inserter.html>`_ have been added.
+
=====================
Future Developments
=====================
@@ -236,6 +259,18 @@
``T*`` based implementation is so much easier to use type-safely
with algorithms. Therefore I anticipate to move to a ``T*`` based implementation.
+Furthermore, the clone allocator might be allowed to have state.
+This design requires some thought, so if you have good ideas and use-cases'
+for this, please don't hesitate to contact me.
+
+Also, support for Boost.Interprocess is on the todo list.
+
+There has been a few request for ``boost::ptr_multi_index_container<T,...>``.
+I investigated how difficult it would be, and it did turn out to be difficult, albeit
+not impossible. But I don't have the resources to implement this beast
+for years to come, so if someone really needs this container, I suggest that they
+talk with me in private about how it can be done.
+
================
Acknowledgements
================
@@ -257,7 +292,7 @@
- Pavel Chikulaev for comments and bug-fixes
- Andreas Hommel for fixing the nasty Metrowerks bug
- Charles Brockman for his many comments on the documentation
-- Sebastian Ramacher for implementing the optinal serialization support
+- Sebastian Ramacher for implementing the optional serialization support
==========
References
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