C/C++ Programmer's Guide (G06.27+, H06.08+, J06.03+)

tells C or C++ to modify any #include name fully matching the "from" string. The effect is
to replace the "from" string with the "to" string.
This example treats #include "sys/types.h" as #include
"$system.system.systypeh":
PRAGMA MAPINCLUDE "sys/types.h"="$system.system.systypeh"
This example treats #include <sys/types.h> as #include <systypeh>:
PRAGMA MAPINCLUDE "sys/types.h"="systypeh"
This version of the pragma covers all cases where an exact match is required.
2. The pragma:
pragma MAPINCLUDE PATH "from"="to"
tells C or C++ to modify any #include name starting with the "from" string. It replaces the
"from" string with the "to" string. Note that the slash is not a delimiter; it is part of the string.
This example treats #include "rw/cstring.h" as #include
"$system.rw.cstringh":
PRAGMA MAPINCLUDE PATH "rw/"="$system.rw."
Note that cstring.h is not a Guardian file name. The compiler treats “.h” as “h.
This example treats #include <sys/type.h> as #include <systype.h>:
PRAGMA MAPINCLUDE PATH "sys/"="sys"
This version of the pragma handles the problem of multiple versions of class libraries
installed on a single system.
Each set of class library include files from a given vendor uses the same directory for
each class library provided. This is not a problem on small systems, because users typically
install their own copy of the version they need for their own use. On large multiuser
systems, however, it is more likely that users might want to use different versions of a
specific class library.
For example, to get version 7 of the Tools.h++ library, a user might specify:
#pragma MAPINCLUDE PATH "rw/"= "$system.zincrw70."
To get version 6.1 of the Tools.h++ library, a user might specify:
#pragma MAPINCLUDE PATH "rw/"="$system.zrw."
3. The pragma:
pragma MAPINCLUDE FILE "from"="to"
tells C or C++ to modify any #include name ending with the "from" string. It replaces the
"from" string with the "to" string.
This example treats #include "strstream.h" as #include "strstreh":
PRAGMA MAPINCLUDE FILE "strstream.h"="strstreh"
This version of the pragma covers all cases where file names, other than Guardian file names,
are longer than the longest allowable Guardian file name.
4. The pragma:
pragma CPATHEQ [ "filename" ]
defaults to searching for a file named "cpatheq" in the compiler’s subvolume. You can supply
your own cpatheq file as an optional argument. For version 7, HP provides a CPATHEQ file
named TLHMAP. However, no CPATHEQ file is provided for earlier versions of Tools.h++.
In this example, the CPATHEQ pragma tells the C++ compiler to open the
$MYVOL.MYSUB.MYPATHEQ file and to process the information it contains:
PRAGMA CPATHEQ "$myvol.mysub.mypatheq"
Using Tools.h++ 95