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:
stringobject support is enabled and can be used instead of traditional C ASCIIZ pointers with all functions that expect a string somewhere. It expands to
1, the iostream wrapper classes are enabled and can be used by the library user. It expands to
0otherwise and no iostream wrapper classes are present in this case.
1, libbinio's iostream wrapper classes are taylored for the ISO standard C++ library, instead of a "traditional" iostream implementation. It expands to
0otherwise. This macro is merely 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.