Ion Gaztañaga
0c95d4846f
Fix "count" with heterogeneous lookups in flat_map and flat_set
2019-06-22 10:26:36 +02:00
Jan Eisenhauer
3f09061d78
Remove usage of C++11 features.
2019-06-11 12:04:43 +02:00
Jan Eisenhauer
628289cb00
Solve copy-paste errors.
2019-06-11 11:51:28 +02:00
Jan Eisenhauer
a6b6f97a50
Solve copy-paste errors.
2019-06-11 11:17:01 +02:00
Jan Eisenhauer
3319fdb0c2
Merge remote-tracking branch 'origin/develop' into patch-1
2019-06-11 11:05:29 +02:00
Jan Eisenhauer
1aa15ead35
Add testcases for heterogeneous lookup with partial keys.
2019-06-11 10:23:13 +02:00
Ion Gaztañaga
7b62f360b7
Add missing tests for small vector and static vector
2019-06-08 13:01:24 +02:00
Mitsuru Kariya
f25c767a2b
Fix has_trivial_destructor_after_move
...
Most template type parameters 'Allocator' were modified their default type to void since 1.70.0.
These modifications cause has_trivial_destructor_after_move to compile error or yield wrong result.
So, fix them by changing specializations of has_trivial_destructor_after_move.
2019-06-01 22:36:54 +09:00
Ion Gaztañaga
e23c57337f
Fixes #107 ("Alignment ignored in resource_adaptor")
2019-05-05 02:06:46 +02:00
Ion Gaztañaga
24e420abe9
Add block size customization options to deque.
2019-04-28 19:18:22 +02:00
Ion Gaztañaga
06ee4f7a39
Fixes #118 ("Non-unique inplace_set_difference used in in flat_tree_merge_unique and iterator invalidation in insert_unique")
2019-04-24 22:49:50 +02:00
Ion Gaztañaga
e46210e046
Fixes #117 ("flat_map/map::insert_or_assign with hint has wrong return types")
2019-04-23 17:03:09 +02:00
Roland Dreier
1eb591e85c
Fix deallocating never-allocated storage in vector.merge()
...
If merge() is called on an empty vector, then priv_merge_in_new_buffer() will
call deallocate() with size 0 on the old (not-yet-allocated) vector storage.
This violates the Allocator requirement that the pointer passed to deallocate()
must have come from a call to allocate() with the same size.
Fix this by checking old_cap against 0, and also add a unit test for this bug.
2019-02-23 18:46:06 -08:00
Ion Gaztañaga
81d78dbefa
Fixed GitHub #98 : ("flat_map: insert_or_assign does not work with hint")
2019-02-02 00:25:09 +01:00
Ion Gaztañaga
a9ceb4d9c6
Better use forward declarations and export symbols
2019-01-03 03:32:03 +01:00
Ion Gaztañaga
4fc4cfd8d8
Fix GitHub #89 ("Build fails on clang-5 with libstdc++7-dev (C++17 issue)")
2018-11-13 23:17:51 +01:00
Ion Gaztañaga
cb21746b80
Rewrite CTAD and SFINAE-out overloads as the standard requires
2018-11-12 22:52:45 +01:00
Ion Gaztañaga
9bba03450f
Update changelog and test function for GitHub #81 ("Vector with custom allocator does not support value types with operator&")
2018-11-11 02:03:30 +01:00
Ion Gaztañaga
3a2f61fdb0
Merge branch 'container-misc-typos' of https://github.com/luzpaz/container into luzpaz-container-misc-typos
2018-11-10 23:32:42 +01:00
Ion Gaztañaga
57f9090670
Add hash_value
2018-09-26 01:07:21 +02:00
Ion Gaztañaga
61d7f651e1
Add equal transparent
2018-09-26 01:07:01 +02:00
Ion Gaztañaga
fe85038ebe
Simplify redundant tested variants in functional tests.
...
Move explicit instantiations from functional tests to "explicit_inst_xxx".
2018-09-25 09:08:24 +02:00
Ion Gaztañaga
59f70078f0
Refactor big test into smaller tests
2018-09-25 09:07:09 +02:00
luz.paz
a6ac16d0c4
container: misc-typos
...
Found via `codespell -q 3 -L iff,nd`
2018-09-23 15:54:39 -04:00
Ion Gaztañaga
6504af8708
Disable false positives on "-Wstringop-overflow" and "-Warray-bounds" in release mode
2018-09-15 01:15:25 +02:00
Ion Gaztañaga
9f12901ff7
Tweak test to avoid false positives in built-in memcpy bounds checking warnings.
2018-09-15 01:11:40 +02:00
Ion Gaztañaga
84f6f27788
Fix stack-use-after-scope error detected by ASAN in "test_upstream_resource".
2018-08-20 12:30:55 +02:00
Ion Gaztañaga
139db663a3
* Implemented C++20 contains()
for associative containers as specified in P0458R2.
...
* Fixed serious bug in heterogeneous lookup functions (is_transparent was broken).
2018-08-13 15:36:00 +02:00
Ion Gaztañaga
920e009d71
Implemented proposed resolution for LWG 3120
2018-06-18 00:29:22 +02:00
Ion Gaztañaga
62ee740368
Fixed GitHub #74 ("vector assignment not using memcpy")
2018-06-16 11:51:31 +02:00
Ion Gaztañaga
88f4a245ca
Merge branch 'ctad_testing' of https://github.com/rmpowell77/container into rmpowell77-ctad_testing
2018-05-14 11:52:41 +02:00
Ion Gaztañaga
ed50d14e9e
Change forward_as_tuple to forward_as_tuple_impl as there are ambiguities when std headers are included. It's is used only in the pair test
2018-05-14 11:49:35 +02:00
Richard Powell
72195ae288
Adding Constructor Template Auto Deduction guides.
2018-05-11 11:35:25 -06:00
Ion Gaztañaga
48c21e3187
Implemented C++14's heterogeneous lookups.
2018-05-01 14:55:24 +02:00
Daniela Engert
13a227a96e
std::allocator<void> is deprecated in C++17
...
silence the deprecation warning
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-02-02 15:59:39 +01:00
Ion Gaztañaga
485878d566
Avoid using exception specifiers in C++11 compilers when replacing operator new.
2018-02-01 21:51:14 +01:00
Ion Gaztañaga
6ce2b2d0f8
Add improved range insertion to flat associative containers and improve merge operation for vector.
2017-12-26 22:04:15 +01:00
QUvalda
ed6c8bd87d
Fix splice for slist
...
The call of the splice method with iterators leads to an infinite loop inside common_slist_algorithms::get_previous_node
slist<int> lst1 = { 0, 1, 2, 3 };
slist<int> lst2;
lst2.splice(lst2.begin(), lst1, lst1.begin());
expected:
lst1 == { 1, 2, 3 }
lst2 == { 0 }
2017-12-20 12:50:46 +01:00
Ion Gaztañaga
2802a1f50d
- Add configuration options to vector
...
- Cleanup tree configuration options
2017-12-10 23:33:41 +01:00
Ion Gaztañaga
fa2494631a
Use namespace dtl instead of container_detail to avoid excessively long symbol names.
2017-11-07 00:51:46 +01:00
Ion Gaztañaga
2a7b5a70a5
Closes #58 ("Comparing strings does not compile in gcc 7+ in C++17 mode")
2017-10-19 21:53:37 +02:00
Ion Gaztañaga
9ee836ee3d
Fixes to flat_map when used as an adaptor from regression tests errors in Mingw.
2017-08-28 11:58:43 +02:00
Ion Gaztañaga
c123accab1
Complete support for user-provided containers to flat_[multi]map/set containers, and instantiate them with several container types.
2017-08-28 10:45:29 +02:00
Ion Gaztañaga
2297f6af72
Modify flat associative containers to be adaptors if the allocator argument is a container. This allows using stable_vector, small_vector, static_vector as underlying containers.
2017-08-27 12:40:15 +02:00
Ion Gaztañaga
21fbd71ef3
Delete BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER
2017-08-27 01:03:24 +02:00
Ion Gaztañaga
d5aede745e
Unify std::binders and lambdas with custom binders
2017-05-26 22:31:26 +02:00
Ion Gaztañaga
ec91367383
Review all associative containers and implement a different constructor overload to avoid any unnecessary copy construction of the predicate or the allocator.
2017-05-16 16:29:49 +02:00
Ion Gaztañaga
903b568d13
Split set/map tests as some compilers refuse to allocate too many sectios in the object file
2017-04-06 23:34:30 +02:00
Ion Gaztañaga
d6749960fc
Implement extract_sequence
and adopt_sequence
for flat ordered associative containers
2017-04-05 16:06:31 +02:00
Ion Gaztañaga
01d7c71ea8
Fix node_handle bugs:
...
-> Bad allocator destruction in swap
-> Wrong assertion in operator=
-> Make dangerous functions private
Added full testsuite.
2017-04-02 00:20:38 +02:00