Using Aliases

Since the code defines its types inside of the NSR scope, whenever its
types are referenced by code outside of the NSR scope, they must be
referenced via the NSR:: scope resolution operator. This can be
cumbersome.

Therefore, we have provided the config/nsrAlias.h file, in which the
NSR types may be typedefed to anything the user wants. Essentially,
the typedefs declared there export the NSR-defined internal types into
the user's namespace.

Users will have different needs, so the file has been placed in the
config directory, along with all of the other files that may need
modification for a given user.

We provide some aliases which essentially just export the NSR types
as-is. We use these in the test and verification code which is shipped
with the library.

If you would like to use these, simply uncomment the line defining
_HP_ALIASES_, or compile your code with a -D_HP_ALIASES_ option.

NOTE:

The library itself is defined inside of the NSR scope, and its
method definitions require an NSR:: prefix on their return values
and class::method names. Our makefiles intentionally compile the
library code with the -D_NO_ALIASES_ option, so that the code does not
become (inadvertently) dependent upon any aliases.


Summary of Defines controlling config/nsrAlias.h:

_NO_ALIASES_ : If this is defined, no aliases should be
               used. This is used when building the library
               itself. The aliases should only be used when
               compiling code which uses the library.

_HP_ALIASES_ : These are the aliases which HP uses in its
               tests and verification code. They should be left
               alone, so that HP's code works properly. Define
               this if you want to use HP's aliases.

