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
Vladimir Prus
ba9d0e00d7
Remove V1 Jamfiles
...
[SVN r38516]
2007-08-08 19:02:26 +00:00
Douglas Gregor
5d4de6f145
Make sure strlen is available
...
[SVN r27981]
2005-04-05 13:19:56 +00:00
Stefan Slapeta
3f93e162a2
replaced BOOST_TEST
...
[SVN r27054]
2005-02-03 13:48:49 +00:00
Douglas Gregor
ed1f810071
License updates
...
[SVN r24597]
2004-08-19 15:19:17 +00:00
Douglas Gregor
6d5d1e15ce
License update
...
[SVN r24175]
2004-07-30 01:47:08 +00:00
Eric Niebler
17df22fa13
move BOOST_USING_STD_MIN and _MAX and BOOST_PREVENT_MACRO_SUBSTITUTION to the config headers, remove boost/minmax.hpp, update coding guidelines
...
[SVN r23313]
2004-07-02 01:21:32 +00:00
Eric Niebler
ab5613293f
remove std_min and std_max, update minmax coding guidelines
...
[SVN r23162]
2004-06-23 04:49:48 +00:00
Vladimir Prus
5bb8bbcd32
Add V2 Jamfile.
...
[SVN r22858]
2004-05-18 07:30:09 +00:00
Eric Niebler
ec94e74611
remove minmax hack from win32.hpp and fix all places that could be affected by the minmax macros
...
[SVN r22394]
2004-02-26 18:27:02 +00:00
Eric Friedman
46c5c15a62
Updated boost::get<T>(const) now returns const T.
...
[SVN r21385]
2003-12-23 22:50:06 +00:00
Eric Friedman
419c8b1249
recursive_variant is now spelled make_recursive_variant.
...
[SVN r20725]
2003-11-07 06:02:40 +00:00
Eric Friedman
7ba6a79740
Workaround for gcc 2.95.
...
[SVN r20106]
2003-09-18 23:35:55 +00:00
Eric Friedman
3865808373
Now tests for const-correctness.
...
[SVN r20087]
2003-09-17 06:27:09 +00:00
Eric Friedman
9d678ba9c4
Added variant_visit_test.
...
[SVN r20085]
2003-09-17 05:01:55 +00:00
Eric Friedman
9f50c3e8a2
Removed unneeded workaround.
...
[SVN r20074]
2003-09-16 07:12:35 +00:00
Eric Friedman
d7bf902eaf
Added base-derived test.
...
[SVN r20065]
2003-09-15 06:25:22 +00:00
Eric Friedman
9b0c9e87e5
Renamed boost::incomplete to recursive_wrapper.
...
[SVN r20011]
2003-09-11 06:47:04 +00:00
Dave Abrahams
accb34a6ba
Use the import rule
...
[SVN r19968]
2003-09-08 17:38:49 +00:00
Eric Friedman
3fdc83a8b2
Renamed from variant_before_test.cpp.
...
[SVN r19966]
2003-09-08 16:15:55 +00:00
Eric Friedman
3d6606ccbd
1) Replaced variant_before with variant::operator<; 2) Added variant::operator==.
...
[SVN r19953]
2003-09-08 04:42:10 +00:00
Eric Friedman
dd788dc1ff
Added variant_before test.
...
[SVN r19887]
2003-08-31 08:22:21 +00:00
Eric Friedman
ee0081030d
Added reference test.
...
[SVN r19870]
2003-08-29 20:03:04 +00:00
Eric Friedman
b7cca0b3fb
Is incomplete even needed?
...
[SVN r19779]
2003-08-26 06:55:30 +00:00
Eric Friedman
dbcae544b0
Dramatically reduced overhead caused by recursive_variant implementation for non-recursive variants.
...
[SVN r19720]
2003-08-21 07:16:09 +00:00
Eric Friedman
586ba6d043
Added copyright and file info.
...
[SVN r19538]
2003-08-11 20:42:02 +00:00
Eric Friedman
33755650ab
Added recursive_variant test.
...
[SVN r19537]
2003-08-11 20:39:07 +00:00
Eric Friedman
f5df0a22f7
Fixed file info.
...
[SVN r19387]
2003-07-31 01:38:13 +00:00
Eric Friedman
50321b1a6c
Fixed file info.
...
[SVN r19381]
2003-07-31 00:45:44 +00:00
Eric Friedman
dc4f46b960
Allow get of const from non-const variant.
...
[SVN r19374]
2003-07-30 22:23:54 +00:00
Itay Maman
5aed0a4cd7
Copyright notice added
...
[SVN r19327]
2003-07-28 08:41:23 +00:00
Eric Friedman
f1e53ab58a
Added missing dependency.
...
[SVN r19272]
2003-07-23 02:40:47 +00:00
Eric Friedman
f21d2dc0cd
Added BOOST_VARIANT_ENUM_PARAMS and variant streaming support.
...
[SVN r19140]
2003-07-16 06:47:45 +00:00
Eric Friedman
d72c9b904f
Final (?) MSVC6 workarounds.
...
[SVN r19131]
2003-07-15 21:15:08 +00:00
Eric Friedman
3d31bda305
Const-correctness changes.
...
[SVN r19094]
2003-07-13 09:27:19 +00:00
Eric Friedman
424999966e
More detail error notification.
...
[SVN r19093]
2003-07-13 08:33:49 +00:00
Eric Friedman
d8493b9ea2
Eliminated warning.
...
[SVN r18895]
2003-06-30 20:44:33 +00:00
Eric Friedman
f06fa79dd8
Initial attempt at MSVC6 workarounds.
...
[SVN r18842]
2003-06-19 23:19:53 +00:00
Eric Friedman
fd573ab747
Eliminated warnings on Borland.
...
[SVN r18825]
2003-06-17 22:08:59 +00:00
Eric Friedman
e0c5685899
Borland workarounds.
...
[SVN r18817]
2003-06-17 02:27:45 +00:00
Eric Friedman
44e927130f
Workaround in tests for gcc 2.9.5.
...
[SVN r18790]
2003-06-14 05:03:54 +00:00
Eric Friedman
7aa9c6a219
Allow printing of a variant contained in a variant.
...
[SVN r18747]
2003-06-09 22:42:44 +00:00
Eric Friedman
dcf501a1db
Inlined templated function in header.
...
[SVN r18706]
2003-06-07 22:58:54 +00:00
Eric Friedman
88b0a460e7
Inlined templated function in header.a
...
[SVN r18705]
2003-06-07 22:55:55 +00:00
Eric Friedman
0d71dfb805
Eliminated unnecessary semicolon (Comeau warning).
...
[SVN r18704]
2003-06-07 22:50:33 +00:00
Eric Friedman
7683d3180a
Temporary fix for conflicting test names.
...
[SVN r18648]
2003-06-02 21:46:13 +00:00
Eric Friedman
7e731997d9
Added the Variant library test-suite.
...
[SVN r18580]
2003-05-28 08:38:16 +00:00
Eric Friedman
bb596cae89
Migrated from Sandbox CVS.
...
[SVN r18578]
2003-05-28 08:05:16 +00:00