|
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