14#ifndef CLASSDESC_ISA_BASE_H
15#define CLASSDESC_ISA_BASE_H
23 typedef std::set<const std::type_info*>
isa_t;
49 {isa(t,d,
const_cast<T&
>(x));}
51 template <
class T,
class U>
52 void isa(
classdesc::isa_t& t,
const classdesc::string& d,
const T& x,
const U& y) {}
54 template <
class T,
class U,
class V>
56 void isa(
classdesc::isa_t& t,classdesc::string d,
const T& x,
const U& y,
const V& z,...) {}
59 void isa_onbase(
isa_t& t,
const string& d,
T& a)
63using classdesc::isa_onbase;
68template <
class trialT,
class baseT>
69bool isa(
const trialT& x,
const baseT& y)
72 isa(db,classdesc::string(),
const_cast<trialT&
>(x));
73 return db.count(&
typeid(y));
bool isa(const trialT &x, const baseT &y)
Definition isa_base.h:69
Contains access_* structs, and nothing else. These structs are used to gain access to private members...
Definition classdesc_access.h:20
Contains definitions related to classdesc functionality.
std::set< const std::type_info * > isa_t
data structure for storing inheritance relationships
Definition isa_base.h:23