Commit Graph

43 Commits

Author SHA1 Message Date
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