Le 10/04/13 02:48, Fernando Pelliccioni a écrit :
On Mon, Apr 8, 2013 at 3:15 AM, Vicente J. Botet Escriba < vicente.botet@wanadoo.fr> wrote:
Le 08/04/13 01:37, Fernando Pelliccioni a écrit :
El abr 7, 2013 8:17 PM, "Vicente J. Botet Escriba" < vicente.botet@wanadoo.fr> escribió:
Yes, the current implementation works only when
! defined(BOOST_NO_SFINAE_EXPR) && \ ! defined(BOOST_NO_CXX11_**VARIADIC_TEMPLATES) && \ ! defined(BOOST_NO_CXX11_**DECLTYPE) && \ ! defined(BOOST_NO_CXX11_**DECLTYPE_N3276) && \ ! defined(BOOST_NO_CXX11_AUTO) && \ ! defined(BOOST_NO_CXX11_RVALUE_**REFERENCES) && \ ! defined(BOOST_NO_CXX11_HDR_**TUPLE)
The only unsupported feature of the list is DECLTYPE_N3276 for GCC >= 4.7
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf
! defined(BOOST_NO_CXX11_**DECLTYPE_N3276) is not fulfilled
Are we sure that GCC 4.7 does not fulfill it? Is Boost.Config right?
I could not read N3276. Is it absolutely necessary to this requirement to the compiler?
It is announce for gcc-4.8.1. See the boost/thread/detail/invoke.hpp file. I have not tried to implement it using result_of, but I think that we have the same issue with the current result_of. Whether this is possible in c++03 is an open point. Best, Vicente