9.4. Selecting third party library support

The library can be built with support for third party libraries. The libraries supported are: std::tr1, stdext (MSVC/Windows only), Loki, boost and Intel Threading Building Blocks. When support is enabled for a library, various types in the library such as containers or pointer wrappers are automatically handled by the serialization library. Also, various specializations of the container types will be treated as blobs by the library, for example, boost::array<char, 4> will be treated as a 4 byte blob.

To enable support for a library XYZ, define the appropriate HAVE_XYZ_LIBRARY macro to one before including the config.hpp file. To disable support, define the macro to zero. For example:

#define HAVE_LOKI_LIBRARY 0
#include "ccs/config.hpp"
#include "ccs/db_access.hpp"
#include DEFAULT_BACKEND_HPP
#include "ccs/serialization.hpp"

Alternatively, you can edit the config.hpp file or set up a compiler macro definition in your makefile or development environment's settings panel.