23 Commits

Author SHA1 Message Date
Daniel James
cf529e496a Movable unordered containers, full support only for compilers with rvalue references.
Merged revisions 44076-44414 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/trunk

........
  r44076 | danieljames | 2008-04-06 20:41:19 +0100 (Sun, 06 Apr 2008) | 1 line
  
  Move semantics for compilers with rvalue references.
........
  r44077 | danieljames | 2008-04-06 20:48:59 +0100 (Sun, 06 Apr 2008) | 1 line
  
  Do move assignment 'properly'.
........
  r44085 | danieljames | 2008-04-06 22:46:04 +0100 (Sun, 06 Apr 2008) | 1 line
  
  Use normal references for the move members, reset the source buckets_ pointer to stop the buckets getting deleted, and remove a superflous pointer check.
........
  r44109 | danieljames | 2008-04-07 23:49:36 +0100 (Mon, 07 Apr 2008) | 1 line
  
  Add missing tests.
........
  r44366 | danieljames | 2008-04-13 12:59:46 +0100 (Sun, 13 Apr 2008) | 1 line
  
  Avoid using rvalue references in the implementation files.
........
  r44368 | danieljames | 2008-04-13 15:13:33 +0100 (Sun, 13 Apr 2008) | 6 lines
  
  Use a cut down version of the work in progress move library to implement move
  semantics on more compilers. Unfortunately the move constructor with allocator
  isn't really practical at the moment, since in the case where the container
  can't be moved, and the allocators aren't equal it will copy the container
  twice.
........


[SVN r44486]
2008-04-17 07:34:15 +00:00
Daniel James
5989e9227c Add the new allocator constructors, use composition instead of inheritance for the implementation and some small fixes.
Merged revisions 43922,43962,43966,43971,43981,43995-43996,44042,44046-44048,44057 via svnmerge from 
https://svn.boost.org/svn/boost/branches/unordered/trunk

........
  r43922 | danieljames | 2008-03-29 14:55:59 +0000 (Sat, 29 Mar 2008) | 1 line
  
  Fix some typos in the reference documentation.
........
  r43962 | danieljames | 2008-03-31 18:29:59 +0100 (Mon, 31 Mar 2008) | 1 line
  
  Add a name variable to the release script, so that I can have different release names in different branches.
........
  r43966 | danieljames | 2008-03-31 18:43:16 +0100 (Mon, 31 Mar 2008) | 1 line
  
  Fix the image directory for standalone docs.
........
  r43971 | danieljames | 2008-03-31 19:17:25 +0100 (Mon, 31 Mar 2008) | 1 line
  
  Fix the unordered stylesheet.
........
  r43981 | danieljames | 2008-04-01 13:31:26 +0100 (Tue, 01 Apr 2008) | 2 lines
  
  Cast the pointer in the Visual C++ 6.5 _Charalloc method.
........
  r43995 | danieljames | 2008-04-02 12:50:27 +0100 (Wed, 02 Apr 2008) | 1 line
  
  Try using the interprocess containers for testing. Compilation is a bit slower but hopefully I'll run into less cross-platform problems.
........
  r43996 | danieljames | 2008-04-02 13:25:49 +0100 (Wed, 02 Apr 2008) | 1 line
  
  Revert my experiment with the interprocess containers. It didn't work out.
........
  r44042 | danieljames | 2008-04-04 20:38:09 +0100 (Fri, 04 Apr 2008) | 1 line
  
  Make hash table data a member of hash table, instead of a base.
........
  r44046 | danieljames | 2008-04-05 12:38:05 +0100 (Sat, 05 Apr 2008) | 1 line
  
  Remove rvalue_ref from Jamfile.v2 - I didn't mean to check it in.
........
  r44047 | danieljames | 2008-04-05 12:39:38 +0100 (Sat, 05 Apr 2008) | 1 line
  
  New constructors with allocators.
........
  r44048 | danieljames | 2008-04-05 12:58:11 +0100 (Sat, 05 Apr 2008) | 1 line
  
  Document the new constructors.
........
  r44057 | danieljames | 2008-04-05 17:08:23 +0100 (Sat, 05 Apr 2008) | 1 line
  
  Fix some bugs in the exception testing code.
........


[SVN r44417]
2008-04-14 15:10:26 +00:00
Daniel James
6aa582a90e Merged revisions 43838-43894 via svnmerge from
https://svn.boost.org/svn/boost/branches/unordered/trunk

........
  r43840 | danieljames | 2008-03-24 17:25:07 +0000 (Mon, 24 Mar 2008) | 1 line
  
  Fix a g++ warning.
........
  r43844 | danieljames | 2008-03-24 17:56:28 +0000 (Mon, 24 Mar 2008) | 1 line
  
  It's a new-ish year.
........
  r43885 | danieljames | 2008-03-27 20:36:10 +0000 (Thu, 27 Mar 2008) | 1 line
  
  The release script doesn't need to copy images and css - because that's now done in the jamfiles. Also tweak the shell script a tad bit.
........
  r43890 | danieljames | 2008-03-27 23:01:40 +0000 (Thu, 27 Mar 2008) | 1 line
  
  Starting to add a docbook bibliography.
........
  r43894 | danieljames | 2008-03-27 23:24:18 +0000 (Thu, 27 Mar 2008) | 1 line
  
  Redeclare 'data' in iterator_base to help compilers which have trouble with accessing the nested typedef.
........


[SVN r43895]
2008-03-27 23:38:01 +00:00
Daniel James
7fd651ff75 Add library identification.
[SVN r42538]
2008-01-06 17:45:18 +00:00
Daniel James
184a38fee1 Use BOOST_DEDUCED_TYPENAME in unordered_set.hpp and unordered_map.hpp
[SVN r42207]
2007-12-20 19:16:30 +00:00
Daniel James
a68da27339 Merge: Support for cbegin(n), cend(n).
[SVN r42188]
2007-12-19 23:13:20 +00:00
Daniel James
56f91ea407 Use pre-review copy of unordered for trunk.
[SVN r42183]
2007-12-19 22:42:12 +00:00
Daniel James
3002a898a0 If the containers have equality comparisons, they'll also need 'hash_value'. Untested and undocumented, as before.
[SVN r42108]
2007-12-16 18:20:25 +00:00
Daniel James
c918da0249 operator== work in progress, undocumented and untested.
[SVN r42106]
2007-12-16 17:48:25 +00:00
Daniel James
1bb2dc4883 Support for cbegin(n), cend(n).
[SVN r42103]
2007-12-16 13:32:04 +00:00
Daniel James
50c629dcb0 Change insert/erase as specified in n2369, the implementation and tests.
I accidently only checked in the documentation from these changes in the
last check in. This contains the rest of it.


[SVN r39950]
2007-10-11 23:49:31 +00:00
Daniel James
df1e1598a5 Import latest changes to the unordered containers. Includes:
Copyright update.
Switch back to the version where the sentinel points to itself.
Remove alternative versions of swap.
Workaround a borland bug or two.
More consistent use of class/swap/template.
Avoid a few warnings.
Add a no-throw swap to the allocator for exception testing.


[SVN r3793]
2007-03-18 20:00:59 +00:00
Daniel James
9e51e23cea Remove some of the old doxygen stuff from the unordered container header files
as I'm not using doxygen.


[SVN r3618]
2007-01-10 00:03:26 +00:00
Daniel James
cb578defef Update copyright.
[SVN r3043]
2006-07-01 22:34:48 +00:00
Daniel James
9bd73e4ba7 New version of the unordered associative containers, with a more efficient data
structure for unordered_multimap/unordered_multiset that uses an extra
pointer per node but makes most operations more efficient when equivalent
nodes are present.

Now uses macros instead of template metaprogramming to implement the
differences between containers with equivalent and unique keys.

Removed the erase_iterator stuff which complicated matters more than it helped.
Now just using pointers with some helper functions.


[SVN r2950]
2006-05-07 13:24:17 +00:00
Daniel James
13f2fbaf00 Update unordered container links to the new draft standard.
[SVN r2948]
2006-04-30 15:00:11 +00:00
Daniel James
0fcb2d8041 Add cbegin() and cend() from the new draft standard to the unordered containers.
The standard doesn't add them for local iterators, but I'm guessing that's an
oversight. So for now, I've hidden them behind a preprocessor condition. Which
I'll probably remove before review.


[SVN r2944]
2006-04-30 14:11:47 +00:00
Daniel James
ed6df529e4 Remove non-ascii copyright characters and the old filenames from the start of
the unordered container headers.


[SVN r2924]
2006-04-17 11:11:49 +00:00
Daniel James
1cbb7f6e57 Re-introduce the non const overloads of begin and end for unordered_set and
unordered_multiset. I thought the proposed resolution for issue 528 allowed
them to be removed, but re-reading it, it only allows signatures that are
'otherwise indistinguishable', and they are not.


[SVN r2923]
2006-04-17 11:06:08 +00:00
Daniel James
e8faab1268 Update the unordered containers' iterator overloads for the more recent versions of TR1.
[SVN r2921]
2006-04-17 08:45:32 +00:00
Daniel James
ee93aad35a New version of the unordered containers. Includes workarounds for older
compilers. Also follows the exception requirements closer.


[SVN r2875]
2006-02-26 18:33:49 +00:00
Daniel James
78e843f3cb Update the links in the unordered headers.
[SVN r2676]
2005-08-04 22:45:46 +00:00
Daniel James
f6a60033e3 Check in unordered associative containers. I haven't looked at these for ages
but they pass my unit tests so they should be okay.


[SVN r2585]
2005-04-24 14:23:24 +00:00