File indexing completed on 2025-01-18 09:53:38
0001
0002
0003
0004
0005
0006
0007 #if !defined(BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_HPP)
0008 #define BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_HPP
0009
0010 #include <boost/preprocessor/control/iif.hpp>
0011 #include <boost/vmd/detail/modifiers.hpp>
0012 #include <boost/vmd/detail/mods.hpp>
0013 #include <boost/vmd/detail/not_empty.hpp>
0014 #include <boost/vmd/detail/sequence_elem.hpp>
0015
0016 #define BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY(...) \
0017 BOOST_PP_IIF \
0018 ( \
0019 BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \
0020 BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE \
0021 ( \
0022 BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \
0023 , \
0024 BOOST_VMD_TYPE_ARRAY, \
0025 BOOST_VMD_DETAIL_NEW_MODS(BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \
0026 ), \
0027 (0,()) \
0028 ) \
0029
0030
0031 #define BOOST_VMD_DETAIL_SEQUENCE_TO_ARRAY_D(d,...) \
0032 BOOST_PP_IIF \
0033 ( \
0034 BOOST_VMD_DETAIL_NOT_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__)), \
0035 BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_D \
0036 ( \
0037 d, \
0038 BOOST_VMD_DETAIL_SEQUENCE_ELEM_GET_VSEQ(__VA_ARGS__), \
0039 , \
0040 BOOST_VMD_TYPE_ARRAY, \
0041 BOOST_VMD_DETAIL_NEW_MODS_D(d,BOOST_VMD_ALLOW_RETURN,__VA_ARGS__) \
0042 ), \
0043 (0,()) \
0044 ) \
0045
0046
0047 #endif