User's Guide
// 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
libc **Rogue Wave Standard C++
Library 1.2.1
Rogue Wave
Standard C++ Library
2.2.1
Functionality
(HP-UX System Libraries)
Not ApplicableProvided as a class rather than a
template.
Yes<allocator>
Not ApplicableThe following C++ overloaded
functions are not provided.
Yes<cstring>
Instead, ANSI C signatures are
implemented.
memchr
strchr
strpbrk
strrchr
strstr
For missing functions, see wide
character support in this table.
The following C++ overloaded
functions are not provided,
Yes<cwchar>
instead, ANSI C signatures are
implemented.
wcschr
wcspbrk
wcsrchr
Missing Functions:
wcsstr
wmemchr
See wide character support in
this table.
Partial SupportPartial Support<cwctype>
Not ApplicableThe following types are not
provided:
Yes<functional>
mem_fun_t
mem_fun1_t
154 Standardizing Your Code