haiku/headers/build/os/support/ClassInfo.h
Stefano Ceccherini 2eda0564c4 BUILD module: copied updated headers from the main module, and removed
some unneeded ones, which still had the be copyright. Also removed BufferIO
from the build and deleted the implementation, since it wasn't used.
There are still some more... +alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-30 12:31:54 +00:00

25 lines
581 B
C

/*
* Copyright 2007, Haiku, Inc. All Rights Reserved.
* Distributed under the terms of the MIT License.
*/
#ifndef _CLASS_INFO_H
#define _CLASS_INFO_H
#include <typeinfo>
// deprecated, use standard RTTI calls instead
// TODO: maybe get rid of this header completely?
#define class_name(object) \
((typeid(*(object))).name())
#define cast_as(object, class) \
(dynamic_cast<class*>(object))
#define is_kind_of(object, class) \
(dynamic_cast<class*>(object) != NULL)
#define is_instance_of(object, class) \
(typeid(*(object)) == typeid(class))
#endif // _CLASS_INFO_H