Opened 10 years ago
Closed 10 years ago
#8102 closed Bugs (fixed)
signals2 is trying to use std::get with boost::tuple
Reported by: | Eric Niebler | Owned by: | Frank Mori Hess |
---|---|---|---|
Milestone: | Boost 1.54.0 | Component: | signals2 |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | Cc: |
Description
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.
Attachments (1)
Note:
See TracTickets
for help on using tickets.
replace std::get with boost::get when <tuple> is not available.