Commit Graph

35 Commits

Author SHA1 Message Date
Mitsuru Kariya
f25c767a2b Fix has_trivial_destructor_after_move
Most template type parameters 'Allocator' were modified their default type to void since 1.70.0.
These modifications cause has_trivial_destructor_after_move to compile error or yield wrong result.
So, fix them by changing specializations of has_trivial_destructor_after_move.
2019-06-01 22:36:54 +09:00
Roland Dreier
1eb591e85c Fix deallocating never-allocated storage in vector.merge()
If merge() is called on an empty vector, then priv_merge_in_new_buffer() will
call deallocate() with size 0 on the old (not-yet-allocated) vector storage.
This violates the Allocator requirement that the pointer passed to deallocate()
must have come from a call to allocate() with the same size.

Fix this by checking old_cap against 0, and also add a unit test for this bug.
2019-02-23 18:46:06 -08: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
9bba03450f Update changelog and test function for GitHub #81 ("Vector with custom allocator does not support value types with operator&") 2018-11-11 02:03:30 +01:00
Ion Gaztañaga
fe85038ebe Simplify redundant tested variants in functional tests.
Move explicit instantiations from functional tests to "explicit_inst_xxx".
2018-09-25 09:08:24 +02:00
Richard Powell
72195ae288 Adding Constructor Template Auto Deduction guides. 2018-05-11 11:35:25 -06:00
Daniela Engert
13a227a96e
std::allocator<void> is deprecated in C++17
silence the deprecation warning

Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-02-02 15:59:39 +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
33b331da38 Reduce redundant instantiations to improve test build times 2016-02-23 13:29:46 +01:00
Ion Gaztañaga
7764e05444 Changes to support GCC 3.4 2015-10-12 18:51:08 +02:00
Ion Gaztañaga
d01cb72b3f Add iterator tests 2015-04-14 15:03:19 +02:00
Ion Gaztañaga
6c5e527c60 Improve allocator propagation test with new constructors and refactor code to avoid too many wrappers. 2015-02-26 00:32:32 +01:00
Ion Gaztañaga
36c8f81e42 Add placement new operator to avoid <new> unnecessarily. 2015-01-10 10:58:08 +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
5d6123152c Removed unneeded includes. Refactores std forward declarations 2014-10-04 09:05:04 +02:00
Ion Gaztañaga
e697122a2c Updated tests to avoid manual memory management. Replaced with unique_ptr and a reference. Normalized CheckEqualContainers to use references instead of pointers. 2014-09-23 17:30:31 +02:00
mikael
59b46cd338 Fixes a small issue that prevented the use of iterators of containers of incomplete types. Added iterators of incomp-types to unit-tests. 2014-09-21 19:46:58 -04: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
Robert Matusewicz
ac4dde2c6e add std::initializer_list support for boost::container::vector 2014-08-15 20:25:16 +02:00
Ion Gaztañaga
fc8507b48c Some comments in the testcases separating test groups. 2013-12-26 13:10:54 +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
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
Ion Gaztañaga
3d249fa728 Implemented SCARY iterators for all containers
[SVN r85308]
2013-08-11 21:36:19 +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
f56ec3886b Use explicit instantiation for iterators defined outside the class in order to detect compilation errors.
[SVN r82815]
2013-02-11 11:31:59 +00:00
Ion Gaztañaga
6d4af66add * 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 r81519]
2012-11-24 21:09:10 +00:00
Ion Gaztañaga
082c47b721 Trailing whitespaces
[SVN r78519]
2012-05-20 10:03:06 +00:00
Ion Gaztañaga
ed523da2bc Added equal_range and range insertion test prototypes.
[SVN r77908]
2012-04-11 06:24:09 +00:00
Ion Gaztañaga
0098adea15 Added documentation on scoped allocators
[SVN r77679]
2012-03-31 20:57:45 +00:00
Ion Gaztañaga
90740ea8ea Fixed documentation comments
[SVN r77505]
2012-03-23 17:51:44 +00:00
Ion Gaztañaga
82fefee743 Experimental scoped_allocator support
[SVN r77481]
2012-03-22 18:48:57 +00:00
Ion Gaztañaga
e7bae62301 Introducing allocator_traits and pointer_traits changes into several libraries.
[SVN r76107]
2011-12-22 20:15:57 +00:00
Ion Gaztañaga
46d4f1e294 First inclusion in the repository
[SVN r74077]
2011-08-26 18:26:44 +00:00