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
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
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
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
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.