Antony Polukhin
b18c22a8ff
Revert "Merge pull request #59 from Kojoley/recursive_wrapper-move-constructor-pointer-stealing"
...
This reverts commit dcbfeb9892
, reversing
changes made to 055487c5bb
.
Reverts adding a pointer stealing to the recursive_wrapper.
2019-05-01 20:57:40 +03:00
Ed Catmur
7331d648f4
Add test.
2019-04-21 00:50:00 +01:00
Antony Polukhin
5be655d46f
Update appveyor.yml
2019-04-17 21:23:36 +03:00
Antony Polukhin
b1d66215e1
Update appveyor.yml
2019-04-14 21:58:31 +03:00
Antony Polukhin
74ea828cde
Merge pull request #65 from boostorg/feature/std-hash
...
Add std::hash specialization for variant (refs #49 )
2019-04-12 10:55:46 +03:00
Antony Polukhin
dcbfeb9892
Merge pull request #59 from Kojoley/recursive_wrapper-move-constructor-pointer-stealing
...
recursive_wrapper move constructor pointer stealing
2019-04-12 10:52:35 +03:00
Antony Polukhin
055487c5bb
Avoid git clone issues
2019-04-02 09:23:59 +03:00
Antony Polukhin
31dcc43faf
Add std::hash specialization for variant (refs #49 )
2019-04-01 23:45:21 +03:00
Nikita Kniazev
e20f5eb7b8
Suppress warnings in tests
2019-03-26 17:43:32 +03:00
Nikita Kniazev
df4e29cf1e
Use boost type_traits
2019-02-24 01:44:02 +03:00
Nikita Kniazev
32794c2340
More work done
2019-02-24 00:21:54 +03:00
Nikita Kniazev
754eaf824f
Updated the documentation
2019-02-16 18:55:42 +03:00
Nikita Kniazev
3e93fd428c
followup to recursive_wrapper pointer stealing
...
- Added macro to switch to the old behavior
- Added valueless_recursive method
- Removed nullptr and exchange
TODO:
- Docs
2019-02-08 20:19:21 +03:00
Nikita Kniazev
1364d3ff5f
recursive_wrapper move constructor pointer stealing
...
Instead of allocating a new object just steal the pointer from the other
recursive_wrapper. It is much cheaper and allows to mark the move constructor
noexcept (allows variant to move the object without backup copying it).
2019-01-31 21:15:10 +03:00
Antony Polukhin
d069511e31
Update copyright
2019-01-17 13:00:51 +03:00
Antony Polukhin
ba0746fc9d
Temporary disable test for issue #53
2019-01-08 14:18:24 +03:00
Antony Polukhin
46d8b92f73
Increase fetch depth to avoid issues with submodules
2019-01-08 01:01:52 +03:00
Antony Polukhin
b4acbdf3e8
Add test from #53
2019-01-07 23:32:07 +03:00
Antony Polukhin
9af72f37bc
Update variant_visit_test.cpp
2019-01-05 20:15:22 +03:00
Nikita Kniazev
4b37f9b804
Fixed visitor result type deduction at rvalue ref operators
2019-01-05 19:54:20 +03:00
Antony Polukhin
4addd1022a
Minor changes for the build system
2018-12-23 16:34:00 +03:00
Antony Polukhin
283bff8e21
Merge branch 'develop' into ldionne-visit_deduce
2018-12-23 15:32:54 +03:00
Antony Polukhin
7d865cc369
CI fixes
2018-12-23 12:11:34 +03:00
Antony Polukhin
1725a7f2a1
build only in release mode on some platforms in CI
2018-12-23 09:43:33 +03:00
Antony Polukhin
2cd28cdd9c
Replace boost/test/minimal.hpp from Boost.Test with boost/core/lightweight_test.hpp
2018-12-22 21:35:48 +03:00
Antony Polukhin
9b13f1cb11
Fix test for GCC 4.7 and 4.6
2018-12-15 17:10:47 +03:00
Antony Polukhin
edfb83b342
ci update
2018-12-14 11:57:21 +03:00
Louis Dionne
1c4d882685
Rewrite the deduction of visitor return type
...
This avoids using boost::declval inside evaluated contexts, which is invalid
and will actually be diagnosed by compilers [1] when the type used inside
boost::declval has internal linkage (such as an anonymous namespace).
[1]: https://bugs.llvm.org/show_bug.cgi?id=35842
2018-11-15 18:55:58 -05:00
Antony Polukhin
4a448b2bf7
Fix unused parameter warnings
2018-10-09 11:50:45 +03:00
Antony Polukhin
e5a75bb8e1
Revert "Specialize std::hash for boost::variant. Fixes #49 "
...
This reverts commit d972192e54
.
2018-08-12 20:56:40 +03:00
Antony Polukhin
d972192e54
Specialize std::hash for boost::variant. Fixes #49
2018-08-12 20:36:12 +03:00
Antony Polukhin
98b5d42e6d
Do substitute function arguments on compilers with variadic templates support (more fixes for the #42 )
2018-02-21 23:10:25 +03:00
Antony Polukhin
b8149a3a77
Tests and minor fixes for #42
2018-02-20 22:20:24 +03:00
Daniela Engert
8b073bc92f
disambiguate class variant.
...
When compiled with C++17 features enabled, class variant is defined in both namespace 'std' and namespace 'boost'.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2018-01-26 17:50:49 +01:00
Pawel Dac
33784034b7
Perfect forwarding for passing visitor in apply_visitor.
...
Allows to catch Visitor&&, Visitor& and const Visitor&.
Removed apply_visitor with const Visitor& since it was catching inlined Visitors&&.
Passing const Visitor to result_wrapper resulted in compilation error when Visitor was mutable.
2017-11-07 23:44:43 +01:00
Antony Polukhin
b0852f6e60
Fix test, add copyright and minor code style fix_
2017-10-25 23:16:24 +03:00
Antony Polukhin
85416b5182
Test fixes
2017-10-25 10:06:37 +03:00
Antony Polukhin
6caaa65563
Fixes for function ref quallifires usage
2017-10-22 22:25:54 +03:00
diplay
f132ca7591
minor fix test
2017-10-17 13:11:05 +03:00
diplay
be54a19e1b
mixed tests
2017-10-17 13:01:36 +03:00
diplay
28f8707515
compilation conditions for multivisitor lambda tests
2017-10-13 21:53:42 +03:00
diplay
49e4f90e74
cpp14 multivisitors tests and fix
2017-10-13 15:09:21 +03:00
diplay
3cab439be0
unary c++14 rvalue move semantics
2017-10-13 14:22:55 +03:00
diplay
ec3c0964f1
[wip] c++14 multivisitor with rvalue support
2017-10-13 12:24:30 +03:00
diplay
c15f85475e
[wip] trying to make rvalue multivisit work
2017-10-13 01:24:53 +03:00
diplay
51f5b50dc9
[wip] binary apply visitor move semantics
2017-10-12 14:00:54 +03:00
diplay
09bbcadbc1
[wip] unary visit with rvalue references
2017-10-11 14:45:56 +03:00
diplay
bb9473dfd0
remove hardcoded -std from toolset params
2017-10-10 13:16:25 +03:00
diplay
d4202b8a3f
more structured tests
2017-10-10 12:50:07 +03:00
diplay
18fb1d3d7f
rvalue and const lvalue reference visitables for multivisitors
2017-10-10 12:37:55 +03:00