+ 21.6 Strings library, Null-terminated sequence utilities: <cctype>, <cwctype>,...
[lightlibc++.git] / source / cxxabi / typeinfo.cpp
blob2bd48a28dec515449a33997d5ead60db35251007
1 /*
2 Permission is granted to use, modify, and / or redistribute at will.
4 This includes removing authorship notices, re-use of code parts in
5 other software (with or without giving credit), and / or creating a
6 commercial product based on it.
8 This permission is not revocable by the author.
10 This software is provided as-is. Use it at your own risk. There is
11 no warranty whatsoever, neither expressed nor implied, and by using
12 this software you accept that the author(s) shall not be held liable
13 for any loss of data, loss of service, or other damages, be they
14 incidental or consequential. Your only option other than accepting
15 this is not to use the software at all.
17 #include <typeinfo>
18 #include <cxxabi.h>
19 #include <string.h>
20 // TODO #include <cstring> // std::strcmp
24 #ifndef _LIGHTLIBCPP_NO_RTTI
29 * class std::type_info
32 bool std::type_info::before(const type_info& x) const
34 // TODO std::strcmp
35 return (strcmp(__type_name, x.__type_name) < 0);
41 * class abi::__fundamental_type_info
42 * NOTE: Emits the __fundamental_type_info's for the following types:
43 * void, bool, wchar_t, char, unsigned char, signed char, short,
44 * unsigned short, int, unsigned int, long, unsigned long, long long,
45 * unsigned long long, float, double, long double and for every pointer
46 * and pointer-to-const to these types
47 * And Emits vtables and typeinfo for __fundamental_type_info
50 abi::__fundamental_type_info::~__fundamental_type_info()
57 * NOTE: Emits vtables and typeinfo for __array_type_info, __function_type_info,
58 * __enum_type_info, __pointer_to_member_type_info, __class_type_info,
59 * __si_class_type_info and __vmi_class_type_info
62 abi::__array_type_info::~__array_type_info()
66 abi::__function_type_info::~__function_type_info()
70 abi::__enum_type_info::~__enum_type_info()
74 abi::__pbase_type_info::~__pbase_type_info()
78 abi::__pointer_type_info::~__pointer_type_info()
82 abi::__pointer_to_member_type_info::~__pointer_to_member_type_info()
86 abi::__class_type_info::~__class_type_info()
90 abi::__si_class_type_info::~__si_class_type_info()
94 abi::__vmi_class_type_info::~__vmi_class_type_info()
100 #endif