File indexing completed on 2025-01-18 09:31:08
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP
0011 #define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_NAMED_HPP
0012
0013 #include <boost/fusion/support/config.hpp>
0014 #include <boost/fusion/adapted/struct/adapt_struct.hpp>
0015 #include <boost/fusion/adapted/struct/detail/proxy_type.hpp>
0016 #include <boost/preprocessor/config/config.hpp>
0017
0018 #ifdef BOOST_PP_VARIADICS
0019
0020 # define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
0021 WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ...) \
0022 \
0023 BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
0024 WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
0025 \
0026 BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \
0027 BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \
0028 (0)NAMESPACE_SEQ)NAME, \
0029 __VA_ARGS__)
0030
0031 # define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ...) \
0032 BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
0033 WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,__VA_ARGS__)
0034
0035
0036 #else
0037
0038 # define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
0039 WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \
0040 \
0041 BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \
0042 WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \
0043 \
0044 BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \
0045 BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \
0046 (0)NAMESPACE_SEQ)NAME, \
0047 ATTRIBUTES)
0048
0049 # define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \
0050 BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \
0051 WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES)
0052
0053 #endif
0054
0055 #endif