Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2004-07-29 18:03:28

"Stefan Slapeta" <stefan_nospam__at_[hidden]> wrote in message news:cebvag$5i2$
| First of all, the most important question: Why do we test workarounds
| for partial spezialization on compiler which don't need these workarounds?

Do you know how to make the test run for only the relevant compilers?

| I've isolated the problem with the failing range/workaround testcase on
| Intel 8. IMO it's a compiler defect because the function template in
| is_array should be disabled by SFINAE. This code fails to compile with
| the current comeau release, too.
| template <class T> struct wrap {};
| // this one should disabled because it's not allowed to return an array:
| template< typename T > T(* is_array_tester1(wrap<T>) )(wrap<T>);

What does the line above mean in plain English :-)

And why is is_array not defined as

template< class T, int sz >
true_type is_array( const T (&array)[sz] );
template< class T, int sz >
true_type is_array( T (&array)[sz] );
no_type is_array( ... );




Boost list run by bdawes at, gregod at, cpdaniel at, john at