Commit Graph

35 Commits

Author SHA1 Message Date
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
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
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
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
6ce2b2d0f8 Add improved range insertion to flat associative containers and improve merge operation for vector. 2017-12-26 22:04:15 +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
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
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
d6749960fc Implement extract_sequence and adopt_sequence for flat ordered associative containers 2017-04-05 16:06:31 +02: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
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
6f1f162cb3 - Added nth and index_of.
- Used BOOST_MOVE_BASE
2014-11-01 20:03:25 +01:00
Ion Gaztañaga
e697122a2c Updated tests to avoid manual memory management. Replaced with unique_ptr and a reference. Normalized CheckEqualContainers to use references instead of pointers. 2014-09-23 17:30:31 +02: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
0ccf576872 Updated range insertion code for enhanced performance. 2014-09-17 21:51:38 +02:00
Ion Gaztañaga
aae1f9df27 Fixed compilation error in C++03 compilers and updated changelist with initializer_lists. 2014-08-29 12:52:41 +02:00
Robert Matusewicz
cbe191b5e3 add std::initializer_list support to flat_set and flat_multiset 2014-08-28 13:15:14 +02:00
Ion Gaztañaga
d3eb21000b Derived flat_set from flat_tree to avoid redefining almost all functions and minimize instantiation of multiple function in debug mode. 2014-01-03 14:52:13 +01:00
Ion Gaztañaga
fc8507b48c Some comments in the testcases separating test groups. 2013-12-26 13:10:54 +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