OMNI_CHAR_T
MACRO

OMNI_CHAR_T - Defines the underlying char type.

SYNOPSIS top

Certain portions of the framework can be wide character aware by defining the OMNI_UNICODE macro, which in turn is defined if a UNICODE macro is defined.

If OMNI_UNICODE is defined, then the wchar_t type is used for certain framework functionality and omni::char_t is a wchar_t type.

If OMNI_UNICODE is <b><i>not</i></b> defined, then the char type is used and omni::char_t is a normal char type.

DESCRIPTION top

To be deterministic (i.e. the same input/output across platforms), the OMNI_CHAR_T and OMNI_STRING_T types are defined based on the OMNI_UNICODE flag. Windows platforms/builds typically reference the wide character functions of the Windows API (i.e. the GetCurrentDirectory function is a macro alias to either the GetCurrentDirectoryW or GetCurrentDirectoryA functions which operate on the wchar_t and char types respectively), as such, to not have the developer worry about what character type to use when using a certain Omni API on a specific platform, you can utilize the OMNI_CHAR_T and OMNI_STRING_T compile flags to ensure the proper type is used across platforms/builds.

CONSIDERATIONS top

No special consideration.

PLATFORM SPECIFIC top

Although this flag is used to help certain cross-platform issues, it does not have any platform specific notes.

NOTES top

None.