// 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

(HP-UX System Libraries)

 

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