Ion Gaztañaga
7239c8e262
Refactor initializer_list tests to avoid code duplication and add some missing initializer_list overload tests
2015-02-27 19:24:46 +01:00
Ion Gaztañaga
8cdfec7890
Add experimental small_vector class
2015-02-26 00:35:59 +01:00
Ion Gaztañaga
4609c78ccb
Test more constructors
2015-02-26 00:34:37 +01: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
342bd73aeb
Implement storage_can_be_propagated and is_always_equal.
2015-02-26 00:25:14 +01:00
Ion Gaztañaga
d0750f4493
Rename parameters to avoid confusion when debugging.
2015-02-26 00:17:57 +01:00
Ion Gaztañaga
22f1d32f7b
Addd new constructors to containers, according to C++14's new constructors taking allocator arguments.
2015-02-03 14:08:29 +01:00
Ion Gaztañaga
10d027aa9c
Include boost/config.hpp before testinG BOOST_HAS_PRAGMA_ONCE.
2015-02-02 15:26:53 +01:00
Ion Gaztañaga
b786c8f716
Replaced BOOST_CONTIANER_NOEXCEPT with BOOST_NOEXCEPT
2015-01-28 22:11:00 +01:00
Ion Gaztañaga
f0f35a830d
Added C++17's is_always_equal to allocator_traits and scoped_allocator_adaptor
2015-01-18 11:22:52 +01:00
Ion Gaztañaga
1012987897
Fix max_size to return the size_type(-1)/sizeof(value_type), as otherwise it would overflow on allocation.
2015-01-17 22:52:17 +01:00
Ion Gaztañaga
7635eba375
Typedef'ed allocator_arg_t as "const std::allocator_arg_t &" to improve interoperability between C++11 allocator-aware types.
2015-01-17 19:11:52 +01:00
Ion Gaztañaga
69324174c7
Support types with std::allocator_arg_at with boost::container::scoped_allocator_adaptor
2015-01-11 23:50:58 +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
36c8f81e42
Add placement new operator to avoid <new> unnecessarily.
2015-01-10 10:58:08 +01:00
Ion Gaztañaga
493f19f2a9
New tests, to measure if container headers include all what's needed to use them.
2015-01-04 02:27:23 +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
456e9fedcb
Some adaptations due to internal Intrusive changes.
2014-12-08 15:49:21 +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
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
5d6123152c
Removed unneeded includes. Refactores std forward declarations
2014-10-04 09:05:04 +02: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
92e81fcf77
Fix compile error in GCC due to missing include and fixed some signed/unsigned comparison warnings
2014-09-23 18:50:46 +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
Ion Gaztañaga
4d5b9a80cf
Added life cout and double destruction assertions to test integer-like classes.
...
Changelog updated with double destruction bugs fix.
2014-09-23 17:29:26 +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
1e40192e96
Added more tests for backwards expansion
2014-09-20 17:29: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
Ion Gaztañaga
0ccf576872
Updated range insertion code for enhanced performance.
2014-09-17 21:51:38 +02:00
Ion Gaztañaga
f213f55f20
Includes: Updated detail/xxx.hpp includes to core/xxx.hpp, added some missing move/traits.hpp and removed some unused ones.
2014-09-17 21:49:47 +02:00
Ion Gaztañaga
2e009da1e8
Fixed some ordered insertion tags
2014-08-29 15:03:42 +02:00
Ion Gaztañaga
aae1f9df27
Fixed compilation error in C++03 compilers and updated changelist with initializer_lists.
2014-08-29 12:52:41 +02:00
Robert Matusewicz
cbe191b5e3
add std::initializer_list support to flat_set and flat_multiset
2014-08-28 13:15:14 +02:00
Robert Matusewicz
e2b815c196
add std::initializer_list support for flat_map and flat_multimap
2014-08-28 13:15:10 +02:00
Robert Matusewicz
f8ebfa472a
Add std::initializer_list to the following containers:
...
* deque
* map
* multimap
* set
* multiset
* list
* slist
Tested on clant and g++
2014-08-27 17:34:25 +02:00
Robert Matusewicz
089edf9d35
add support for std::initializer_list to boost::container::static_vector
2014-08-19 20:23:14 +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
dd01853881
Erased tab & removed unneeded clear() in assignment
2014-08-15 18:13:05 +02:00
Ion Gaztañaga
c03b2357ce
Erased tab & removed unneeded clear() in assignment
2014-08-15 18:12:18 +02:00
Robert Matusewicz
d0f8fe793c
add support for std::initialize_list in stable_vector constructor, operator=, assign and insert methods
2014-08-15 15:32:07 +02:00
Ion Gaztañaga
08343e5d5d
Passed insert_vs_emplace to the regression tests group
2014-08-04 08:53:25 +02:00
Ion Gaztañaga
d849f80ea5
Removed tabs.
2014-07-30 16:32:55 +02:00
Ion Gaztañaga
790a8798d4
Fixes Trac issue #9801 ("I can no longer create and iterator_range from a stable_vector")
2014-06-06 13:21:03 +02:00
Ion Gaztañaga
8c1bfe2881
Removed trailing whitespaces
2014-05-28 15:50:13 +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
a4c0188173
Divided set benchmark in several smaller benchmark files
2014-02-06 11:13:22 +01:00
Ion Gaztañaga
abc50c7275
Improved unique associative container count function. Improved also flat_xxx's equal_range.
2014-01-19 19:18:57 +01:00
Ion Gaztañaga
6d6656fcc1
Improved set test with search functions and added set<string> test to benchmark.
2014-01-19 18:35:40 +01:00
Ion Gaztañaga
a93e23f22a
Inherit set/multiset/map/multimap from tree to avoid redundant instantiations in debug mode and simplify maintenance.
2014-01-05 22:36:01 +01:00
Ion Gaztañaga
d3eb21000b
Derived flat_set from flat_tree to avoid redefining almost all functions and minimize instantiation of multiple function in debug mode.
2014-01-03 14:52:13 +01:00
Ion Gaztañaga
01486761a6
Added support for configurable tree-based associative containers. In addition to RB trees, AVL, Scapegoat and Splay trees are experimentally supported.
2014-01-03 13:26:57 +01:00
Ion Gaztañaga
fc8507b48c
Some comments in the testcases separating test groups.
2013-12-26 13:10:54 +01:00
Ion Gaztañaga
9ac4ae6fdc
Added a static assert to make sure that flat_[xxx]map::allocator_type::value_type is std::pair<Key, T>. Fixed some test cases failing to do that properly.
2013-12-24 19:00:52 +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
59c5ed7781
Fixed error in default_init_allocator, it should not construct objects, only allocate raw memory.
...
[SVN r85999]
2013-09-29 11:39:34 +00:00
Ion Gaztañaga
232e18956a
Fixed error for test_allocator::max_size(), now returns std::size_t(-1)
...
[SVN r85998]
2013-09-29 11:38:47 +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
1e4be891d0
Remove unused header.
...
[SVN r85687]
2013-09-15 19:47:36 +00:00
Ion Gaztañaga
3e945acc9b
Fixes #9092
...
[SVN r85612]
2013-09-08 18:58:21 +00:00
Ion Gaztañaga
027c92fad3
Fixes #9064
...
[SVN r85537]
2013-08-31 21:49:26 +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
db9dfed107
Test update for #8892 + changelog updated.
...
[SVN r85169]
2013-07-29 21:40:30 +00:00
Ion Gaztañaga
8ef4b5e1e4
Fixes #8553
...
[SVN r84359]
2013-05-18 21:04:54 +00:00
Ion Gaztañaga
754736c83f
Added missing test file.
...
[SVN r83571]
2013-03-25 22:35:27 +00:00
Ion Gaztañaga
7634deec5c
Added insertion test to vector-like containers
...
[SVN r83469]
2013-03-16 19:31:32 +00:00
Ion Gaztañaga
f1a4d7f82e
Fixes #8294
...
[SVN r83467]
2013-03-16 16:19:08 +00:00
Ion Gaztañaga
43b3b7112b
Adapted test to new BOOST_TEST_THROWS utility
...
[SVN r83434]
2013-03-14 23:09:54 +00:00
Ion Gaztañaga
ff57d9287e
Marked vector iterator and boost::interprocess::offset_ptr as contiguous storage iterators to speed up insertion in vector with trivially copyable types.
...
[SVN r83416]
2013-03-13 16:14:17 +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
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
99c8d5d9d7
Fixes #7227
...
[SVN r82429]
2013-01-10 10:55:50 +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
b480cc235f
More Doxygen documentation improvements
...
[SVN r80795]
2012-09-30 20:38:04 +00:00
Ion Gaztañaga
de1caeb5d0
Fixed test error (allocator<void> might not have size_type) + modified changelog in documentation
...
[SVN r80522]
2012-09-13 22:07:37 +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
a8d20305dc
Improved type safety and strict aliasing
...
[SVN r80404]
2012-09-05 09:28:24 +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
b0e36c06e9
Ticket #7123 : Forward declaration for scoped allocator customization traits.
...
[SVN r79463]
2012-07-12 23:26:43 +00:00
Ion Gaztañaga
00d0700088
Updated changeset
...
[SVN r79430]
2012-07-11 22:09:37 +00:00
Jürgen Hunold
390dce6172
Fix regressions introduced in r78802.
...
Reference #6940 . Rename TIME_UTC to TIME_UTC_
[SVN r78972]
2012-06-16 12:05:44 +00:00
Ion Gaztañaga
082c47b721
Trailing whitespaces
...
[SVN r78519]
2012-05-20 10:03:06 +00:00
Ion Gaztañaga
1c7b258541
Corrections for scoped_allocator
...
[SVN r78147]
2012-04-22 21:21:45 +00:00
Ion Gaztañaga
b31cf6c8f4
Added test for containers using scoped allocator
...
[SVN r77915]
2012-04-11 16:02:19 +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
3f3a63d92a
Bugs #6335 & #6336
...
[SVN r76237]
2011-12-30 23:47:03 +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