Ion Gaztañaga
dbafd61d4d
updated move assignments and swap operations to "N4258: Cleaning-up noexcept in the Library, Rev 3" with some customizations.
2015-01-19 00:18:44 +01:00
Ion Gaztañaga
a322203a89
Replaced _MSC_VER with BOOST_HAS_PRAGMA_ONCE before #pragma once.
2015-01-10 12:50:17 +01:00
Ion Gaztañaga
64026d26c2
Correctly initialize vector_value_traits_base<T>::trivial_dctr_after_move
2015-01-09 21:20:24 +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
955248b739
Replace "Allocator" template parameter with "A", according to the standard.
2014-12-11 22:01:58 +01:00
Ion Gaztañaga
32418cab5f
Use boost::adl_move_swap instead of custom swap or std::swap for performance and compatibility reasons.
2014-11-28 15:41:44 +01:00
Ion Gaztañaga
7971dc6602
Refactored uses of <iterator> and <algorithm> to avoid dependencies where possible.
2014-11-26 07:08:06 +01:00
Ion Gaztañaga
d514c1ab66
Refactored comparison functors to reuse compare_functors.hpp classes
2014-11-23 10:07:12 +01:00
Ion Gaztañaga
e6d19fb408
Fixed in bug in vector::operator==
2014-11-09 21:06:36 +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
d19b012d53
Reduced include dependencies:
...
- Replaced boost/move/move.hpp with boost/move/utility_core.hpp
- Replaces <new> with placement_new.hpp
- Removed some unneeded std includes.
2014-09-26 08:12:40 +02:00
Ion Gaztañaga
3af96e0801
Implements N3644.
...
- Avoid deriving from std::iterator_traits as iterators become too fat.
- Use intrusive's reverse_iterator some std::reverse_iterator-s don't value initialize base.
2014-09-24 16:09:56 +02:00
Ion Gaztañaga
f5e678fc70
Remove warning of unused variable.
2014-09-22 22:31:34 +02:00
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