cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | List of all members
cmnIsDerivedFromTemplated< T, Base > Class Template Reference

#include <cmnTypeTraits.h>

Public Types

enum  { IS_DERIVED = sizeof(Test(static_cast<T*>(0))) == sizeof(One) }
 
enum  { IS_NOT_DERIVED = !IS_DERIVED }
 

Detailed Description

template<typename T, template< typename > class Base>
class cmnIsDerivedFromTemplated< T, Base >

Check whether class T is derived from class templated class Base. This is especially convenient when the template argument to the Base class is not known.

Examples: cmnIsDerivedFromTemplated<double, cmnGenericObjectProxy>::IS_DERIVED is false cmnIsDerivedFromTemplated<cmnDouble, cmnGenericObjectProxy>::IS_DERIVED is true

Note that if you know the template argument to the Base class, you can instead use: cmnIsDerivedFrom<cmnDouble, cmnGenericObjectProxy<double> >::IS_DERIVED

Member Enumeration Documentation

template<typename T , template< typename > class Base>
anonymous enum
Enumerator
IS_DERIVED 
template<typename T , template< typename > class Base>
anonymous enum
Enumerator
IS_NOT_DERIVED 

The documentation for this class was generated from the following file: