Iray Programmer's Manual

Base API configuration options for STL use

The Base API makes occasional use of Standard Template Library (STL) headers, classes, and functions. This behavior can be customized with the following macro:

MI_BASE_NO_STL

The Base API will not include any STL header and it will not use any STL classes not functions. Instead it will add missing class and function definitions to its own namespace, for example min and max function templates.

Note: The Base API still includes a few standard C++ headers, for example cstddef and cmath.

The Base API locates classes and functions from the standard library in the namespace scope MISTD. It is by default set as a namespace alias to point to the namespace std. This behavior can be customized with the following macros:

MI_BASE_STD_NAMESPACE

This macro has to expand to a valid namespace scope that contains the standard library classes and functions. It is used for the namespace alias MISTD instead of the default std.

MI_BASE_NO_MISTD_ALIAS

If this macro is defined, the namespace alias definition for MISTD is suppressed. This can be used if the standard library classes and functions have been configured to live already in the MISTD namespace.