5 * This material is provided "as is", with absolutely no warranty expressed
6 * or implied. Any use is at your own risk.
8 * Permission to use or copy this software for any purpose is hereby granted
9 * without fee, provided the above notices are retained on all copies.
10 * Permission to modify the code and to distribute modified code is granted,
11 * provided the above notices are retained, and a notice that the code was
12 * modified is included with the above copyright notice.
16 // DMC has hardcoded inclusion of typeinfo.h at the begining of any translation unit.
17 // So inclusion of this header will directly reference the native header. This is not
18 // a problem as typeinfo.h is neither a C nor C++ Standard header, this header should
19 // never be used in user code.
21 // We define _STLP_OUTERMOST_HEADER_ID to signal to other STLport headers that inclusion
22 // is done from native typeinfo.h (see exception header).
23 # define _STLP_OUTERMOST_HEADER_ID 0x874
24 # include <../include/typeinfo.h>
25 # undef _STLP_OUTERMOST_HEADER_ID
27 # ifndef _STLP_OLDSTD_typeinfo
28 # define _STLP_OLDSTD_typeinfo
30 # ifndef _STLP_OUTERMOST_HEADER_ID
31 # define _STLP_OUTERMOST_HEADER_ID 0x874
32 # include <stl/_prolog.h>
35 # ifndef _STLP_NO_TYPEINFO
37 # if defined (__GNUC__)
38 # undef _STLP_OLDSTD_typeinfo
40 # define _STLP_OLDSTD_typeinfo
42 # if defined (_STLP_HAS_INCLUDE_NEXT)
43 # include_next <typeinfo.h>
44 # elif !defined (__BORLANDC__) || (__BORLANDC__ < 0x580)
45 # include _STLP_NATIVE_CPP_RUNTIME_HEADER(typeinfo.h)
47 # include _STLP_NATIVE_CPP_C_HEADER(typeinfo.h)
49 # if defined (__BORLANDC__) && (__BORLANDC__ >= 0x580) || \
52 using std::bad_typeid
;
57 // if <typeinfo> already included, do not import anything
59 # if defined (_STLP_USE_OWN_NAMESPACE) && !(defined (_STLP_TYPEINFO) && !defined (_STLP_NO_NEW_NEW_HEADER))
63 using /*_STLP_VENDOR_EXCEPT_STD */ :: type_info
;
64 # if !(defined(__MRC__) || (defined(__SC__) && !defined(__DMC__)))
65 using /* _STLP_VENDOR_EXCEPT_STD */ :: bad_typeid
;
68 using /* _STLP_VENDOR_EXCEPT_STD */ :: bad_cast
;
72 # endif /* _STLP_OWN_NAMESPACE */
74 # endif /* _STLP_NO_TYPEINFO */
76 # if (_STLP_OUTERMOST_HEADER_ID == 0x874)
77 # include <stl/_epilog.h>
78 # undef _STLP_OUTERMOST_HEADER_ID
81 # endif /* _STLP_OLDSTD_typeinfo */