File indexing completed on 2025-01-18 09:29:37
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef BOOST_BIMAP_DETAIL_CHECK_METADATA_HPP
0010 #define BOOST_BIMAP_DETAIL_CHECK_METADATA_HPP
0011
0012 #if defined(_MSC_VER)
0013 #pragma once
0014 #endif
0015
0016 #include <boost/config.hpp>
0017
0018 #include <boost/mpl/assert.hpp>
0019 #include <boost/type_traits/is_same.hpp>
0020 #include <boost/preprocessor/cat.hpp>
0021
0022
0023
0024
0025 #define BOOST_BIMAP_MPL_ASSERT_MSG_ACS(p1,p2,p3) \
0026 \
0027 struct p2 {}; \
0028 BOOST_MPL_ASSERT_MSG(p1,p2,p3); \
0029
0030
0031
0032
0033
0034 #define BOOST_BIMAP_WRONG_METADATA_MESSAGE( \
0035 \
0036 P_CLASS, \
0037 P_NAME, \
0038 P_CORRECT_TYPE \
0039 \
0040 ) \
0041 \
0042 BOOST_PP_CAT \
0043 ( \
0044 WRONG_METADATA__, \
0045 BOOST_PP_CAT \
0046 ( \
0047 P_CLASS, \
0048 BOOST_PP_CAT \
0049 ( \
0050 __AT__, \
0051 BOOST_PP_CAT \
0052 ( \
0053 P_NAME, \
0054 BOOST_PP_CAT \
0055 ( \
0056 __IS_DIFERENT_TO__, \
0057 P_CORRECT_TYPE \
0058 ) \
0059 ) \
0060 ) \
0061 ) \
0062 )
0063
0064
0065
0066
0067
0068
0069 #define BOOST_BIMAP_CHECK_METADATA( \
0070 \
0071 P_CLASS, \
0072 P_NAME, \
0073 P_CORRECT_TYPE \
0074 \
0075 ) \
0076 \
0077 BOOST_BIMAP_MPL_ASSERT_MSG_ACS \
0078 ( \
0079 ( \
0080 ::boost::is_same \
0081 < \
0082 P_CLASS::P_NAME, \
0083 P_CORRECT_TYPE \
0084 \
0085 >::value \
0086 ), \
0087 BOOST_BIMAP_WRONG_METADATA_MESSAGE \
0088 ( \
0089 P_CLASS, \
0090 P_NAME, \
0091 P_CORRECT_TYPE \
0092 ), \
0093 (P_CLASS::P_NAME,P_CORRECT_TYPE) \
0094 )
0095
0096
0097
0098
0099
0100 #define BOOST_BIMAP_TEST_STATIC_FUNCTION(NAME) \
0101 namespace NAME
0102
0103
0104
0105
0106
0107 #define BOOST_BIMAP_CALL_TEST_STATIC_FUNCTION(NAME)
0108
0109
0110
0111
0112 #endif
0113