Boost logo

Boost-Commit :

From: daniel_james_at_[hidden]
Date: 2007-10-11 19:51:29


Author: danieljames
Date: 2007-10-11 19:51:29 EDT (Thu, 11 Oct 2007)
New Revision: 39951
URL: http://svn.boost.org/trac/boost/changeset/39951

Log:
Update the unordered containers' documentation and notes for the most recent papers from the C++ working group - will probably have to do this again in a few weeks.
Text files modified:
   sandbox/unordered/boost/unordered/detail/hash_table_impl.hpp | 3 ---
   sandbox/unordered/libs/unordered/doc/intro.qbk | 10 ++++++----
   sandbox/unordered/libs/unordered/doc/rationale.qbk | 18 +++++++++++++++++-
   sandbox/unordered/libs/unordered/doc/ref.xml | 8 ++++----
   4 files changed, 27 insertions(+), 12 deletions(-)

Modified: sandbox/unordered/boost/unordered/detail/hash_table_impl.hpp
==============================================================================
--- sandbox/unordered/boost/unordered/detail/hash_table_impl.hpp (original)
+++ sandbox/unordered/boost/unordered/detail/hash_table_impl.hpp 2007-10-11 19:51:29 EDT (Thu, 11 Oct 2007)
@@ -876,9 +876,6 @@
 
             // Erase
             //
- // Return type of erase(const_iterator):
- // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1753.html#130
- //
             // no throw
 
             iterator_base erase(iterator_base r)

Modified: sandbox/unordered/libs/unordered/doc/intro.qbk
==============================================================================
--- sandbox/unordered/libs/unordered/doc/intro.qbk (original)
+++ sandbox/unordered/libs/unordered/doc/intro.qbk 2007-10-11 19:51:29 EDT (Thu, 11 Oct 2007)
@@ -3,13 +3,13 @@
  / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ]
 
 [def __tr1__
- [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2009.pdf
+ [@www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf
     C++ Standard Library Technical Report]]
 [def __boost-tr1__
     [@http://www.boost.org/doc/html/boost_tr1.html
     Boost.TR1]]
 [def __draft__
- [@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2009.pdf
+ [@http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2369.pdf
     Working Draft of the C++ Standard]]
 [def __hash-table__ [@http://en.wikipedia.org/wiki/Hash_table
     hash table]]
@@ -34,8 +34,10 @@
 So the __tr1__ introduced the unordered associative containers, which are
 implemented using hash tables, and they have now been added to the __draft__.
 
-This library supplies a standards compliant implementation that is proposed for
-addition to boost. If accepted they should also be added to __boost-tr1__.
+This library supplies an almost complete implementation of the specification in
+the __draft__, (it doesn't support `emplace` yet, see the [link
+unordered.rationale.future_developments Implementation Rationale] section for more
+details). If accepted the containers should also be added to __boost-tr1__.
 
 `unordered_set` and `unordered_multiset` are defined in the header
 <[headerref boost/unordered_set.hpp]>

Modified: sandbox/unordered/libs/unordered/doc/rationale.qbk
==============================================================================
--- sandbox/unordered/libs/unordered/doc/rationale.qbk (original)
+++ sandbox/unordered/libs/unordered/doc/rationale.qbk 2007-10-11 19:51:29 EDT (Thu, 11 Oct 2007)
@@ -5,6 +5,12 @@
 [def __wang__
     [@http://www.concentric.net/~Ttwang/tech/inthash.htm
     Thomas Wang's article on integer hash functions]]
+[def __n2345__
+ [@http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2345.pdf
+ the August 2008 version of the working draft standard]]
+[def __n2369__
+ [@http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2369.pdf
+ the August 2008 version of the working draft standard]]
 
 [section:rationale Implementation Rationale]
 
@@ -98,7 +104,7 @@
 This proposal suggests removing the `construct`, `destroy` and `address`
 member functions - all of which Boost.Unordered calls. It's near trivial
 to replace the calls with the appropriate code - and will simplify the
-implementation.
+implementation, as well as make supporting `emplace` easier.
 
 [h3 [@http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-active.html#431
     431. Swapping containers with unequal allocators]]
@@ -120,4 +126,14 @@
 
 The current proposal is that insert, erase and rehash are stable - so they are here.
 
+[h2 Future Developments]
+
+[h3 Support for `emplace`]
+
+In __n2369__ a new member function, `emplace` was added to the containers to
+allow placement insert, as described in __n2345__. To fully implement this
+`std::forward` is required, along with new functions in `std::allocator` and
+new constructors in `std::pair`. But partial support is possible - especially
+if I don't use the `construct` member of allocators.
+
 [endsect]

Modified: sandbox/unordered/libs/unordered/doc/ref.xml
==============================================================================
--- sandbox/unordered/libs/unordered/doc/ref.xml (original)
+++ sandbox/unordered/libs/unordered/doc/ref.xml 2007-10-11 19:51:29 EDT (Thu, 11 Oct 2007)
@@ -34,7 +34,7 @@
           </purpose>
           <description>
             <para>For the normative reference see chapter 23 of
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2009.pdf">the working draft of the C++ standard [n2009].</ulink></para>
+ <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2369.pdf">the working draft of the C++ standard [n2369].</ulink></para>
             <para><emphasis role="bold">Template Parameters</emphasis>
               <informaltable>
                 <tgroup cols="2">
@@ -617,7 +617,7 @@
           </purpose>
           <description>
             <para>For the normative reference see chapter 23 of
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2009.pdf">the working draft of the C++ standard [n2009].</ulink></para>
+ <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2369.pdf">the working draft of the C++ standard [n2369].</ulink></para>
             <para><emphasis role="bold">Template Parameters</emphasis>
               <informaltable>
                 <tgroup cols="2">
@@ -1209,7 +1209,7 @@
           </purpose>
           <description>
             <para>For the normative reference see chapter 23 of
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2009.pdf">the working draft of the C++ standard [n2009].</ulink></para>
+ <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2369.pdf">the working draft of the C++ standard [n2369].</ulink></para>
             <para><emphasis role="bold">Template Parameters</emphasis>
               <informaltable>
                 <tgroup cols="2">
@@ -1820,7 +1820,7 @@
           </purpose>
           <description>
             <para>For the normative reference see chapter 23 of
- <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2009.pdf">the working draft of the C++ standard [n2009].</ulink></para>
+ <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2369.pdf">the working draft of the C++ standard [n2369].</ulink></para>
             <para><emphasis role="bold">Template Parameters</emphasis>
               <informaltable>
                 <tgroup cols="2">


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