1 /* 2 * Copyright 2007 Haiku, Inc. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 #ifndef _CLASS_INFO_H 6 #define _CLASS_INFO_H 7 8 9 #include <typeinfo> 10 11 12 // deprecated, use standard RTTI calls instead 13 // TODO: maybe get rid of this header completely? 14 15 #define class_name(object) \ 16 ((typeid(*(object))).name()) 17 #define cast_as(object, class) \ 18 (dynamic_cast<class*>(object)) 19 #define is_kind_of(object, class) \ 20 (dynamic_cast<class*>(object) != NULL) 21 #define is_instance_of(object, class) \ 22 (typeid(*(object)) == typeid(class)) 23 24 #endif // _CLASS_INFO_H 25