Ion Gaztañaga
d7bf947a4b
Fix iterator_from_iiterator not value initializing its parent iterator
2016-11-12 19:06:23 +01:00
Ion Gaztañaga
da17190798
Fix incomplete Trac #9689 ("Add piecewise_construct to boost::container") resolution. scoped_allocator_adaptor_test was missing pair construct overloads.
2016-09-06 14:05:46 +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
9f9fdeaa9a
Adapt to Intrusive change that removed unneeded template parameters to tree_value_compare.
2016-08-29 16:53:17 +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
1467c51a4e
Implemented missing try_emplace member for maps.
2016-08-26 01:47:32 +02:00
Ion Gaztañaga
e1cb88b399
Add missing include for boost::forward
2016-08-24 02:19:58 +02:00
Ion Gaztañaga
db5c24e0e7
Fix piecewise_construct pair constructor for compilers with variadics and constructor forwarding. Current code unconditionally moves instead of forwarding.
2016-08-24 01:52:53 +02:00
Ion Gaztañaga
79a75f470e
Add piecewise_construct construction to internal pair.
2016-08-23 02:14:19 +02:00
Ion Gaztañaga
0b98372af5
Silence most vexing parse warnings in clang.
2016-08-23 02:13:56 +02:00
Ion Gaztañaga
eb42811079
Delegating constructors detection, as Boost.Config does not yet provide it.
2016-08-23 02:13:30 +02:00
Ion Gaztañaga
c7407e34f6
Replaced int with std::size_t when building indexes.
2016-08-23 02:13:03 +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
fb1be6fa75
Fix Trac #12117 ("flat_set constructor with ordered_unique_range") adding checks to constructors in debug mode
...
Fix typos on value_type checks in flat_[multi]map.
2016-08-15 23:22:57 +02:00
Ion Gaztañaga
324130703e
Fix incorrect header guards
2016-08-15 23:21:10 +02:00
Ion Gaztañaga
d5adae2eda
Fixes Trac #11802 ("Incorrect ordering after using insert() with ordered_range_t on a flat_multiset with a non-default sort order")
2016-08-12 00:43:16 +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
225e2da77e
Revised noexcept expressions of default and move constructors in all containers.
2016-08-01 23:49:51 +02:00
Ion Gaztañaga
153fd7f474
Add more is_class, is_class_or_union, is_enum specialization to pair to allow recursive containers and type traits intrinsics
2016-06-25 11:04:55 +02:00
Ion Gaztañaga
a52684beea
Some dispatch_uses_allocator overloads don't forward the allocator argument
2016-06-25 11:03:57 +02:00
Ion Gaztañaga
a7158c7975
Fixed Trac #12014 : "boost::container::set can not insert const (ref) range"
2016-02-24 10:13:07 +01:00
Ion Gaztañaga
75f7c8fa73
Introduced BOOST_CONTAINER_FORCEINLINE so that mandatory inlining can be disabled selectively
2015-12-24 10:22:38 +01:00
Ion Gaztañaga
a3262c0ae7
Fix for Trac #11820 ("compiler error when using operator[] of map")
2015-12-24 01:14:10 +01:00
Ion Gaztañaga
c4505003c7
Minimize ifdef-ed code for BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN
2015-10-17 10:17:30 +02:00
Ion Gaztañaga
1d5c367d62
Use BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN as some compilers prefer return type SFINAE while others don't support it.
2015-10-17 09:39:56 +02:00
Ion Gaztañaga
7764e05444
Changes to support GCC 3.4
2015-10-12 18:51:08 +02:00
Ion Gaztañaga
79274e4aae
Fixed Trac #11697 ("Wrong initialization order in tuple copy-constructor")
2015-09-30 22:35:17 +02:00
Ion Gaztañaga
85b2ed509b
Added debug assertions via BOOST_ASSERT to check preconditions in several members. All checks are O(1)
2015-09-18 14:39:17 +02:00
Ion Gaztañaga
f637fada71
Use newly refactored move/detail/std_fwd_xxx.hpp headers
2015-09-14 22:38:26 +02:00
Ion Gaztañaga
f1f97518d3
Fixed Track #11627 and #11628
2015-09-09 09:48:09 +02:00
Ion Gaztañaga
33d2f0f7af
Add Polymorphic Memory Resource utilities and rework the separately compiled library:
...
- Dlmalloc's based C function are boost_cont_xxx no longer exported, but wrapped into C++ linkage dlmalloc_xxx functions to effectively reuse Boost's dynamic library and autolink machinery instead of rewriting machinery to compile the C source file.
- Refactored scoped_allocator_adaptor's construct logic as it was shared with polymorphic allocator's one. Moved common logic to detail/dispatch_uses_allocator.hpp. Refactored also scoped_allocator_adaptor test utilities to be reused with polymorphic_allocator tests.
2015-09-07 19:16:46 +02:00
Ion Gaztañaga
77100c0bfc
Removed commented code.
2015-09-07 19:08:48 +02:00
Ion Gaztañaga
f9918cf967
Removed piecewise_construct_t as it's not used yet
2015-09-07 19:08:08 +02:00
Ion Gaztañaga
a91f6d317b
Fixed wrong call to vector::merge_unique in insert_unique and used placement construction in priv_merge_in_new_buffer
2015-07-21 23:40:52 +02:00
Ion Gaztañaga
a7f60c1e8c
Fix for Trac #11412 ("reserve() : null pointer passed to memmove")
2015-07-02 13:50:08 +02:00
Ion Gaztañaga
61a2f49ef2
Fixes Trac #11388 (boost::container::list::emplace_back broken on Visual Studio 2010)
2015-06-12 23:51:58 +02:00
Ion Gaztañaga
884c6e2bd2
Change spacing
2015-06-09 14:52:44 +02:00
Ion Gaztañaga
c6e1760be0
Merge branch 'bug-11380' of https://github.com/ilor/container into ilor-bug-11380
2015-06-09 10:47:30 +02:00
Tomasz Śniatowski
76f3c1ddcc
Fix std:: forward declaration compile error on GCC with libc++
...
The code should not assume that libc++ is only ever used with Clang.
Fixes issue #11380 , https://svn.boost.org/trac/boost/ticket/11380
2015-06-08 08:51:46 +02:00
Ion Gaztañaga
e198da5946
Use Intrusive's tree_value_compare class instead of duplicating code
2015-06-04 11:42:47 +02:00
Ion Gaztañaga
3246e11ca2
Added new experimental merge functions to speed up flat_xxx range insertion
2015-04-14 15:22:06 +02:00
Ion Gaztañaga
6477543f3b
Updated to new meta-functions reused from Intrusive/Move
2015-04-14 15:21:46 +02:00
akumta
c194a6794d
Update copy_move_algo.hpp
...
For ticket# 11075: https://svn.boost.org/trac/boost/ticket/11075
2015-03-05 11:45:34 -08:00
Ion Gaztañaga
90b3af4229
Document small_vector_base
2015-02-27 19:21:58 +01:00
Ion Gaztañaga
7160bea2aa
Explicit constructor for allocator_destroyer
2015-02-26 00:27:53 +01:00
Ion Gaztañaga
c2ea5da716
Fix move constructors with unequal allocators and move/copy assignment of tree.
2015-02-26 00:22:23 +01:00
Ion Gaztañaga
012781cc94
Try to support GCC's versioned std namespace
2015-02-26 00:16:47 +01:00
Ion Gaztañaga
7b3d70ad83
Fix pair's swap to avoid unqualified swap calls.
2015-02-26 00:16:13 +01:00
Ion Gaztañaga
5ea8e24923
Update "are_elements_contiguous" for move iterators.
2015-02-26 00:15:23 +01:00
Ion Gaztañaga
f47bf08ccc
Try to definitely fix Trac Issue #9931 (flat_map::insert(ordered_unique_range_t...) fails with move_iterators")
2015-02-03 16:09:47 +01:00