Commit Graph

756 Commits

Author SHA1 Message Date
Ion Gaztañaga
feeafbe9f3 Use pdqsort to sort unique values. 2017-12-31 21:08:19 +01:00
Ion Gaztañaga
9abd56be5e Recover lost projects from solution 2017-12-31 19:38:11 +01:00
Ion Gaztañaga
27404a4530 Use BOOST_CONTAINER_FORCEINLINE in swap 2017-12-31 19:37:56 +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
Ion Gaztañaga
3c6f4ea2ed Forward declare correction vector iterator 2017-12-20 13:12:47 +01:00
Ion Gaztañaga
ecd85ce164 Add changelist for GitHub #64 ("Fix splice for slist") 2017-12-20 13:12:13 +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
82abe673fc Fix incorrect temporary folder 2017-12-10 23:33:07 +01:00
Ion Gaztañaga
93039d18d7 Make sure NDEBUG is undefined 2017-12-10 23:06:20 +01:00
Ion Gaztañaga
67fddea741 Fix misaligned typedef 2017-12-09 13:07:29 +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
Peter Dimov
61d965f1a0 Update clang to libstdc++4.9 to fix ::gets error 2017-11-03 01:28:46 +02:00
Peter Dimov
951a944087 Add .travis.yml 2017-11-02 14:08:31 +02:00
Ion Gaztañaga
f49e5d0ad1 Fixes #59 2017-10-20 00:32:09 +02:00
Ion Gaztañaga
44919284a9 Change allocator name logic 2017-10-20 00:31:53 +02: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
407aabd77b * Another try to fix [boostorg/container] unused parameter warning when compiling with assertions disabled (#56) 2017-10-01 10:45:13 +02:00
Ion Gaztañaga
520dd7cbdd Try to fix [boostorg/container] unused parameter warning when compiling with assertions disabled (#56) 2017-10-01 00:54:51 +02:00
Ion Gaztañaga
1b95baa6a1 Add flat_tree_test project 2017-09-10 02:41:27 +02:00
Ion Gaztañaga
6a9e46ed6e Update changelog with GitHub #54 Pull request. 2017-09-10 02:09:59 +02:00
Ion Gaztañaga
c387345602 Merge branch 'kuhlenough-develop' into develop 2017-09-10 02:02:31 +02:00
Brian Kuhl
7816a9777b Update alloc_lib.c 2017-09-06 20:59:35 -04:00
Ion Gaztañaga
af8e50a04e Merge branch 'jwakely-patch-1' into develop 2017-09-06 22:51:08 +02:00
Jonathan Wakely
9115cf12d5 Fix typo in introduction 2017-09-06 16:32:27 +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
6530b7870f Use BOOST_FALLTHROUGH instead of the broken typo version 2017-08-27 01:59:32 +02:00
Ion Gaztañaga
21fbd71ef3 Delete BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER 2017-08-27 01:03:24 +02:00
Ion Gaztañaga
f92299434e Implement resolution for LWG #2969: polymorphic_allocator::construct() shouldn't pass resource() 2017-08-27 01:03:01 +02:00
Ion Gaztañaga
863b6e0d32 - Remove wrong explicit default constructor for flat_[multi]set.
- Add missing forceinline to flat_map
2017-08-17 23:58:58 +02:00
Ion Gaztañaga
04acc0cd63 Merge branch 'ecatmur-set-multiset-document-extract' into develop 2017-07-11 17:25:44 +02:00
Edward Catmur
63174be55d Document set::extract and multiset::extract. 2017-07-11 12:28:07 +01:00
Ion Gaztañaga
c748e90b6b Remove unused to_raw_pointer file 2017-06-26 00:48:00 +02:00
Ion Gaztañaga
38ab3c8582 Update changelog with Git Pull #51 2017-06-06 14:45:47 +02:00
Ion Gaztañaga
3edab187f4 Merge branch 'garyfurnish-master' into develop 2017-06-06 13:14:37 +02:00
Ion Gaztañaga
d7eaedc1a9 Merge branch 'master' of https://github.com/garyfurnish/container into garyfurnish-master 2017-06-06 13:14:18 +02:00
Gary Furnish
e0aaf744a5 Fix integer rollover that triggers clang ubsan when U is unsigned 2017-06-05 18:18:38 -06:00
Ion Gaztañaga
d5aede745e Unify std::binders and lambdas with custom binders 2017-05-26 22:31:26 +02:00
Ion Gaztañaga
a451aeda93 Merge branch 'DanielaE-feature/replace-deprecated' into develop 2017-05-26 22:02:27 +02:00
Ion Gaztañaga
424b5e5848 Merge branch 'feature/replace-deprecated' of https://github.com/DanielaE/boost.container into DanielaE-feature/replace-deprecated 2017-05-26 22:02:11 +02:00
Ion Gaztañaga
9c09a0cbc7 Update changelog 2017-05-24 23:06:20 +02:00
Ion Gaztañaga
d24c461ef7 Merge branch 'bmwiedemann-develop' into develop 2017-05-24 22:51:43 +02:00
Bernhard M. Wiedemann
ace2c5668e Fixed bug Trac #13038
Have constant link order
to make builds reproducible.
See https://reproducible-builds.org/ for why this is good.

Without this patch g++ would order functions in libboost_container.so.1.64.0
depending on random order of files in the build system's filesystem.
2017-05-22 10:47:07 +02:00
Ion Gaztañaga
717e8ef461 Merge branch 'joker-eph-remove_useless_allocator_copy_in_map' into develop 2017-05-16 16:30:31 +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
Mehdi Amini
40451e4bf7 Add variant of map constructors to avoid useless extra allocator copy when using initializer list
Many existing constructors have this form:

  map(std::initializer_list<value_type> il, const Compare& comp = Compare(), const allocator_type& a = allocator_type())

The issue is that a temporary allocator_type is constructed, and
passed to the base class where it is used to copy-constructed the
rebound allocator.
This temporary allocator_type here is always destroyed at the end
of the map() constructor. For stateful allocators this is not
desirable.
The solution is to adopt what libc++ is doing and have to constructors:

  map(std::initializer_list<value_type> il, const Compare& comp = Compare(), const allocator_type& a)

and

  map(std::initializer_list<value_type> il, const Compare& comp = Compare())

This way, unless an allocator is provided by the client, no extra temporary
creation/destruction occurs.
2017-05-08 12:39:06 -07:00
Daniela Engert
36c334f414 replace deprecated/removed C++98 binders by equivalent lambda expressions.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-04-28 19:15:58 +02:00
Ion Gaztañaga
5e3e5d4fe6 Merge branch 'develop' 2017-04-24 21:13:25 +02:00