File indexing completed on 2025-01-18 09:53:36
0001
0002
0003
0004
0005
0006
0007 #if !defined(BOOST_VMD_DETAIL_IS_TYPE_HPP)
0008 #define BOOST_VMD_DETAIL_IS_TYPE_HPP
0009
0010 #include <boost/preprocessor/control/iif.hpp>
0011 #include <boost/vmd/identity.hpp>
0012 #include <boost/vmd/detail/identifier_type.hpp>
0013 #include <boost/vmd/detail/is_type_type.hpp>
0014 #include <boost/vmd/detail/is_identifier.hpp>
0015 #include <boost/vmd/detail/type_registration.hpp>
0016
0017 #define BOOST_VMD_DETAIL_IS_TYPE_IMP_TYPE(vseq) \
0018 BOOST_VMD_DETAIL_IS_TYPE_TYPE \
0019 ( \
0020 BOOST_VMD_DETAIL_IDENTIFIER_TYPE(vseq) \
0021 ) \
0022
0023
0024 #define BOOST_VMD_DETAIL_IS_TYPE_IMP_TYPE_D(d,vseq) \
0025 BOOST_VMD_DETAIL_IS_TYPE_TYPE \
0026 ( \
0027 BOOST_VMD_DETAIL_IDENTIFIER_TYPE_D(d,vseq) \
0028 ) \
0029
0030
0031 #define BOOST_VMD_DETAIL_IS_TYPE(vseq) \
0032 BOOST_VMD_IDENTITY_RESULT \
0033 ( \
0034 BOOST_PP_IIF \
0035 ( \
0036 BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE(vseq), \
0037 BOOST_VMD_DETAIL_IS_TYPE_IMP_TYPE, \
0038 BOOST_VMD_IDENTITY(0) \
0039 ) \
0040 (vseq) \
0041 ) \
0042
0043
0044 #define BOOST_VMD_DETAIL_IS_TYPE_D(d,vseq) \
0045 BOOST_VMD_IDENTITY_RESULT \
0046 ( \
0047 BOOST_PP_IIF \
0048 ( \
0049 BOOST_VMD_DETAIL_IS_IDENTIFIER_SINGLE_D(d,vseq), \
0050 BOOST_VMD_DETAIL_IS_TYPE_IMP_TYPE_D, \
0051 BOOST_VMD_IDENTITY(0) \
0052 ) \
0053 (d,vseq) \
0054 ) \
0055
0056
0057 #endif