MPL11
 All Classes Namespaces Files Typedefs Macros Groups Pages
config.hpp
Go to the documentation of this file.
1 
12 #ifndef BOOST_MPL11_DETAIL_CONFIG_HPP
13 #define BOOST_MPL11_DETAIL_CONFIG_HPP
14 
15 #if defined(BOOST_MPL11_DOXYGEN_INVOKED)
16 
26 # define BOOST_MPL11_NO_ASSERTIONS
27 
37 # define BOOST_MPL11_NO_REWRITE_RULES
38 
45 # define BOOST_MPL11_IF_DOXYGEN(...) __VA_ARGS__
46 
56 # define BOOST_MPL11_DOXYGEN_ALIAS(NAME, ...) struct NAME : __VA_ARGS__ { }
57 
58 #else // not generating documentation
59 
60 # define BOOST_MPL11_IF_DOXYGEN(...) /* nothing */
61 # define BOOST_MPL11_DOXYGEN_ALIAS(NAME, ...) using NAME = __VA_ARGS__
62 
63 #endif
64 
65 #if defined(BOOST_MPL11_NO_ASSERTIONS) || defined(BOOST_MPL11_DOXYGEN_INVOKED)
66 
72 # define BOOST_MPL11_IF_ASSERTIONS(...) // nothing
73 #else
74 # define BOOST_MPL11_IF_ASSERTIONS(...) __VA_ARGS__
75 #endif
76 
82 #define BOOST_MPL11_CLANG_FLIP_BUG
83 
90 #define BOOST_MPL11_GCC_PACK_EXPANSION_BUG
91 
92 #if (defined(__GNUC__) || defined(__GNUG__)) && \
93  !defined(__clang__) && !defined(__INTEL_COMPILER)
94 # define BOOST_MPL11_GCC
95 #endif
96 
97 #endif // !BOOST_MPL11_DETAIL_CONFIG_HPP