Node:Configuration, Next:, Previous:Concepts, Up:Reference



Configuration

libbinio can be configured in various ways at compile time and some parts of the library can be disabled to save disk space and/or processing speed.

In some cases, these configuration options directly change parts of the interface and must thus also be known by the library user.

To make these options available to the library user, libbinio defines some C preprocessor macros in binio.h. These are:

BINIO_ENABLE_STRING
If this macro expands to 1, STL string object support is enabled and can be used instead of traditional C ASCIIZ pointers with all functions that expect a string somewhere. It expands to 0 otherwise.
BINIO_ENABLE_IOSTREAM
If this macro expands to 1, the iostream wrapper classes are enabled and can be used by the library user. It expands to 0 otherwise and no iostream wrapper classes are present in this case.
BINIO_ISO_STDLIB
If this macro expands to 1, libbinio's iostream wrapper classes are taylored for the ISO standard C++ library, instead of a "traditional" iostream implementation. It expands to 0 otherwise. This macro is merely for libbinio's internal use and should not be used by an application programmer.
BINIO_WITH_MATH
This macro is for libbinio's internal use and should not be used by an application programmer.

All macros are always defined. The decision whether a feature is enabled in the library has to be based on the value of these macros, not whether they are defined or not.