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
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
b4acbdf3e8
Add test from #53
2019-01-07 23:32:07 +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
2cd28cdd9c
Replace boost/test/minimal.hpp from Boost.Test with boost/core/lightweight_test.hpp
2018-12-22 21:35:48 +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
b8149a3a77
Tests and minor fixes for #42
2018-02-20 22:20:24 +03:00
Antony Polukhin
6caaa65563
Fixes for function ref quallifires usage
2017-10-22 22:25:54 +03:00
diplay
bb9473dfd0
remove hardcoded -std from toolset params
2017-10-10 13:16:25 +03:00
diplay
18fb1d3d7f
rvalue and const lvalue reference visitables for multivisitors
2017-10-10 12:37:55 +03:00
diplay
86142eccda
ticket #6971 fix
2017-10-09 17:47:27 +03:00
very-cool-name
b2339c4c8d
Merge branch 'develop' into fix_joint_view
2017-07-04 21:02:16 +03:00
Albert Sverdlov
33f9fd4d51
Remove # symbol
2017-05-29 18:42:56 +03:00
Albert Sverdlov
c46ede5c1a
Restore empty comment line
2017-05-26 02:57:21 +03:00
Albert Sverdlov
1cc3765061
Handle get<U&>() case; Add tests
2017-05-26 02:54:28 +03:00
Antony Polukhin
872c734eea
Revert "unpack types from mpl::joint_view for make_variant_over function (tra…"
2017-04-23 09:17:10 +03:00
Mike Maximoff
bf0ab5ff84
unpack types from mpl::joint_view for make_variant_over function (trac #8554 )
2017-03-15 21:16:47 +03:00
Mike Maximoff
ec27e4deb7
Fix gcc 6 fail, when it tries to determine whether recursive_wrapper is_nothrow_move_constructible (trac #12680 )
2017-01-12 14:18:49 +03:00
Mike Maximoff
65d1fb524b
Tests hash_recursive_variant only on compilers with unordered_set and template aliases. Copyright and original trac issues added.
2016-12-21 14:25:02 +03:00
Mike Maximoff
3aacf56026
Fixed forbidden construction of variant from recursive_variant_ (trac #12508 , #12645 )
2016-12-20 13:57:08 +03:00
Antony Polukhin
ae466ff353
Added tests from pull request 21
2016-07-23 23:10:59 +03:00
Antony Polukhin
b3650685f9
Variant constructors and assignment operators now do not participate in overload resolutions if variant can not hold the input type (trac 5871, trac 11602)
2016-05-28 01:29:52 +03:00
Antony Polukhin
3d4b1ed964
More RTTI off tests and make sure that all the tests pass with RTTI off
2015-04-25 15:06:39 +03:00
Antony Polukhin
a79b3978a5
Improve tests coverage: add tests to ensure varinat is in correct state after exception in assignment of move assignemnt functions; make sure that recursive varinats swap and assign well
2014-12-11 17:47:19 +03:00
Antony Polukhin
1231f51501
Initial implementation of a metaprogramming function, that is capable of detecting element index in variant::types. Some tests to make sure that no old valid code was broken
2014-12-09 17:31:41 +03:00
Antony Polukhin
f8a29a0d2f
Autodetect visitation return type for unary visitors (refs svn #10837 )
2014-12-02 17:48:57 +03:00
Antony Polukhin
ed614a6260
Applied patches from Boost.TypeIndex
2014-09-02 12:04:27 +04:00
Antony Polukhin
1b50119b21
Fix issues reported by Boost Inspection Tool
2014-08-01 14:09:36 +04:00
Antony Polukhin
464799f446
Refs #9479 (polymorphic_get for Boost.Variant)
2013-12-10 16:13:49 +04:00
Antony Polukhin
e20324e2c4
Updated docs and variadic templates support
2013-12-09 11:50:15 +04:00
Antony Polukhin
0d43b3ec34
Commit missing test file for Boost.Variant and uncomment line in Jamfile (refs #2839 )
...
[SVN r86049]
2013-09-30 07:39:25 +00:00
Rene Rivera
b0ec38cbc4
Fix overall Boost testing because of missing file.
...
[SVN r85991]
2013-09-28 20:02:17 +00:00
Antony Polukhin
791f267dda
Optimize and fix ambiguity of move_swap in Boost.Variant (refs #2839 )
...
Fix GCC-4.8+ warning in variant_reference_test.cpp
[SVN r85927]
2013-09-26 07:29:25 +00:00
Antony Polukhin
d8180bc3a8
Add experimental variadic templates support to Boost.Variant, enable usage of variadic version for gcc-4.8, clang-3.0 and later compilers (refs #9163 )
...
With this patch size of a binary siginificantly reduced (up to two times)
[SVN r85899]
2013-09-25 11:54:19 +00:00
Antony Polukhin
eebda61e78
Make Boost.Variant work on exception-disabled environments (refs #8717 )
...
[SVN r85081]
2013-07-19 11:40:06 +00:00
Antony Polukhin
bc54cab94e
Multivisitors commit (refs #8459 )
...
[SVN r84112]
2013-05-02 16:45:58 +00:00
Antony Polukhin
f398fb9b2a
Added basic rvalue support and marked some functions with BOOST_NOEXCEPT (#refs #7620 )
...
[SVN r81293]
2012-11-11 08:04:55 +00:00
Antony Polukhin
2bef470d77
Fixes #6163 (hash function for variant added)
...
[SVN r75606]
2011-11-22 16:05:44 +00:00
John Maddock
0110af77a4
Fix various Variant warnings.
...
Addresses issue #1507 .
[SVN r57631]
2009-11-13 10:07:30 +00:00
Vladimir Prus
5bb8bbcd32
Add V2 Jamfile.
...
[SVN r22858]
2004-05-18 07:30:09 +00:00