Opened 9 years ago

Closed 5 years ago

#9238 closed Patches (fixed)

BOOST_VARIANT_USE_VARIADIC_TEMPLATES and is_container<>

Reported by: Mario Lang <mlang@…> Owned by: Joel de Guzman
Milestone: To Be Determined Component: spirit
Version: Boost Development Trunk Severity: Problem
Keywords: Cc:

Description

Boost.Variant has recently added support for variadic templates.

This breaks Spirit2 in a few places.

This is the first step to make Spirit work with BOOST_VARIANT_USE_VARIADIC_TEMPLATES defined.

Patch attached.

Attachments (2)

is_container.patch (1.1 KB ) - added by Mario Lang <mlang@…> 9 years ago.
Proposed patch to allow is_container<> to work if BOOST_VARIANT_USE_VARIADIC_TEMPLATES is defined
spirit-variant-variadic.patch (4.7 KB ) - added by Mario Lang <mlang@…> 9 years ago.
Complete BOOST_VARIANT_USE_VARIADIC_TEMPLATES support for Spirit

Download all attachments as: .zip

Change History (6)

by Mario Lang <mlang@…>, 9 years ago

Attachment: is_container.patch added

Proposed patch to allow is_container<> to work if BOOST_VARIANT_USE_VARIADIC_TEMPLATES is defined

by Mario Lang <mlang@…>, 9 years ago

Complete BOOST_VARIANT_USE_VARIADIC_TEMPLATES support for Spirit

comment:1 by Jürgen Hunold, 9 years ago

See https://github.com/boostorg/spirit/pull/1 for a patch using Boost.Variants new macro BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES to enable variadic macros support.

comment:2 by Jürgen Hunold, 9 years ago

MSVC-12.0 (Visual Studio 2013) still fails with BOOST_ROOT\boost/spirit/home/support/detail/as_variant.hpp(101) : error C2976: "boost::variant": not enough template arguments

BOOST_ROOT\boost/variant/variant.hpp(1059): see declaration of 'boost::variant' BOOST_ROOT\boost/spirit/home/support/detail/as_variant.hpp(102): see hint to instantiation of the current class template being compiled "boost::spirit::detail::as_variant_impl<0>::apply<I0>".

Something wrong with the Boost.PP code oder a compiler bug?

comment:3 by Nikita Kniazev <nok.raven@…>, 5 years ago

Fixed with f86068f8307985fe035feb76f1d621129f782c90, 7a21658eaffc03b54a4b0bf27900ee0c26e4f9ca and f14c110dd0222c0ee06d67426ef8e6f20c2a1d6a.

Cannot post links as trac rejects them because of its spam filter, *sigh*.

comment:4 by Joel de Guzman, 5 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.