Commit Graph

50 Commits

Author SHA1 Message Date
Ion Gaztañaga
3bbb0bbe0e Fixed wrong BOOST_CONTAINER_VECTOR_ALLOC_STATS comments in vector_alloc_base, they should go to the derived vector class.
Fixed error in void assign(FwdIt first, FwdIt last) when fwd expansion occurs, capacity was not being updated.
Optimized erasure when the type has_trivial_destructor_after_move.
Simplified a bit backwards expansion code.
Optimized priv_uninitialized_construct_at_end calling memmove-aware functions instead of using a hand-written loop
2014-09-21 23:57:23 +02:00
Ion Gaztañaga
d2bd31e4d0 Add new documentation macros and tested in vector. 2014-09-20 17:28:41 +02:00
Ion Gaztañaga
3025cc41b6 Replace "boost/move/utility.hpp" with "boost/move/utility_core.hpp" to minimize dependencies. 2014-09-17 23:36:23 +02:00
Ion Gaztañaga
5313086d54 Updated position insertion code.
Fixed backwards expansion calling too many destructors nd added more tests to detect similar errors.
2014-09-17 21:52:34 +02:00
Robert Matusewicz
ac4dde2c6e add std::initializer_list support for boost::container::vector 2014-08-15 20:25:16 +02:00
Ion Gaztañaga
819b365f5e Fixed unqualified iterator_to_pointer & to_raw_pointer calls that were causing compilation problems due to ADL. 2014-06-16 00:23:19 +02:00
Ion Gaztañaga
8c1bfe2881 Removed trailing whitespaces 2014-05-28 15:50:13 +02:00
Ion Gaztañaga
9b25c7134e * Fixed BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment) missing ::value
* Optimized insert_equal(ordered_range_t,...) and insert_unique(ordered_unique_range_t, ...) for elements to be inserted in the end.

* Added range insertion overload (non-standard extension) to vector taking the number of elements to avoid reiterations with std::distance.
2014-04-23 23:18:18 +02:00
Ion Gaztañaga
0b720f82b4 Fixed #9916: "Allocator propagation incorrect in the assignment operator of most".
Fixed #9932: "Missing assignment operator from related static_vector".
Added missing details from issue #9915
2014-04-21 13:59:49 +02:00
Ion Gaztañaga
bffd6c036c Fixes #9915.
Uses intrusive is_convertible in MSVC compilers.
Removes some throw conditions in the documentation produced by the allocator copy constructor (as the standard requires no-throw guarantee for those).
2014-04-17 00:06:59 +02:00
Ion Gaztañaga
a4c0188173 Divided set benchmark in several smaller benchmark files 2014-02-06 11:13:22 +01:00
Ion Gaztañaga
4872931d29 Documented template parameters. 2014-01-05 22:25:12 +01:00
Ion Gaztañaga
2489010881 Document comparison operators for non tree associative containers. 2014-01-03 12:43:03 +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
Ion Gaztañaga
f2947c115e Changes during Git migration:
- Added Extended Allocator support for Boost.Container.
- Improved Doxygen generated reference
- Fixed ticket #9338 ("VS2005 compiler errors in swap() definition after including container/memory_util.hpp")
2013-12-23 10:47:20 +01:00
Ion Gaztañaga
3921e08520 Tagged vector_alloc_holder constructors that allocate but don't initialize memory to improve maintainability.
[SVN r85997]
2013-09-29 11:37:30 +00:00
Ion Gaztañaga
14f092ab00 Default initialization for vector-like containers
Complexity guarantees for associative container constructors and ordered input ranges
Added benchmark for associative containers
Fixes #9166

[SVN r85964]
2013-09-26 18:05:25 +00:00
Stephen Kelly
59b2793df7 Remove obsolete MSVC check from pragma guard
git grep -h -B1 "^#\s*pragma once" | grep -v pragma | sort | uniq

is now clean.

[SVN r85952]
2013-09-26 13:02:51 +00:00
Ion Gaztañaga
a7b88d804c Fixes #9009
[SVN r85660]
2013-09-12 22:00:51 +00:00
Ion Gaztañaga
ed57e6e619 Fixes #9108
[SVN r85658]
2013-09-12 21:50:38 +00:00
Ion Gaztañaga
3d249fa728 Implemented SCARY iterators for all containers
[SVN r85308]
2013-08-11 21:36:19 +00:00
Vicente J. Botet Escriba
a40fd4d49d Container: fix minor warning.
[SVN r83984]
2013-04-20 14:04:00 +00:00
Ion Gaztañaga
9c97e11949 Fixes operator- bug.
[SVN r83960]
2013-04-18 20:04:04 +00:00
Ion Gaztañaga
6acbbb6f9b Vector performance improvements: dispatching to memcpy when possible.
[SVN r83271]
2013-03-03 12:26:48 +00:00
Ion Gaztañaga
9b0a73fc32 Add experimental option to define "vector::iterator" as "pointer"
[SVN r83140]
2013-02-24 20:34:15 +00:00
Ion Gaztañaga
0896d04ddf Additional vector speed improvements, added basic benchmark against varray
[SVN r83126]
2013-02-24 13:13:36 +00:00
Ion Gaztañaga
f309f82a8f Added experimental static_vector first sketch
[SVN r83036]
2013-02-19 21:35:46 +00:00
Ion Gaztañaga
d3a350d56f vector performance optimization: simplified allocator holder, constructors rewritten to avoid unnecessary initializations.
[SVN r82846]
2013-02-12 21:26:21 +00:00
Ion Gaztañaga
c0cb9ae2c7 Cleanup unnecessary variables in erase(const_iterator)
[SVN r82814]
2013-02-11 11:31:02 +00:00
Ion Gaztañaga
99c8d5d9d7 Fixes #7227
[SVN r82429]
2013-01-10 10:55:50 +00:00
Ion Gaztañaga
bc5c91bb79 * Improved vector's insertion performance.
*  Changed again experimental multiallocation interface for better performance (still experimental).
*  Added no exception support for those willing to disable exceptions in their compilers.
*  Fixed GCC -Wshadow warnings.
*  Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros.


[SVN r81518]
2012-11-24 21:08:18 +00:00
Ion Gaztañaga
b480cc235f More Doxygen documentation improvements
[SVN r80795]
2012-09-30 20:38:04 +00:00
Ion Gaztañaga
42ea3ca8c7 Bug #7439
[SVN r80743]
2012-09-28 21:07:02 +00:00
Ion Gaztañaga
ac05be5947 Reordered sequence container types and functions to improve Doxygen documentation
[SVN r80686]
2012-09-24 10:27:02 +00:00
Ion Gaztañaga
1582b2086d Corrected strict aliasing error in multiallocation_chain
[SVN r80514]
2012-09-13 18:54:58 +00:00
Ion Gaztañaga
22a18c25fb Reduced template code bloat making stable_vector's index independent from value_type.
[SVN r80478]
2012-09-09 21:47:32 +00:00
Ion Gaztañaga
3c256c2282 Implemented LWG Issue #149 (range insertion now returns an iterator) & cleaned up insertion code in most containers
[SVN r80348]
2012-09-01 11:01:03 +00:00
Ion Gaztañaga
011f1fb181 Fixed error in insertions with input iterator ranges
[SVN r80193]
2012-08-25 08:54:03 +00:00
Ion Gaztañaga
32bf689e63 Ticket #7269
[SVN r80172]
2012-08-24 20:36:23 +00:00
Ion Gaztañaga
9460e03224 Trailing whitespaces
[SVN r78518]
2012-05-20 10:02:49 +00:00
Ion Gaztañaga
ffde790ae0 Updated scoped allocator support
[SVN r77911]
2012-04-11 06:26:20 +00:00
Ion Gaztañaga
c5bdec851e Experimental scoped_allocator support
[SVN r77480]
2012-03-22 18:46:55 +00:00
Ion Gaztañaga
deae817e98 Documentation fix. Ticket 6499
[SVN r76829]
2012-02-01 22:12:10 +00:00
Ion Gaztañaga
ccff43c8fb Fixes for VC2005 and replaced some remaining placement news/destroys with allocator traits
[SVN r76262]
2012-01-01 18:48:00 +00:00
Ion Gaztañaga
cd25b32744 Bugs #6335 & #6336
[SVN r76236]
2011-12-30 23:38:12 +00:00
Ion Gaztañaga
336a1cc472 Bug #6205
[SVN r76113]
2011-12-23 11:47:56 +00:00
Ion Gaztañaga
935a534713 Introducing allocator_traits and pointer_traits changes into several libraries.
[SVN r76106]
2011-12-22 20:08:24 +00:00
Ion Gaztañaga
5247083184 Fixed error with input_iterator insertion
[SVN r74259]
2011-09-06 11:43:41 +00:00
Ion Gaztañaga
ceb1507318 Fixed bug in vector's constructor
[SVN r74155]
2011-08-30 12:50:33 +00:00
Ion Gaztañaga
97843bcaef First inclusion in the repository
[SVN r74076]
2011-08-26 18:25:51 +00:00