Commit Graph

117 Commits

Author SHA1 Message Date
Ion Gaztañaga
83bb62fed3 Default allocator parameter changed form new_alloator<T> to void to reduce symbol lenghts 2019-01-10 22:54:58 +01:00
Ion Gaztañaga
4b6dd3ea9a Use void allocator by default in vector to reduce symbol lengths. Other containers will follow. 2019-01-03 01:44:09 +01:00
Ion Gaztañaga
43c0257871 Fixes issue #93 2018-12-01 12:58:54 +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
2bc6f4d1a0 Fixes GitHub #84 ("Allow vector to be assigned to itself"). 2018-11-11 01:10:01 +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
10a618afe8 Fix GitHub #83: ("Iterator zero incrementing leads to assert on empty vector") 2018-11-10 23:12:46 +01:00
Ion Gaztañaga
e787c4a24d Use uninitialized memory for node-based containers to improve aliasing conformance 2018-09-26 01:10:37 +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
fb0854bd08 Fix unused variable warning. 2018-09-15 00:50:51 +02:00
Ion Gaztañaga
b56cbb60e0 Add assertions to invalid operations. 2018-06-27 16:50:58 +02:00
Ion Gaztañaga
e9d10ce544 Fixes GitHub #75 ("flat_set: Heap overflow") 2018-06-26 21:50:05 +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
9a22431578 * Clean up constructor template auto deduction guides to use Boost.Container traits
* GitHub #73: '"triviality of pair".

* Fixed race condition bug in unsynchronized_pool_resource
2018-06-14 13:17:55 +02:00
Richard Powell
72195ae288 Adding Constructor Template Auto Deduction guides. 2018-05-11 11:35:25 -06:00
Ion Gaztañaga
b3eee90a81 Fix ticket #13500: Memory leak when using erase on string vectors 2018-04-04 00:31:39 +02:00
Ion Gaztañaga
9abd56be5e Recover lost projects from solution 2017-12-31 19:38:11 +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
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
21fbd71ef3 Delete BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER 2017-08-27 01:03:24 +02:00
Ion Gaztañaga
1d727753e2 Use directly boost::movelib::to_raw_pointer/iterator_to_raw_pointer 2017-04-07 16:07:00 +02:00
Ion Gaztañaga
a7e2bed8f1 Use adaptive_sort for merge operations. 2017-04-06 23:35:08 +02:00
Ion Gaztañaga
4d05ce8738 Fix for Ticket #12915: "Buffer overflow in boost::container::vector (affects flat_set)" 2017-03-28 12:37:22 +02:00
Ion Gaztañaga
1261ac3308 Fix emplace_back return type also in compilers without variadic templates. Update changelog. 2017-02-24 22:07:20 +01:00
Tobias Reh
5fe2dba504 emplace_back must return reference to back(), not to *end() 2017-02-24 15:33:30 +01:00
Ion Gaztañaga
764fcd88bf Merge branch 'copy_move_algo__parameter_fix' of https://github.com/think-cell/container into think-cell-copy_move_algo__parameter_fix 2016-11-13 00:26:58 +01:00
Ion Gaztañaga
238f37db22 Remove duplicated forceinline in push_back overloads 2016-11-12 19:08:24 +01:00
Tobias Germer
3830745c9f Fix parameter types in copy_move_algo.hpp: iterator_traits::difference_type -> allocator_traits::size_type 2016-10-19 14:13:46 +02:00
Ion Gaztañaga
0617d0e538 Implemented P0084R2 (Emplace Return Type) 2016-08-29 16:53:44 +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
b6d3906895 Use value-initialized pointers when null is required, as conversion from literal 0 is not guaranteed in smart pointers. 2016-07-31 23:16:08 +02:00
Pavel A. Lebedev
0b75df9920 Allow reuse of buffer in reserve with v2 allocator
allocation_command uses expand_{fwd,bwd} flags and its result is later compared with the old pointer, but the old pointer was not passed for reuse.
2016-07-16 18:52:10 +03:00
Ion Gaztañaga
132e57a348 Fixes Trac #12177 ("vector::priv_merge uses unqualified uintptr_t") 2016-05-13 23:50:34 +02:00
Ion Gaztañaga
873daf9a0c Fixed bug Trac #11170 2016-05-13 22:17:03 +02:00
Ion Gaztañaga
3e82a27917 Fixes Trac #11912: "flat_map use of vector::priv_forward_range_insert_expand_backwards may cause move with same source" 2016-02-24 22:27:53 +01:00
Ion Gaztañaga
c894ddf5a5 Use SFINAE in range constructors to detect iterators 2015-12-25 13:24:27 +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
08e768f1d8 Fix comment about self-assignment 2015-11-06 21:49:55 +01:00
Ion Gaztañaga
d517bf46a8 - Simplified code using new priv_raw_begin(), renamed back_raw to priv_back_raw to match it.
- Avoid dynamic allocation in priv_merge when there is enough capacity for new elements.
2015-10-12 18:57:44 +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
7071fbc7d8 Fixed unused argument warning in swap_resources().
Fixed changelog copy-paste error.
2015-09-10 12:09:08 +02:00
Ion Gaztañaga
f1f97518d3 Fixed Track #11627 and #11628 2015-09-09 09:48:09 +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
f02f5ec21f fix bug when erasing last elements 2015-06-04 11:40:46 +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
ad54608d78 Fix Trac #11139 2015-03-31 11:23:14 +02:00
Ion Gaztañaga
e5f069da2b Reenginered partially propagable allocator support in vector. storage_is_unpropagable is now the basic building block, which is simpler and less error-prone. 2015-03-01 22:25:27 +01:00
Ion Gaztañaga
8cdfec7890 Add experimental small_vector class 2015-02-26 00:35:59 +01:00
Ion Gaztañaga
10d027aa9c Include boost/config.hpp before testinG BOOST_HAS_PRAGMA_ONCE. 2015-02-02 15:26:53 +01:00