File indexing completed on 2025-01-18 09:53:38
0001
0002
0003
0004
0005
0006
0007 #if !defined(BOOST_VMD_DETAIL_SEQUENCE_ENUM_HPP)
0008 #define BOOST_VMD_DETAIL_SEQUENCE_ENUM_HPP
0009
0010 #include <boost/preprocessor/control/iif.hpp>
0011 #include <boost/preprocessor/tuple/enum.hpp>
0012 #include <boost/vmd/empty.hpp>
0013 #include <boost/vmd/is_empty.hpp>
0014 #include <boost/vmd/detail/sequence_to_tuple.hpp>
0015
0016 #define BOOST_VMD_DETAIL_SEQUENCE_ENUM_PROCESS(tuple) \
0017 BOOST_PP_IIF \
0018 ( \
0019 BOOST_VMD_IS_EMPTY(tuple), \
0020 BOOST_VMD_EMPTY, \
0021 BOOST_PP_TUPLE_ENUM \
0022 ) \
0023 (tuple) \
0024
0025
0026 #define BOOST_VMD_DETAIL_SEQUENCE_ENUM(...) \
0027 BOOST_VMD_DETAIL_SEQUENCE_ENUM_PROCESS \
0028 ( \
0029 BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE(__VA_ARGS__) \
0030 ) \
0031
0032
0033 #define BOOST_VMD_DETAIL_SEQUENCE_ENUM_D(d,...) \
0034 BOOST_VMD_DETAIL_SEQUENCE_ENUM_PROCESS \
0035 ( \
0036 BOOST_VMD_DETAIL_SEQUENCE_TO_TUPLE_D(d,__VA_ARGS__) \
0037 ) \
0038
0039
0040 #endif