|
Boost : |
From: Robert Ramey (ramey_at_[hidden])
Date: 2004-04-26 16:11:54
Is there a type traits guru that can explain to me why the following doesn't
work as I expect. It's got to be something very, very obvious but I can't
see it.
Thank you
Robert Ramey
#include <boost/static_assert.hpp>
#include <boost/type_traits/is_base_and_derived.hpp>
#include <boost/type_traits/remove_pointer.hpp>
class Base1
{
char a;
};
class Base2
{
int b;
};
class Derived : public Base1, public Base2
{
long c;
};
void main(){
// this passes
BOOST_STATIC_ASSERT((boost::is_base_and_derived<
Base1,
Derived
>::value));
// this fails !?
BOOST_STATIC_ASSERT((boost::is_base_and_derived<
boost::remove_pointer<Base1 *>,
boost::remove_pointer<Derived *>
>::value));
}
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk