John Maddock
I'd like to #include
while at the same time state that I am *not* interested in the compiler's TR1 implementation (vc9 ...) Any MACRO BOST_HAS_NO_TR1 I missed? The opposite (BOOST_HAS_TR1) exists.
Unfortunately you can't do that: the std::tr1 namespace has already been polluted by the vendors implementation so we can't add ours in there as well.
I have not included the TR1 headers of my compiler, so the pollution could be avoided. I expect boost/tr1/*.hpp to include the corresponding compiler's header only if configured in that way.
You can of course use boost::whatever directly, rather than std::tr1::whatever.
Boost::whatevers are quite different from their TR1 sisters.
(missing operator<< etc.)
So I am really interested in the implications of those differences
and want to have my code use std::* wherever possible.
Boost contains a TR1 implementation, but unfortunately I face difficulties
to enfiorce its usage. This I find odd.
Can we have the inclusion decision mechanisms be changed
to something similar to:
#if (defined(BOOST_HAS_TR1_TUPLE) && !defined(BOOST_USE_BOOST_TR1_IMPL))
# ifdef BOOST_HAS_INCLUDE_NEXT
# include_next BOOST_TR1_HEADER(tuple)
# else
# include