Commit Graph

32 Commits

Author SHA1 Message Date
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
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
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
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
c263c61635 Add missing container_common_tests.hpp header 2016-06-25 11:09:23 +02: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
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
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
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
d849f80ea5 Removed tabs. 2014-07-30 16:32:55 +02: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
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
0896d04ddf Additional vector speed improvements, added basic benchmark against varray
[SVN r83126]
2013-02-24 13:13:36 +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
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
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
90782d289b Documentation fixes, added AutoIndex indexes
[SVN r74154]
2011-08-30 12:23:34 +00:00
Ion Gaztañaga
46d4f1e294 First inclusion in the repository
[SVN r74077]
2011-08-26 18:26:44 +00:00