Daniel James
d14c1dec59
Revert "Allocator aware constructors."
...
This reverts commit b00bc15c3e .
I messed that up a bit, will get back to it later.
2016-10-03 20:58:15 +01:00
Daniel James
21d6d7bc21
Fix detection of is_nothrow_move_constructible support.
...
I should possibly also check how it handles `throw()`?
2016-10-03 10:49:49 +01:00
Daniel James
ff0228e752
Support for std::piecewise_construct.
2016-10-02 17:56:01 +01:00
Daniel James
b00bc15c3e
Allocator aware constructors.
2016-10-02 17:56:01 +01:00
Daniel James
50c4cbe06c
Try to fix the failures in noxcept_tests
2016-10-02 13:04:25 +01:00
Daniel James
573e10665c
Use standard boost move style in noexcept_tests.
2016-10-02 13:04:25 +01:00
Daniel James
d0acb81f2e
Release notes for latest changes.
2016-10-02 13:04:25 +01:00
Daniel James
e7b20d2877
Fix exception bug in asssignment.
...
The hash and key equality functions were assigned before allocating new
buckets. If that allocation failed, then the existing elements would be
left in place - so if accessed after the exception they could be in the
wrong buckets or equivalent elements could be incorrectly grouped
together.
2016-10-02 13:04:25 +01:00
Daniel James
588ad6e69f
Travis tests in 32 and 64 bit.
2016-10-01 14:04:01 +01:00
Daniel James
98462fbcc3
Avoid conversion warning.
2016-10-01 13:53:05 +01:00
Daniel James
a93331dd96
Fix new emplace tests.
2016-10-01 13:51:25 +01:00
Daniel James
e174af2286
Try not using boost::forward in emplace_args constructor.
...
AFAICT it's not needed since the construct arguments and the members are
the same reference type. Maybe it was for older compilers? And it appears
to be causing issues with string literals in older versions of Visual
C++.
2016-09-30 00:32:19 +01:00
Daniel James
9decbe0cbd
Manually write out emplace_args for small numbers.
...
Still need some macros to handle rvalue reference support.
2016-09-30 00:32:19 +01:00
Daniel James
021817f2b4
Fix Visual C++ version number + use BOOST_WORKAROUND.
2016-09-18 22:56:23 +01:00
Daniel James
13ff69efbf
Make 'ordered' container independent.
2016-09-18 12:22:48 +01:00
Daniel James
8fda9113b8
Make 'has_unique_keys' container independent.
2016-09-18 12:22:48 +01:00
Daniel James
b881bcfee3
More insert and erase tests
2016-09-18 12:22:48 +01:00
Daniel James
1c606980ec
Update tests for standard changes involving bucket count.
...
It seems my defect report was accepted at some point, and they tweaked
the requirements involving bucket counts. This also makes it possible to
have a bucket count of 0, which I think wasn't allowed in the past. I
don't think I'll change this implementation to do so, but I'd like to be
able to run these tests against standard implementations, so I'm
starting to take that into account.
I believe these changes were made after the C++14 standard, but I've
always been tracking the draft standards, so that doesn't really matter.
2016-09-18 12:22:48 +01:00
Daniel James
0d6e58d9fd
Write out some compiler info before test results.
2016-09-18 12:22:48 +01:00
Daniel James
95e477902e
Special case for Visual C++ 12 test failure.
...
Plus some extra tests while I'm at it.
2016-09-18 10:28:21 +01:00
Daniel James
cc32bfb96f
Pointless change to extract_key.
2016-09-07 09:26:25 +01:00
Daniel James
7c2f11f8e1
Fix signed/unsigned comparisons.
2016-09-07 09:26:25 +01:00
Daniel James
d08dcb7465
Run xmllint over reference docs in travis.
2016-09-07 09:26:25 +01:00
Daniel James
2d1d6ccd75
Try using boost 1.61.0 in travis
2016-09-04 10:38:13 +01:00
Daniel James
7f380028cc
Hint iterator support was too late for 1.62.0
2016-09-04 10:38:13 +01:00
Daniel James
827f77729f
Merge branch 'fixes' into develop
2016-09-04 10:37:38 +01:00
Daniel James
6c81de37f5
Fix closing tag.
2016-09-04 10:37:15 +01:00
Daniel James
86a8a0429a
Merge branch 'fixes' into develop
2016-09-04 08:23:52 +01:00
Daniel James
4b00548138
Test+document insertion from initializer lists.
2016-09-04 08:23:32 +01:00
Daniel James
8bb9473443
Document assignment from initializer list.
2016-09-04 08:23:31 +01:00
Daniel James
da7a5bf269
Fix insert from range documentation.
...
Was the same for containers with unique and equivalent keys.
2016-09-04 08:23:31 +01:00
Daniel James
7434e116a7
Try using boost::long_long_type to avoid warning.
2016-08-29 23:03:06 +01:00
Daniel James
9debeadee7
Fix some test warnings.
...
And turn on warnings as errors in Travis.
2016-08-17 12:08:16 +01:00
Daniel James
cae72eec2f
Insert/emplace with hint.
2016-08-17 12:08:15 +01:00
Daniel James
e58370b4ff
Move emplace before emplace_impl in equivalent.hpp
2016-08-17 12:08:15 +01:00
Daniel James
e92f7d86c1
Remove array_constructor.
...
I was using SFINAE for everything because some old compilers had issues.
But that's hopefully in the distant past now.
2016-08-14 20:55:40 +01:00
Daniel James
93a33ba15f
Remove a couple of unneeded includes.
2016-08-14 20:55:40 +01:00
Daniel James
ad353c8e3d
Move some of the includes up into allocate.hpp
2016-08-14 20:55:40 +01:00
Daniel James
09717ffca4
Remove a few unnecessary internal includes.
2016-08-14 20:55:40 +01:00
Daniel James
ce4b840299
Map/set details types in individual headers.
2016-08-14 20:55:40 +01:00
Daniel James
5a8df0ebe4
Hopefully a bit more readable.
2016-08-14 20:55:40 +01:00
Daniel James
6029d1cfd0
Trim down node_tmp code.
2016-08-14 20:55:40 +01:00
Daniel James
3fe46a1769
Cleaner emplace_impl in equivalent.
2016-08-14 20:55:40 +01:00
Daniel James
5490bcfe95
Remove node_tmp overload of add_node.
2016-08-14 20:55:40 +01:00
Daniel James
078c562b6c
Pull some common code into a function.
2016-08-14 20:55:40 +01:00
Daniel James
88612a8be4
Less faffing around with node_constructor.
2016-08-14 20:55:40 +01:00
Daniel James
37a6903831
Move node construction into allocate.hpp
2016-08-14 20:55:40 +01:00
Daniel James
8017d9e684
Change how node construction works.
...
Split node_constructor into two classes, one for constructing a node
without a value, and then another for holding it once the value is
constructed.
Do the work of constructing values in convenience functions in
allocate.hpp (construct_value_generic, construct_value, construct_pair).
2016-08-14 20:55:40 +01:00
Daniel James
609ae6cb4e
Expand out fill_buckets.
2016-08-14 20:55:40 +01:00
Daniel James
992f9ccf21
Turn off memory sanitizer on travis.
...
It's not working at all.
2016-08-14 20:39:46 +01:00