Commit Graph

197 Commits

Author SHA1 Message Date
diplay
ce556f3371 reduce copy-paste 2017-10-10 12:08:08 +03:00
diplay
86142eccda ticket #6971 fix 2017-10-09 17:47:27 +03:00
Antony Polukhin
18bf0a18f3 Merge remote-tracking branch 'danielae/feature/qoi-warning' into develop 2017-09-26 21:19:39 +03:00
Mike Maximoff
a904c0ebbc make_variant_over does not revert type sequence. Added tests using variant.which(). 2017-07-06 12:38:34 +03:00
very-cool-name
b2339c4c8d Merge branch 'develop' into fix_joint_view 2017-07-04 21:02:16 +03:00
Mike Maximoff
ad50a55c65 Merge branch 'develop' into fix_joint_view
# Conflicts:
#	include/boost/variant/variant.hpp
2017-07-04 18:12:40 +03:00
Daniela Engert
6c2c2fd506 Silence msvc compiler warnings about constant conditional expressions, returning the adress of local variables, and unused formal parameters.
Signed-off-by: Daniela Engert <dani@ngrt.de>
2017-06-08 19:10:43 +02:00
Albert Sverdlov
5b61db29a3 Remove unnecessary variable 2017-05-29 20:37:59 +03:00
Albert Sverdlov
33f9fd4d51 Remove # symbol 2017-05-29 18:42:56 +03:00
Albert Sverdlov
f62f657d4e Fix tests; Fix copyright; Remove unnecessary mpl::not 2017-05-29 18:42:25 +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
eebee81acf Speedup AppveyorCI builds 2017-05-18 23:23: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
Antony Polukhin
d9626aef6f Updated AppveyorCI script 2017-04-22 20:59:12 +03:00
Mike Maximoff
caf6264c58 Added test of related issue with mpl::set (trac #10041) 2017-03-19 23:06:26 +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
Antony Polukhin
215704dfb3 Run MinGW tests too (thanks to Pavel Filinov for showing that appveyor ability) 2017-02-24 08:22:01 +03:00
Antony Polukhin
fc7a665272 Make polymorphic_*get work as *get in undocumented border cases and fix tests (trac 11950) 2017-02-02 22:19:37 +03:00
Antony Polukhin
fd2a03827f Do not depend on std::array 2017-01-20 22:22:41 +03:00
Antony Polukhin
fbad41fb90 Added test case from trac ticket 7120 2017-01-20 22:21:49 +03:00
Mike Maximoff
effbf189b6 Used __cpp_inheriting_constructors as guard. Fixed unused variable warnings. 2017-01-13 23:46:08 +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
6655e8c11f Updated CI scripts 2016-11-19 18:35:53 +03:00
Antony Polukhin
ae466ff353 Added tests from pull request 21 2016-07-23 23:10:59 +03:00
Antony Polukhin
5dab3b7ab9 Another attempt to workaround partial classes compilation with clang+libc++ (issue preventing boost::spirit::info from compilation) 2016-06-07 22:19:37 +03:00
Antony Polukhin
b84f8c2141 boost::recursive_wrapper related tests for non-complete types + include recursive_wrapper.hpp in variant.hpp to avoid breaking existing code 2016-06-04 11:01:40 +03:00
Antony Polukhin
7259ab9b32 Make sure that overloads for variant assingnment are not abiguous when assigning structure derived from variant 2016-06-02 21:52:04 +03:00
Antony Polukhin
d23cdd3502 Fixed variant construction from classes derived from variant (trac 7120, trac 10278, trac 12155) 2016-05-30 20:11:22 +03:00
Antony Polukhin
2e9d5566b3 Fix travis builds 2016-05-30 20:09:08 +03:00
Antony Polukhin
9f234aefa4 Fix typo 2016-05-28 01:48:47 +03:00
Antony Polukhin
85d7a5c72d Added test for issue with implicit conversion operator (trac 11602) 2016-05-28 01:46:47 +03:00
Antony Polukhin
082732aad8 Fix comparisons when variant holds non-const reference (trac 11751) 2016-05-28 01:32:29 +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
Jochen Topf
32732fac1f fix typo 2016-02-02 09:31:44 +01:00
Antony Polukhin
ec32d3c1c8 Fixed some warnings in test 2015-12-14 19:15:49 +03:00
Antony Polukhin
1de9d246c0 Quckfix for C++14 tests 2015-06-26 00:53:21 +03:00
Antony Polukhin
0b9cb5792b Fixed some warnings in tests 2015-06-22 00:26:10 +03:00
Antony Polukhin
aad58b5fe5 Fix issue with detection of result_type in has_result_type trait when result_type is a reference (refs track 11251,11285) 2015-06-17 21:25:11 +03:00
Antony Polukhin
34e2a9dec8 Relax compile time checks for all the 'get' functions and add more tests 2015-06-17 00:42:42 +03:00
Antony Polukhin
2b2cc6543c Fix error with missing include, that was found by Maarten de Vries 2015-05-10 21:53:27 +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
da6494128d Do check result type detection for delayed visitation ONLY if variadic templates are available 2015-02-11 12:05:47 +03:00
Antony Polukhin
57090d9209 Fix test compilation (missing header) 2015-01-04 20:19:51 +03:00
Antony Polukhin
da89ab5633 Add test for unambiguous call to swap (refs trac #10882) 2014-12-26 16:49:31 +03:00
Antony Polukhin
3b84e2b981 Make the variant_nonempty_check check variant behavior on different internal policies: with/without fallback type + throw/nothrow copyable + throw/nothrow movable 2014-12-12 17:01:17 +03:00
Antony Polukhin
6db01d6494 Fixed a bug with copy constructing a backup holder; changed some tests 2014-12-12 16:05:52 +03:00
Antony Polukhin
a090e75efe Throw exceptions on specified assignment numer N in variant_nonempty_check and make tests run on a multiple different Ns 2014-12-12 14:22:37 +03:00
Antony Polukhin
12ab1675c7 Another attempt to improve tests coverage 2014-12-11 18:46:29 +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
3e9aec5371 Avoid some non essential hard for compilers tests, improve tests coverage 2014-12-11 15:21:35 +03:00
Antony Polukhin
cbf4bbf1b1 Apply naming recomendations from mailing list discussion: unsafe=>relaxed, safe=>strict 2014-12-10 14:03:33 +03:00
Antony Polukhin
46250fa7d2 Make polymorphic_get U type compile time checked, add more tests and improve docs. Use strict as a default policy for polymorphic_get and get (as recomended at mailing list discussions) 2014-12-10 13:32:18 +03:00
Antony Polukhin
bcf506a296 Started the work on polymorphic_get to determinate sanity/safety of getting Base type. Fixed an issue with polymorphic_get<const final>. More tests, added safe_get and unsafe_get methods. Minor update of the docs 2014-12-09 20:50:18 +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
5cd1e3ee85 More tests and minor fixes for variadic multi visitation 2014-12-08 14:00:42 +03:00
Antony Polukhin
0231eefd43 More docs and tests for new variadic templates related features; tune apply_visitor(visitor) to use variadic templates and be suitable for visitors with any count of input opertors 2014-12-05 18:02:46 +03:00
Antony Polukhin
2770d7569e Variadic templates based multivisitors now compile, result_type is determinated automatically if required 2014-12-05 14:51:58 +03:00
Antony Polukhin
6fff67381e Merge branch 'develop' into variadic_multivisitors 2014-12-05 12:01:38 +03:00
Antony Polukhin
6db941f3dd Added missing relational operators and their docs (refs trac #10811 and #8620) 2014-12-03 20:42:10 +03:00
Antony Polukhin
ecdde80ea5 Some thoughts about multivisitors based on variadic templates 2014-12-03 19:25:47 +03:00
Antony Polukhin
6e31806038 Autodetect visitation result type for binary visitors (refs svn #10837) 2014-12-02 18:59:58 +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
0367512bc7 Fix for pull request #4 : make it possible to return movable-only structures; reduce resulting binary size by removing duplicate BOOST_ASSERTs 2014-06-23 20:10:10 +04:00
Antony Polukhin
134dfbf46e Do not use in hash tests. Added a few more tests for variant hashing 2014-05-07 18:49:09 +04:00
Antony Polukhin
9bc9c1c143 Do not use variadic templates on platforms that do not have full support of that feature 2014-04-24 11:53:00 +04:00
Ed Catmur
e30800b534 Substitute recursive variant tag within variadic templates (e.g. tuple)
Unspecialize variadic substitute on Arity to prevent ambiguity with boost::variant<...> partial specialization in recursive_variant.hpp; add test.

Add check for BOOST_NO_CXX11_HDR_TUPLE, in case we end up with a compiler with variadic templates but no std::tuple
2014-04-11 01:47:09 +01:00
Antony Polukhin
63fb3ff427 Do not use variadic templates on MSVC2013 + add some tests to make sure that Spirit metaprogramming code works well with macro from Variant 2014-01-22 11:52:03 +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
1b57cf1ade Fix issue with const rvalue references in Boost.Variant (refs #8988)
[SVN r85315]
2013-08-12 12:00:13 +00:00
Antony Polukhin
f9d2d9f9d9 Get rid of Boost.Variant hand written non-usable move emulation and use Boost.Move instead (refs #7601). This commit does not make Boost.Variant use move emulated assignments in all situations, but at least removes duplicate/non-working code and makes sure that Boost.Variant is able to work with boost::move (one step closer to full support of rvalue references emulations).
[SVN r85159]
2013-07-25 13:19:50 +00:00
Antony Polukhin
86165b88e3 Temporary disable noexcept detection for move assignment for Boost.Variant (exception specification detection for assignment requires call to is_nothrow_move_assignable for each type. But GCC 4.6 fails to do that and complains about incomplete types ) (refs #7911)
[SVN r85089]
2013-07-20 17:20:02 +00:00
Antony Polukhin
e8e060416c Fix test case (refs #8772)
[SVN r85087]
2013-07-20 15:32:31 +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
a3eb4ddd48 Fix compilation of Boost.Variants move assignment for situations when one of the variant template classes has nothrow copy constructor and throwing move constructor (refs #8772)
[SVN r85080]
2013-07-19 07:52:40 +00:00
Antony Polukhin
e6014a3e21 Added code (and tests) to mark move constructors and move assignemnt of Boost.Variant as noexcept if possible (refs #7911)
[SVN r85079]
2013-07-19 07:43:03 +00:00
Antony Polukhin
f5f3769cd4 Update Boost.Variant documentation, add info about multivisitors (refs #8459)
[SVN r84227]
2013-05-10 16:30:12 +00:00
Antony Polukhin
64673bf9df Added one more test for multivisitors that will be used as an example in documentation (refs #8459)
[SVN r84224]
2013-05-10 14:08:49 +00:00
Antony Polukhin
bc54cab94e Multivisitors commit (refs #8459)
[SVN r84112]
2013-05-02 16:45:58 +00:00
Antony Polukhin
d1376d9783 Basic rvalues and C++11 support part 2 (refs #7718 , all bugs from patch were fixed)
[SVN r81617]
2012-11-28 19:20:19 +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
Steven Watanabe
f9e03b6053 Supress warnings from variant. Refs #4666.
[SVN r71083]
2011-04-07 15:35:56 +00:00
Steven Watanabe
3f255f9108 Avoid error instantiating map with recursive_variant_. Disable ADL to make instantiation less likely. Fixes #4584.
[SVN r67604]
2011-01-03 04:57:44 +00:00
Steven Watanabe
392fab2f89 Make sure that recursive_variant_ substitution works in all cases. Fixes #1654
[SVN r62753]
2010-06-10 18:16:19 +00:00
John Maddock
0110af77a4 Fix various Variant warnings.
Addresses issue #1507.

[SVN r57631]
2009-11-13 10:07:30 +00:00
Troy D. Straszheim
fad89dadec rm cmake from trunk. I'm not entirely sure this is necessary to satisfy the inspect script, but I'm not taking any chances, and it is easy to put back
[SVN r56942]
2009-10-17 02:07:38 +00:00
Troy D. Straszheim
802f51fdc0 Copyrights on CMakeLists.txt to keep them from clogging up the inspect
reports.  This is essentially the same commit as r55095 on the release
branch.



[SVN r55159]
2009-07-26 00:49:56 +00:00
Daniel James
5d727edcff Support BOOST_NO_TYPEID and BOOST_NO_IOSTREAM in Boost.Variant. Fixes #3051.
[SVN r53682]
2009-06-06 11:46:24 +00:00
Michael A. Jackson
0fe5e2e874 Updating CMake files to latest trunk. Added dependency information for regression tests and a few new macros for internal use.
[SVN r49627]
2008-11-07 17:02:56 +00:00
Michael A. Jackson
7df722ef6e Continuing merge of CMake build system files into trunk with the encouragement of Doug Gregor
[SVN r49510]
2008-11-01 13:15:41 +00:00