Daniel James
00a4185cf1
Reformat
2018-01-08 10:58:09 +00:00
Daniel James
ea28a3f98e
Fix conversion to bool warning
2018-01-08 10:57:28 +00:00
Daniel James
c8facc99a7
Run concurrent test processes in travis
2018-01-06 14:25:38 +00:00
Daniel James
d7ec41f4c6
Add final use of CXXSTD in travis
2018-01-06 14:14:59 +00:00
Daniel James
9f2063846b
Build b2 from the source snapshot
2018-01-06 13:38:56 +00:00
Daniel James
c05c541216
Use boost build's new cxxstd feature
2018-01-06 13:37:04 +00:00
Daniel James
34e54b35e8
Manually handle assigning hash/equality functions
2018-01-06 12:53:37 +00:00
Daniel James
f12009fc61
operator= noexcept support
2018-01-05 17:54:44 +00:00
Daniel James
5854090dc7
Swap noexcept support
...
Not properly supported as we don't have is_nothrow_swappable yet.
2018-01-05 17:48:13 +00:00
Daniel James
7e28fdd45a
Make the current function_pair public
2018-01-05 17:10:13 +00:00
Daniel James
daeaf5e98b
Flexible exception testing hash/equal_to
2018-01-05 17:10:13 +00:00
Daniel James
4bffd7a85d
Avoid some warnings
2018-01-04 18:29:31 +00:00
Daniel James
7615fabc80
Rewrite node handles using a lightweight limited optional
...
Will try to use std::optional when available. Also using
allocator_traits::is_always_equal support.
2018-01-03 23:15:55 +00:00
Daniel James
be0acc575f
Implement allocator_traits::is_always_equal
2018-01-03 20:55:40 +00:00
Daniel James
9d558b010d
Reformat
2017-12-28 11:44:57 +00:00
Daniel James
32773fb023
Merge pull request #7 from DanielaE/fix/no-iterator-inheritance
...
Inheriting std::iterator is deprecated in c++17.
2017-12-28 11:31:11 +00:00
Daniela Engert
64441d2b64
Inheriting std::iterator is deprecated in c++17.
...
Therefore get rid of all of that and replace inheritance by lifting std::iterator's members into the derived class.
Signed-off-by: Daniela Engert <dani@ngrt.de >
2017-12-28 12:01:41 +01:00
Daniel James
07758b7af8
Catch exceptions by reference
2017-12-22 17:02:13 +00:00
Daniel James
92ce66be64
Rename 'bucket' variable to avoid shadow warning
2017-12-22 16:54:05 +00:00
Daniel James
15befe998e
Rename table::get_bucket to get_bucket_pointer
...
All the other '*_bucket' methods return a bucket index.
2017-12-22 16:44:43 +00:00
Daniel James
b50e0d610f
Initial implementation of template deduction guides
2017-12-19 12:56:51 +00:00
Daniel James
f99dee1917
Use predef for detecting piecewise construction
...
And detect it for recent dinkumware.
2017-12-19 12:11:36 +00:00
Daniel James
6327d174d2
Test C++17 mode in travis
2017-12-19 12:11:35 +00:00
Daniel James
c2b9b22f67
Use 1.66.0 in tests
2017-12-19 12:10:53 +00:00
Daniel James
311e126ac4
Remove dependency on iterator
2017-12-03 18:58:52 +00:00
Daniel James
c037169e1a
Update paths for headers moved from detail
2017-12-03 14:24:47 +00:00
Daniel James
9bb861accc
Use std::advance in test::next, and use it instead of boost::next
...
Mainly to avoid warnings from boost::next
2017-12-01 08:35:38 +00:00
Daniel James
ecd5b239a4
Use appropriate snapshot when testing on travis
2017-12-01 07:57:29 +00:00
Daniel James
b90da4a802
1.66.0 release notes
2017-11-10 15:12:37 +00:00
Daniel James
c50ba694a5
Use quickbook 1.7
2017-11-10 15:12:09 +00:00
Daniel James
8f7b7ca7b3
Update clang format comment for 4.0.0
2017-10-29 16:52:46 +00:00
Daniel James
adfc7f4d5d
Generate ref.xml
2017-10-28 22:58:21 +01:00
Daniel James
9e18dc1401
Oops, fix properly
2017-10-28 17:36:25 +01:00
Daniel James
cf76763ab7
Fix node handle description
2017-10-28 17:34:28 +01:00
Daniel James
fb7ef4cf63
Build documentation using consistent ids
2017-10-25 01:16:59 +01:00
Daniel James
613f154d47
Improved test formatting
2017-10-09 12:34:47 +01:00
Daniel James
978944fab2
Use same code for move constructing all containers
...
Copies the data layout from the source, so it doesn't need to hash anything.
2017-10-05 10:56:02 +01:00
Daniel James
705e69aefd
Always call set_first_in_group
...
Probably don't need to, as we're using 0 for the first element in a group, but
it's quick so might as well.
2017-10-05 10:54:23 +01:00
Daniel James
e58081f6dc
Drop some TODOs that are okay
2017-10-05 10:54:22 +01:00
Daniel James
4ac8a45a34
The max_load issue was fixed in the standard ages ago
2017-10-05 10:54:22 +01:00
Daniel James
6b5b968b97
Format with clang-format 4.0
2017-10-05 10:54:22 +01:00
Daniel James
86df284ad4
Add explicit-failures-markup.xml
2017-10-02 17:34:51 +01:00
Chris Needham
0e19bdf50a
Documentation fixes
2017-09-07 22:56:54 +01:00
Daniel James
f72b0353d4
Shuffle code around for readability
...
The new indentation made some of the code difficult to read, especially
where macros were concerned, so move things around and add more explicit
namespace declarations.
2017-06-11 20:55:59 +01:00
Daniel James
0676b4f4ca
Change clang format indentation + .editorconfig file
2017-06-11 20:55:59 +01:00
Daniel James
5190a5d7f8
Stop dereferencing pointers to uninitialized memory
...
It's undefined behaviour. Still happens for piecewise construction
emultation for std::pair, I don't think there's anyway to avoid it.
I had considered using offsetof to get a pointer to a member, but that's
also undefined behaviour when a pair member doesn't have standard
layout. Piecewise construction emulation has other problems anyway.
So, this mostly fixes PR #5 .
I also stopped using addressof in self-asssignment checks as operator&
is fine.
2017-06-04 08:47:02 +01:00
Daniel James
7775aa83df
Decrease the limit for SunOS workaround
...
We have tests for 12.5 (5,20,0), and 12.5_next (5,21,0), I think both
are good enough to not require workarounds.
2017-05-25 08:53:34 +01:00
Daniel James
fc1604f2c8
Don't use allocator_traits::construct on GCC 4.6
...
Piecewise construction doesn't work uncopyable types.
2017-05-19 17:24:44 +01:00
Daniel James
5b97fbc292
Make insert from node_handle move only on old GCC
2017-05-19 09:42:56 +01:00
Daniel James
4f5a2dabe9
Try to fix std::tuple on old Sun compilers
...
In order to use the workaround for both `boost::tuple` and `std::tuple`
the function would need to detect which was being used, in order to
decide whether to use `boost::tuples::length` or `std::tuple_size`.
Probably not difficult, but I don't have any way to test an
implementation.
So instead Just assume that if `std::tuple` is available it will work
without any workaround. Presumably once the compiler was able to support
`std::tuple` it will also support the necessary overloads.
I've left the version check as 5.21 so that failures will still show up
in the tests, but I'm sure it can be 5.20 and probably earlier. Will
change before release.
2017-05-19 09:03:08 +01:00