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
Ion Gaztañaga
04b0791593
* Fixed adaptive pool bugs
...
* Improved adaptive pool testing enabling invariant checking in debug mode.
* New compile-time and runtime calculated parameters for adaptive_pool.
* New test comparing set with default allocator or adaptive pool
2018-04-29 12:42:04 +02:00
Ion Gaztañaga
27404a4530
Use BOOST_CONTAINER_FORCEINLINE in swap
2017-12-31 19:37:56 +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
82abe673fc
Fix incorrect temporary folder
2017-12-10 23:33:07 +01:00
Ion Gaztañaga
1b95baa6a1
Add flat_tree_test project
2017-09-10 02:41:27 +02:00
Ion Gaztañaga
2297f6af72
Modify flat associative containers to be adaptors if the allocator argument is a container. This allows using stable_vector, small_vector, static_vector as underlying containers.
2017-08-27 12:40:15 +02:00
Ion Gaztañaga
903b568d13
Split set/map tests as some compilers refuse to allocate too many sectios in the object file
2017-04-06 23:34:30 +02:00
Ion Gaztañaga
865c69bab7
Changed string_view interoperability to a templated solution in order to support also std::string_view.
...
Added missing members and testcases.
2017-02-21 14:27:18 +01:00
Ion Gaztañaga
38947de89c
Update static vector project
2017-01-12 14:49:02 +01:00
Ion Gaztañaga
29b16f1697
Add missing test
2016-09-05 14:58:01 +02:00
Ion Gaztañaga
4298d1984b
* Add missing extract() and insert(node_type) funtion to associative containers.
...
* Simplify select1st
2016-08-29 00:06:57 +02:00
Ion Gaztañaga
fb1be6fa75
Fix Trac #12117 ("flat_set constructor with ordered_unique_range") adding checks to constructors in debug mode
...
Fix typos on value_type checks in flat_[multi]map.
2016-08-15 23:22:57 +02:00
Ion Gaztañaga
8f136bc909
Add custom random_shuffle as some old compiler implementations self-swap some elements.
2016-07-31 23:15:39 +02:00
Ion Gaztañaga
c263c61635
Add missing container_common_tests.hpp header
2016-06-25 11:09:23 +02: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
33d2f0f7af
Add Polymorphic Memory Resource utilities and rework the separately compiled library:
...
- Dlmalloc's based C function are boost_cont_xxx no longer exported, but wrapped into C++ linkage dlmalloc_xxx functions to effectively reuse Boost's dynamic library and autolink machinery instead of rewriting machinery to compile the C source file.
- Refactored scoped_allocator_adaptor's construct logic as it was shared with polymorphic allocator's one. Moved common logic to detail/dispatch_uses_allocator.hpp. Refactored also scoped_allocator_adaptor test utilities to be reused with polymorphic_allocator tests.
2015-09-07 19:16:46 +02:00
Ion Gaztañaga
08918078aa
Add missing small vector's explicit instantiation test
2015-09-07 18:33:51 +02:00
Ion Gaztañaga
03cd71d8cc
Update projects to new names and spacing errors.
2015-06-04 11:44:31 +02:00
Ion Gaztañaga
097da3f73c
Rename stable vector bench to avoid too long names that might give problems in some filesystems.
2015-06-04 11:39:53 +02:00
Ion Gaztañaga
8cdfec7890
Add experimental small_vector class
2015-02-26 00:35:59 +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
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
37578ccaa2
New header, minimal_char_traits_header.hpp, to avoid including <string> to use char_traits when possible.
2015-01-04 02:30:57 +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
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
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
5477125eeb
Added /FIXED:NO flag to projects to make them compatible with some memory error detection tools
2014-09-23 17:28:13 +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
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
d51ef9db46
Added NO_MALLINFO and NO_MALLOC_STATS defines to dlmalloc to avoid dependencies. Implemented boost_cont_allocated_memory based on internal_mallinfo
2014-08-14 00:27:22 +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
90be67e81f
Improved placement proxy to avoid temporary objects when constructing from values from the target type.
...
Added testcase based on Howard Hinnant's "Insert vs. Emplace" article.
2014-08-02 21:30:39 +02:00
Ion Gaztañaga
08b26b5d99
Reintroduced tabs in VS project, as the IDE does not like spaces.
2014-08-02 21:29:20 +02:00
Ion Gaztañaga
d849f80ea5
Removed tabs.
2014-07-30 16:32:55 +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
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
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
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
7634deec5c
Added insertion test to vector-like containers
...
[SVN r83469]
2013-03-16 19:31:32 +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