And just for your amusement:

#include <boost/type_traits.hpp>
// #include <mfl/type_traits.hpp>
namespace test = boost;

class A {};

int main()
{
    typedef test::remove_pointer< int A::* >::type t1;
    typedef test::remove_pointer< int A::* const >::type t2;
    typedef test::remove_pointer< int A::* volatile >::type t3;
    typedef test::remove_pointer< int A::* const volatile >::type t4;

    typedef test::add_const< int( int ) >::type t5;
    typedef test::add_volatile< int( int ) >::type t6;
    typedef test::add_cv< int( int ) >::type t7;

    typedef char t8[ test::is_convertible< double, int >::value ];
    typedef char t9[ !test::is_class< int( int ) >::value ];
    typedef char t10[ !test::is_enum< int( int ) >::value ];
}

My implementation of type-traits doesn't give a single warning, but boost
gives me (for the GCC 3.2.2) several pages full or errors and warnings.

I won't try to fix any of these anymore. I neither understand the
documentation nor the implementation of boost's type-traits. I tried to
make the code better but AFAICS there is no interest in improvment.

Daniel

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to