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$1_at_sea.gmane.org...
|
| 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( ... );

?

br

Thorsten


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk