
Arkadiy Vertleyb wrote:
This would definitely solve the problem but, as I said, I have concernes about the need to instantiate mpl::if_<> and is_array<> for every node in the expression. I think we can get away by just providing a more specialized case:
boost::type_of::encode_type_impl<V, const T [N]>.
http://groups.yahoo.com/group/boost/files/typeof.zip
On VC7.1 it seems to work fine (as it was before, actually), but unfortunately I can't test this on Intel...
If you change modifiers.hpp:110 from typedef typename const d::type type[n]; to typedef typename d::type const type[n]; and add using namespace std; to main.cpp (cout and endl are not always prefixed with std:: in your test) everything will compile on Intel C++. I also tried not to use native typeof under g++. Both 3.2.2 and 3.4.0 compile the test. BTW, I think it's good idea to add BOOST_NO_NATIVE_TYPEOF definition. BTW2, Intel 8.0 has also native typeof. -- Alexander Nasonov