1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- #ifndef BOOST_UNITS_CONFIG_HPP
- #define BOOST_UNITS_CONFIG_HPP
- #include <boost/config.hpp>
- #include <boost/version.hpp>
- #ifndef BOOST_UNITS_HAS_BOOST_TYPEOF
- #if (BOOST_VERSION >= 103400)
-
- #define BOOST_UNITS_HAS_BOOST_TYPEOF 1
- #else
-
- #define BOOST_UNITS_HAS_BOOST_TYPEOF 0
- #endif
- #endif
- #if (BOOST_UNITS_HAS_BOOST_TYPEOF)
- #include <boost/typeof/typeof.hpp>
-
- #define BOOST_UNITS_HAS_TYPEOF 1
- #else
- #if (__GNUC__ && __cplusplus)
-
- #define BOOST_UNITS_HAS_TYPEOF 1
-
- #define BOOST_UNITS_HAS_GNU_TYPEOF 1
- #elif defined(__MWERKS__)
-
- #define BOOST_UNITS_HAS_TYPEOF 1
-
- #define BOOST_UNITS_HAS_MWERKS_TYPEOF 1
- #else
-
- #define BOOST_UNITS_HAS_TYPEOF 0
- #endif
- #endif
- #ifndef BOOST_UNITS_NO_COMPILER_CHECK
- #ifdef BOOST_NO_MEMBER_TEMPLATES
- #error Boost.Units requires member template
- #endif
- #ifdef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
- #error Boost.Units requires member template keyword
- #endif
- #ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
- #error Boost.Units requires in class member initialization
- #endif
- #ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
- #error Boost.Units requires function template partial ordering
- #endif
- #endif
- #ifdef BOOST_UNITS_REQUIRE_LAYOUT_COMPATIBILITY
-
- #define BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(a, b) BOOST_STATIC_ASSERT((sizeof(a) == sizeof(b)))
- #else
-
- #define BOOST_UNITS_CHECK_LAYOUT_COMPATIBILITY(a, b) ((void)0)
- #endif
- #ifdef BOOST_UNITS_DOXYGEN
- #define BOOST_UNITS_REQUIRE_LAYOUT_COMPATIBILITY
- #define BOOST_UNITS_NO_COMPILER_CHECK
- #define BOOST_UNITS_CHECK_HOMOGENEOUS_UNITS
- #endif
- #endif
|