c++boost.gif (8819 bytes) Home Libraries People FAQ More

Configuration Header boost/config.hpp

The boost/config.hpp header is used to pass configuration information to other boost files, allowing them to cope with platform dependencies such as arithmetic byte ordering, compiler pragmas, or compiler shortcomings. Without such configuration information, many current compilers would not work with the Boost libraries.

Centralizing configuration information is this header reduces the number of files which must be modified when porting libraries to new platforms, or when compilers are updated. Ideally, no other files would have to be modified when porting to a new platform.

Configuration headers are controversial because some view them as condoning broken compilers and encouraging non-standard subsets. Adding settings for additional platforms and maintaining existing settings can also be a problem. In other words, configuration headers are a necessary evil rather than a desirable feature. The boost config.hpp policy is designed to minimize the problems and maximize the benefits of a configuration header.

Boost config.hpp policy

For Library Users:

For Library Implementors:

General:

Documentation

See boost/config.hpp; it is designed to be self documenting.

Test program

The config_test.cpp program can be used to verify which #defines are in effect for your compiler.


Revised 10 Nov 2000