Go to the documentation of this file.
   49 #ifndef CARTOBASE_TYPE_CONVERSION_H 
   50 #define CARTOBASE_TYPE_CONVERSION_H 
   59 template <
typename T, 
typename U>
 
   63     template <
typename V, 
typename W>
 
   68       static no test( ... );
 
   69       static yes test( W* );
 
   71     typedef Helper<T, U> H;
 
   77       exists = 
sizeof( 
typename H::yes ) == 
sizeof( H::test( 
static_cast<T*
>(0) ) )
 
   86 #define SUPERSUBCLASS( T, U ) \ 
   87   ( static_cast<bool>(::carto::conversion<const U, const T>::exists) ) 
   89 #define SUPERSUBCLASS_NONCONST( T, U ) \ 
   90   ( static_cast<bool>(::carto::conversion<U, T>::exists) )