]> www.ginac.de Git - ginac.git/commitdiff
more efficient default is_exactly_a<>()
authorChristian Bauer <Christian.Bauer@uni-mainz.de>
Mon, 21 Jul 2003 17:44:38 +0000 (17:44 +0000)
committerChristian Bauer <Christian.Bauer@uni-mainz.de>
Mon, 21 Jul 2003 17:44:38 +0000 (17:44 +0000)
ginac/basic.h

index 264462f9d22ecb44d97a972a17ac51de1cafe8d0..d9b716a4a4c4c0a1374c1bbc80a01ba5825ff8b2 100644 (file)
@@ -176,7 +176,7 @@ extern int max_recursion_level;
 template <class T>
 inline bool is_a(const basic &obj)
 {
-       return dynamic_cast<const T *>(&obj)!=0;
+       return dynamic_cast<const T *>(&obj) != 0;
 }
 
 /** Check if obj is a T, not including base classes.  This one is just an
@@ -185,7 +185,7 @@ inline bool is_a(const basic &obj)
 template <class T>
 inline bool is_exactly_a(const class basic &obj)
 {
-       const T foo; return foo.tinfo()==obj.tinfo();
+       return obj.tinfo() == T::reg_info.tinfo_key;
 }
 
 } // namespace GiNaC