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