|
| // of | this class. | ||
cout | << “Base Object\n”; |
|
|
|
|
cout << | typeid(*p).name() << ‘\n’; | // Standard requires | |||
|
| // | access | to the name | |
|
| // | of | the | type. |
}
The standard requires the class type_info to be polymorphic. You cannot assign or copy instances of the class (the copy constructor and assignment operators are private). The interface must include:
int operator == (const type_info&) const int operator !=( const type_info&) const const char * name() const
int before (const type_info&) const
The operators allow comparison of object types. The name function allows access to the character string representing the name of the object. The before function allows types to be sorted. This allows them to be accessed through hash tables. The before function is not a lexical ordering; it might not yield the same results. The name function now returns the mangled name of a type as per the C++ ABI.
Unsupported Functionality
Functionality defined in the ANSI/ISO C++ International Standard and not supported in this release of HP aC++ is listed in Table 11. Library functionality is listed separately.
Table 11 Unsupported Functionality
Functionality | Rogue Wave | Rogue Wave Standard C++ | libc ** |
| Standard C++ Library | Library 1.2.1 | |
| 2.2.1 |
| |
|
|
| |
|
|
|
|
<allocator> | Yes | Provided as a class rather than a | Not Applicable |
|
| template. |
|
|
|
|
|
<cstring> | Yes | The following C++ overloaded | Not Applicable |
|
| functions are not provided. |
|
|
| Instead, ANSI C signatures are |
|
|
| implemented. |
|
|
| memchr |
|
|
| strchr |
|
|
| strpbrk |
|
|
| strrchr |
|
|
| strstr |
|
|
|
|
|
<cwchar> | Yes | The following C++ overloaded | For missing functions, see wide |
|
| functions are not provided, | character support in this table. |
|
| instead, ANSI C signatures are |
|
|
| implemented. |
|
|
| wcschr |
|
|
| wcspbrk |
|
|
| wcsrchr |
|
|
| Missing Functions: |
|
|
| wcsstr |
|
|
| wmemchr |
|
|
|
|
|
<cwctype> | Partial Support | Partial Support | See wide character support in |
|
|
| this table. |
|
|
|
|
<functional> | Yes | The following types are not | Not Applicable |
|
| provided: |
|
|
| mem_fun_t |
|
|
| mem_fun1_t |
|
|
|
|
|
154 Standardizing Your Code