Commit Graph

667 Commits

Author SHA1 Message Date
Antony Polukhin
97e5305d6b Fix MSVC warning in Boost.Variant (refs #3020)
[SVN r85928]
2013-09-26 07:46:25 +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
Stephen Kelly
a1b3867b3a Remove use of obsolete BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE{,_SPEC} macro.
[SVN r85896]
2013-09-25 10:29:44 +00:00
Stephen Kelly
4254803c98 Remove use of obsolete BOOST_EXPLICIT_TEMPLATE_TYPE{,_SPEC} macros.
[SVN r85894]
2013-09-25 10:28:56 +00:00
Antony Polukhin
e05edc0248 Merge from trunk:
* Add some merge infos
* Fix unreachable code warning (fixes #8665)

[SVN r85882]
2013-09-25 08:04:36 +00:00
Antony Polukhin
6db57f7d6b Fix unreachable code warning, thanks 'hvemha' for providing it (refs #8665)
[SVN r85876]
2013-09-25 07:13:57 +00:00
Antony Polukhin
76f2c0fc19 Merge from trunk:
* Fix issue with const rvalue references in Boost.Variant (fixes #8988)
* Get rid of Boost.Variant hand written non-usable move emulation and use Boost.Move instead(refs #7601). This does not mean that Boost.Variant supports move emulation now, but removes duplicate/non-working code and makes sure that Boost.Variant is able to work with boost::move

[SVN r85408]
2013-08-20 09:03:29 +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
8507087c59 Merge from trunk:
* make the library work on exception-disabled environments (fixes #8717)
* fix compilation of Boost.Variants move assignment for situations when one of the variant template classes has nothrow copy constructor and throwing move constructor (fixes #8772)
* mark move constructor of variant with BOOST_NOEXCEPT_IF (refs #7911)

[SVN r85157]
2013-07-25 08:42:44 +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
f17d91a8b4 Merge from trunk GCC workaround (fixes #8651)
[SVN r84747]
2013-06-12 08:08:58 +00:00
Antony Polukhin
3d44c5b695 Workaround for GCC bug (refs #8651)
[SVN r84683]
2013-06-08 07:32:22 +00:00
Antony Polukhin
3e02b4963d Merge Boost.Variant from trunk
* documentation, tests and implementation of multivisitors (fixes #8459)

[SVN r84282]
2013-05-14 18:19:39 +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
a4eaf348ea Merge from trunk:
* Update docs of Boost.Variant. Add advice about recursive_wrapper performance (fixes #7718)

[SVN r84105]
2013-05-02 09:58:56 +00:00
Antony Polukhin
6c26dd544d Update docs of Boost.Variant. Add advice about recursive_wrapper performance (refs #7718)
[SVN r84104]
2013-05-02 08:39:34 +00:00
Antony Polukhin
54ea9c42a1 Merge fom trunk:
* Boost.Variant now uses traits from Boost.TypeTraits instead of its own (fixes #8296)

[SVN r83544]
2013-03-24 16:18:12 +00:00
Antony Polukhin
efd81f5a2a Use is_nothrow_move_constructible from Boost.TypeTraits in Boost.Variant (refs #8296)
[SVN r83458]
2013-03-16 10:50:44 +00:00
Antony Polukhin
eb17a6afd8 Merge variant from trunk:
* Fix #7718 (move constructor from template type added)
 * More tests and minor bugfixes
 * Deprecated macros replaced with new ones (thanks to Marshall Clow)


[SVN r81793]
2012-12-08 15:44:16 +00:00
Antony Polukhin
7c2576948d Refs #7718 :
Workaroung GCC-4.7.2 internal compiler error
More functions marked with BOOST_NOEXCEPT
Added move constructors and move assignment operators to recursive_wrapper

[SVN r81652]
2012-12-01 15:32:07 +00:00
Marshall Clow
b173a982e9 Fix a couple more deprecated macros in Boost.Variant
[SVN r81626]
2012-11-29 17:03:40 +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
Marshall Clow
21b9130e3a Remove usage of deprecated macros
[SVN r81472]
2012-11-22 06:13:20 +00:00
Antony Polukhin
3891cde7ed Merge from trunk: merge performance tests (refs #7620)
[SVN r81456]
2012-11-21 14:51:12 +00:00
Antony Polukhin
591ae9bf26 Merge from trunk: added basic rvalue support and marked some functions with BOOST_NOEXCEPT (fixes #7620)
[SVN r81455]
2012-11-21 14:47:12 +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
Steven Watanabe
5b34fe155f Merge Variant from the trunk.
[SVN r78341]
2012-05-05 21:22:36 +00:00
Steven Watanabe
78d52b15cc Make sure that variants with more than 20 types work.
[SVN r77098]
2012-02-23 01:14:13 +00:00
Antony Polukhin
2bef470d77 Fixes #6163 (hash function for variant added)
[SVN r75606]
2011-11-22 16:05:44 +00:00
Steven Watanabe
2a6c6f3948 Merge [71083] from the trunk.
[SVN r71345]
2011-04-17 00:23:44 +00:00
Steven Watanabe
f9e03b6053 Supress warnings from variant. Refs #4666.
[SVN r71083]
2011-04-07 15:35:56 +00:00
Steven Watanabe
c13372a092 Merge variant from the trunk.
[SVN r70798]
2011-03-31 21:08:35 +00:00
Steven Watanabe
e5547f95bc Avoid a quadratic number of template instantations when using the general case implementation of assignment (with backup storage). This significantly improves compile times for variants with a large number of variant types. See the thread starting at http://lists.boost.org/boost-users/2011/01/65416.php.
[SVN r67798]
2011-01-08 22:44:06 +00:00
Steven Watanabe
0aae21dc6e Make operator() const. Fixes #4967
[SVN r67605]
2011-01-03 05:06:52 +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
Daniel James
64d68fc379 Merge documentation fixes.
* Use `doc/src/*.css` instead of `doc/html/*.css`.
* Remove wiki and people directories.
* Some documentation fixes.
* Left out `minimal.css` changes and boostbook changes because of clashes.


[SVN r63347]
2010-06-26 12:30:09 +00:00
Daniel James
9f5f65ab9b Detab some jamfiles.
[SVN r63343]
2010-06-26 12:10:47 +00:00
Daniel James
3e99de6129 Update various libraries' documentation build.
Mostly to use the images and css files under doc/src instead of
doc/html, usually be deleting the settings in order to use the defaults.
Also add 'boost.root' to some builds in order to fix links which rely on
it.

[SVN r63146]
2010-06-20 18:00:48 +00:00
Steven Watanabe
40614b7c73 Use the least common multiple of alignments instead of the max. Fixes #993
[SVN r62754]
2010-06-10 18:45:14 +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
Steven Watanabe
19ba44bb3f Merge variant from the trunk. Fixes #1507
[SVN r62742]
2010-06-10 15:32:07 +00:00
Steven Watanabe
7afab43f31 Add missing #includes. Fixes #3515
[SVN r62698]
2010-06-09 23:41:38 +00:00