Commit Graph

43 Commits

Author SHA1 Message Date
Ion Gaztañaga
f3e2c9cc73 Add simple iteration option for regression runnersa dn save CPU 2018-09-25 09:06:33 +02:00
Ion Gaztañaga
c4a8cac5a1 Fix unused variable warnings 2018-09-15 01:12:17 +02:00
Ion Gaztañaga
139db663a3 * Implemented C++20 contains() for associative containers as specified in P0458R2.
* Fixed serious bug in heterogeneous lookup functions (is_transparent was broken).
2018-08-13 15:36:00 +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
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
44919284a9 Change allocator name logic 2017-10-20 00:31:53 +02:00
zerotypos-found
7cb3a6fbe8 [inspection report] remove tabs and fix copyright notice format 2016-12-20 11:03:57 +09: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
e7faf92113 Add missing <cassert> headers 2016-06-25 11:20:36 +02:00
Ion Gaztañaga
16ab9955f2 Reduce bench constants for debug modes 2016-02-23 13:28:17 +01:00
Marshall Clow
cd84bf99c5 Remove use of deprecated macros; use replacements 2015-09-10 13:25:58 -07: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
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
10d027aa9c Include boost/config.hpp before testinG BOOST_HAS_PRAGMA_ONCE. 2015-02-02 15:26:53 +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
Adam Wulkiewicz
099966e1cf Fix varray_detail::construct() (version emulating perfect forwarding). 2015-01-04 04:00:46 +01:00
Ion Gaztañaga
a369e3c8c5 Avoid instantiating iterator tags to allow iterators that define iterator_categories with forward declared tags. 2015-01-04 02:29:15 +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
afd1c2d266 Use boost::adl_move_swap instead of own swap utility
Imported basic algorithms from Boost.Intrusive
2014-11-26 19:33:27 +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
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
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
08343e5d5d Passed insert_vs_emplace to the regression tests group 2014-08-04 08:53:25 +02:00
Ion Gaztañaga
644bea4404 Added test for const prvalues in insert vs. emplace 2014-08-04 00:41:47 +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
717959061e Make debug benchmarks faster reducing iterations. 2014-07-20 14:43:58 +02:00
Ion Gaztañaga
8c1bfe2881 Removed trailing whitespaces 2014-05-28 15:50:13 +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
4f2d7944fa Corrected test_suite name 2014-02-06 11:53:36 +01:00
Ion Gaztañaga
a4c0188173 Divided set benchmark in several smaller benchmark files 2014-02-06 11:13:22 +01:00
Ion Gaztañaga
a4b839628a Implemented unique associative containers' equal_range using lower_bound_range which is more efficient with heavy comparison functions.
Updated benchmark to avoid measuring redundant operations in searches.
2014-01-20 13:20:02 +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
2b804c880b Fix GCC warning about unused typedef in release mode. 2014-01-05 22:37:09 +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
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
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
6acbbb6f9b Vector performance improvements: dispatching to memcpy when possible.
[SVN r83271]
2013-03-03 12:26:48 +00:00
Ion Gaztañaga
3948f040b9 Rolled back to standard construction in benchmark
[SVN r83127]
2013-02-24 13:16:40 +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