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
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
cb21746b80
Rewrite CTAD and SFINAE-out overloads as the standard requires
2018-11-12 22:52:45 +01: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
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
88f4a245ca
Merge branch 'ctad_testing' of https://github.com/rmpowell77/container into rmpowell77-ctad_testing
2018-05-14 11:52:41 +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
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
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
zerotypos-found
7cb3a6fbe8
[inspection report] remove tabs and fix copyright notice format
2016-12-20 11:03:57 +09:00
Ion Gaztañaga
f540b83ccd
* Implemented merge
operations for associative containers.
...
* Update tree-based containers to changes done in Intrusive internal utilities in order to fix Trac 12432.
2016-09-03 00:03:42 +02:00
Ion Gaztañaga
4298d1984b
* Add missing extract() and insert(node_type) funtion to associative containers.
...
* Simplify select1st
2016-08-29 00:06:57 +02:00
Ion Gaztañaga
2d6f781a2f
Implemented "insert_or_assign" for map-like containers.
2016-08-18 20:29:04 +02:00
Ion Gaztañaga
37c1558a81
Fixed Trac #12256 (set<std::pair<int,int>>::insert cause compilation error in debug configuration in Visual Studio 2012)
2016-08-09 00:59:39 +02:00
Ion Gaztañaga
36f5aa842b
Remove some instantiations to avoid hitting section limits when compiling with GCC.
2016-06-25 11:20:11 +02:00
Ion Gaztañaga
33b331da38
Reduce redundant instantiations to improve test build times
2016-02-23 13:29:46 +01:00
Ion Gaztañaga
d01cb72b3f
Add iterator tests
2015-04-14 15:03:19 +02:00
Ion Gaztañaga
7239c8e262
Refactor initializer_list tests to avoid code duplication and add some missing initializer_list overload tests
2015-02-27 19:24:46 +01:00
Ion Gaztañaga
6c5e527c60
Improve allocator propagation test with new constructors and refactor code to avoid too many wrappers.
2015-02-26 00:32:32 +01:00
Ion Gaztañaga
360957a797
Massive dependency reduction. Removed dependency on several boost libraries and standard C++ headers.
2015-01-02 19:34:21 +01:00
Ion Gaztañaga
7971dc6602
Refactored uses of <iterator> and <algorithm> to avoid dependencies where possible.
2014-11-26 07:08:06 +01:00
mikael
59b46cd338
Fixes a small issue that prevented the use of iterators of containers of incomplete types. Added iterators of incomp-types to unit-tests.
2014-09-21 19:46:58 -04:00
Ion Gaztañaga
2e009da1e8
Fixed some ordered insertion tags
2014-08-29 15:03:42 +02:00
Robert Matusewicz
f8ebfa472a
Add std::initializer_list to the following containers:
...
* deque
* map
* multimap
* set
* multiset
* list
* slist
Tested on clant and g++
2014-08-27 17:34:25 +02:00
Ion Gaztañaga
8c1bfe2881
Removed trailing whitespaces
2014-05-28 15:50:13 +02:00
Ion Gaztañaga
a93e23f22a
Inherit set/multiset/map/multimap from tree to avoid redundant instantiations in debug mode and simplify maintenance.
2014-01-05 22:36:01 +01:00
Ion Gaztañaga
01486761a6
Added support for configurable tree-based associative containers. In addition to RB trees, AVL, Scapegoat and Splay trees are experimentally supported.
2014-01-03 13:26:57 +01:00
Ion Gaztañaga
9ac4ae6fdc
Added a static assert to make sure that flat_[xxx]map::allocator_type::value_type is std::pair<Key, T>. Fixed some test cases failing to do that properly.
2013-12-24 19:00:52 +01:00
Ion Gaztañaga
41c2056ec6
- Modified relational operators to be friend inline definitions. This allows compilation checking when instantiating classes, avoids predeclarations and results in less verbose code.
...
- First to make associative containers' tree implementation configurable.
2013-12-23 23:34:28 +01:00