22 Nov
2005
22 Nov
'05
9:47 a.m.
Jens Vollinga wrote:
But tinfo could become a char*, couldn't it?
How about: typedef const void * tinfo_t; struct tinfo_static_t {}; class SOMECLASS { public: static const tinfo_static_t tinfo_static; SOMECLASS() : tinfo_key(&tinfo_static) {} SOMECLASS(tinfo_t ti) : tinfo_key(ti) {} tinfo_t tinfo() const { return tinfo_key; } protected: tinfo_t tinfo_key; }; const tinfo_static_t SOMECLASS::tinfo_static = {}; template<class T> inline bool is_exactly_a(const SOMECLASS & obj) { return obj.tinfo() == &T::tinfo_static; } This looks promising. No explicit specializations of is_exactly_a<> are needed any more. Bye, Christian -- / Physics is an algorithm \/ www.cebix.net