Changed BOOST_PP_EMPTY to only use the variadic version when not VC++. Corrected others to use local version of EMPTY.

This commit is contained in:
Edward Diener
2014-05-23 10:23:40 -04:00
parent f61bb8a80f
commit 8ac31eb612
5 changed files with 17 additions and 11 deletions

View File

@ -17,7 +17,6 @@
# include <boost/preprocessor/config/config.hpp> # include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/array/size.hpp> # include <boost/preprocessor/array/size.hpp>
# include <boost/preprocessor/control/if.hpp> # include <boost/preprocessor/control/if.hpp>
# include <boost/preprocessor/facilities/empty.hpp>
# include <boost/preprocessor/tuple/to_seq.hpp> # include <boost/preprocessor/tuple/to_seq.hpp>
# #
# /* BOOST_PP_ARRAY_TO_SEQ */ # /* BOOST_PP_ARRAY_TO_SEQ */
@ -27,10 +26,11 @@
( \ ( \
BOOST_PP_ARRAY_SIZE(array), \ BOOST_PP_ARRAY_SIZE(array), \
BOOST_PP_ARRAY_TO_SEQ_DO, \ BOOST_PP_ARRAY_TO_SEQ_DO, \
BOOST_PP_EMPTY \ BOOST_PP_ARRAY_TO_SEQ_EMPTY \
) \ ) \
(array) \ (array) \
/**/ /**/
# define BOOST_PP_ARRAY_TO_SEQ_EMPTY(array)
# #
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() # if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
# define BOOST_PP_ARRAY_TO_SEQ_DO(array) BOOST_PP_ARRAY_TO_SEQ_I(BOOST_PP_TUPLE_TO_SEQ, array) # define BOOST_PP_ARRAY_TO_SEQ_DO(array) BOOST_PP_ARRAY_TO_SEQ_I(BOOST_PP_TUPLE_TO_SEQ, array)

View File

@ -16,7 +16,6 @@
# include <boost/preprocessor/array/data.hpp> # include <boost/preprocessor/array/data.hpp>
# include <boost/preprocessor/array/size.hpp> # include <boost/preprocessor/array/size.hpp>
# include <boost/preprocessor/control/if.hpp> # include <boost/preprocessor/control/if.hpp>
# include <boost/preprocessor/facilities/empty.hpp>
# #
# /* BOOST_PP_ARRAY_TO_TUPLE */ # /* BOOST_PP_ARRAY_TO_TUPLE */
# #
@ -25,9 +24,10 @@
( \ ( \
BOOST_PP_ARRAY_SIZE(array), \ BOOST_PP_ARRAY_SIZE(array), \
BOOST_PP_ARRAY_DATA, \ BOOST_PP_ARRAY_DATA, \
BOOST_PP_EMPTY \ BOOST_PP_ARRAY_TO_TUPLE_EMPTY \
) \ ) \
(array) \ (array) \
/**/ /**/
# define BOOST_PP_ARRAY_TO_TUPLE_EMPTY(array)
# #
# endif # endif

View File

@ -19,10 +19,14 @@
# #
# /* BOOST_PP_EMPTY */ # /* BOOST_PP_EMPTY */
# #
# if BOOST_PP_VARIADICS # if BOOST_PP_VARIADICS && !BOOST_PP_VARIADICS_MSVC
# define BOOST_PP_EMPTY(...) # define BOOST_PP_EMPTY(...)
# else # else
# define BOOST_PP_EMPTY() # define BOOST_PP_EMPTY()
# endif # endif
# #
# if BOOST_PP_VARIADICS
# define BOOST_PP_VARIADIC_EMPTY(...)
# endif
#
# endif # endif

View File

@ -16,7 +16,6 @@
# #
# if BOOST_PP_VARIADICS # if BOOST_PP_VARIADICS
# #
# include <boost/preprocessor/facilities/empty.hpp>
# include <boost/preprocessor/punctuation/is_begin_parens.hpp> # include <boost/preprocessor/punctuation/is_begin_parens.hpp>
# include <boost/preprocessor/facilities/detail/is_empty.hpp> # include <boost/preprocessor/facilities/detail/is_empty.hpp>
# #
@ -31,11 +30,12 @@
) \ ) \
) \ ) \
( \ ( \
0 BOOST_PP_EMPTY, \ BOOST_PP_IS_EMPTY_ZERO, \
BOOST_PP_DETAIL_IS_EMPTY_PROCESS \ BOOST_PP_DETAIL_IS_EMPTY_PROCESS \
) \ ) \
(param) \ (param) \
/**/ /**/
#define BOOST_PP_IS_EMPTY_ZERO(param) 0
# else # else
#define BOOST_PP_IS_EMPTY(...) \ #define BOOST_PP_IS_EMPTY(...) \
BOOST_PP_DETAIL_IS_EMPTY_IIF \ BOOST_PP_DETAIL_IS_EMPTY_IIF \
@ -46,11 +46,12 @@
) \ ) \
) \ ) \
( \ ( \
0 BOOST_PP_EMPTY, \ BOOST_PP_IS_EMPTY_ZERO, \
BOOST_PP_DETAIL_IS_EMPTY_PROCESS \ BOOST_PP_DETAIL_IS_EMPTY_PROCESS \
) \ ) \
(__VA_ARGS__) \ (__VA_ARGS__) \
/**/ /**/
#define BOOST_PP_IS_EMPTY_ZERO(...) 0
# endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */ # endif /* BOOST_PP_VARIADICS_MSVC && _MSC_VER <= 1400 */
# endif /* BOOST_PP_VARIADICS */ # endif /* BOOST_PP_VARIADICS */
# endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP */ # endif /* BOOST_PREPROCESSOR_FACILITIES_IS_EMPTY_VARIADIC_HPP */

View File

@ -17,7 +17,6 @@
# include <boost/preprocessor/config/config.hpp> # include <boost/preprocessor/config/config.hpp>
# include <boost/preprocessor/list/enum.hpp> # include <boost/preprocessor/list/enum.hpp>
# include <boost/preprocessor/control/iif.hpp> # include <boost/preprocessor/control/iif.hpp>
# include <boost/preprocessor/facilities/empty.hpp>
# #
# /* BOOST_PP_LIST_TO_TUPLE */ # /* BOOST_PP_LIST_TO_TUPLE */
# #
@ -25,11 +24,12 @@
BOOST_PP_IIF \ BOOST_PP_IIF \
( \ ( \
BOOST_PP_LIST_IS_NIL(list), \ BOOST_PP_LIST_IS_NIL(list), \
BOOST_PP_EMPTY, \ BOOST_PP_LIST_TO_TUPLE_EMPTY, \
BOOST_PP_LIST_TO_TUPLE_DO \ BOOST_PP_LIST_TO_TUPLE_DO \
) \ ) \
(list) \ (list) \
/**/ /**/
# define BOOST_PP_LIST_TO_TUPLE_EMPTY(list)
# #
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_LIST_TO_TUPLE_DO(list) (BOOST_PP_LIST_ENUM(list)) # define BOOST_PP_LIST_TO_TUPLE_DO(list) (BOOST_PP_LIST_ENUM(list))
@ -44,11 +44,12 @@
BOOST_PP_IIF \ BOOST_PP_IIF \
( \ ( \
BOOST_PP_LIST_IS_NIL(list), \ BOOST_PP_LIST_IS_NIL(list), \
BOOST_PP_EMPTY, \ BOOST_PP_LIST_TO_TUPLE_R_EMPTY, \
BOOST_PP_LIST_TO_TUPLE_R_DO \ BOOST_PP_LIST_TO_TUPLE_R_DO \
) \ ) \
(r, list) \ (r, list) \
/**/ /**/
# define BOOST_PP_LIST_TO_TUPLE_R_EMPTY(r,list)
# #
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG() # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
# define BOOST_PP_LIST_TO_TUPLE_R_DO(r, list) (BOOST_PP_LIST_ENUM_R(r, list)) # define BOOST_PP_LIST_TO_TUPLE_R_DO(r, list) (BOOST_PP_LIST_ENUM_R(r, list))