18 #include "classdesc.h"
23 typedef std::set<const std::type_info*>
isa_t;
26 namespace classdesc_access
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)
63 using classdesc::isa_onbase;
68 template <
class trialT,
class baseT>
69 bool isa(
const trialT& x,
const baseT& y)
72 isa(db,classdesc::string(),const_cast<trialT&>(x));
73 return db.count(&
typeid(y));
std::set< const std::type_info * > isa_t
data structure for storing inheritance relationships
Definition: isa_base.h:23
bool isa(const trialT &x, const baseT &y)
Definition: isa_base.h:69
Definition: isa_base.h:28