Subject: [Boost-bugs] [Boost C++ Libraries] #8102: signals2 is trying to use std::get with boost::tuple
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-02-19 00:14:50
#8102: signals2 is trying to use std::get with boost::tuple
-------------------------------------+--------------------------------------
Reporter: eric_niebler | Owner: fmhess
Type: Bugs | Status: new
Milestone: Boost 1.54.0 | Component: signals2
Version: Boost Development Trunk | Severity: Problem
Keywords: |
-------------------------------------+--------------------------------------
`signals2/detail/variadic_slot_invoker.hpp` has the following:
{{{
// if compiler has std::tuple use it instead of boost::tuple
// because boost::tuple does not have variadic template support at
present.
#ifdef BOOST_NO_CXX11_HDR_TUPLE
#include <boost/tuple/tuple.hpp>
#define BOOST_SIGNALS2_TUPLE boost::tuple
#else
#include <tuple>
#define BOOST_SIGNALS2_TUPLE std::tuple
#endif
}}}
Then in place of `boost::tuple` or `std::tuple`, it uses
`BOOST_SIGNALS2_TUPLE`. That's dandy, but it unconditionally uses
`std::get` to access elements from the tuple. This naturally leads to
compile failures because `std::get` doesn't know what a `boost::tuple` is.
Patch attached.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8102> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:12 UTC