A class holding a constant called value that evaluates to true if and only if Base is the same type as Derived or Derived is a class derived from Base.
More...
#include <meta_programming.hh>
|
| struct | Any |
| | A class that is constructible from just anything. More...
|
| |
|
| | PPL_COMPILE_TIME_CHECK (sizeof(char)!=sizeof(double),"architecture with sizeof(char) == sizeof(double)"" (!?)") |
| |
template<typename Base, typename Derived>
struct Parma_Polyhedra_Library::Is_Same_Or_Derived< Base, Derived >
A class holding a constant called value that evaluates to true if and only if Base is the same type as Derived or Derived is a class derived from Base.
- Note
- Care must be taken to use this predicate with template classes. Suppose we have
template <typename T> struct B;
template <typename T> struct D : public B<T>;
Of course, we cannot test if, for some type variable U, we have Is_Same_Or_Derived<B<U>, Type>:: const_bool_value:: value == true. But we can do as follows: struct B_Base {
};
template <typename T> struct B : public B_Base;
This enables us to inquire Is_Same_Or_Derived<B_Base, Type>:: const_bool_value:: value.
Definition at line 223 of file meta_programming.hh.
template<typename Base, typename Derived>
A function obtaining a const reference to a Derived object.
template<typename Base, typename Derived>
template<typename Base, typename Derived>
template<typename Base, typename Derived>
The documentation for this struct was generated from the following file: