#5934 closed Bugs (fixed)
boost/math/tools/tuple.hpp omits "tr1/" from #include directive.
Reported by: | Owned by: | John Maddock | |
---|---|---|---|
Milestone: | To Be Determined | Component: | math |
Version: | Boost 1.47.0 | Severity: | Problem |
Keywords: | Cc: |
Description
In version_1_47_0 and the current head (Revision 74542), boost/math/tools/tuple.hpp
includes at line 34 the C++11 header <tuple>
, rather than the TR1 header <tr1/tuple>
:
#elif defined(BOOST_HAS_TR1_TUPLE) #include <tuple> namespace boost{ namespace math{ using ::std::tr1::tuple; // [6.1.3.2] Tuple creation functions using ::std::tr1::ignore; using ::std::tr1::make_tuple; using ::std::tr1::tie; using ::std::tr1::get; // [6.1.3.3] Tuple helper classes using ::std::tr1::tuple_size; using ::std::tr1::tuple_element; }} #elif ...
With gcc 4.4.3, without std=c++0x
or std=gnu++0x
specified, this produces a compatibility warning; other compilers/versions are likely to fail to find the header.
Changing the line to:
#include <tr1/tuple>
makes the compilation (and my unit tests) successful.
Cheers!
David Oliver.
Change History (4)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:3 by , 11 years ago
Thanks for fixing. I should have realized that <tr1/tuple> was a gcc-ism, but the compatibility warning makes it sound authoritative.
Cheers!
David.
Note:
See TracTickets
for help on using tickets.
Actually <tuple> is the TR1-conforming include and <tr1/tuple> is a gcc-ism, will fix anyway.