forked from boostorg/preprocessor
speedups
[SVN r15272]
This commit is contained in:
@ -13,23 +13,17 @@
|
||||
# ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP
|
||||
# define BOOST_PREPROCESSOR_CONTROL_IIF_HPP
|
||||
#
|
||||
# include <boost/preprocessor/cat.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_IIF */
|
||||
#
|
||||
# if BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_IDEAL
|
||||
# define BOOST_PP_IIF(bit, t, f) BOOST_PP_CAT(BOOST_PP_IIF_, bit)(t, f)
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f)
|
||||
# else
|
||||
# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW
|
||||
# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_D(bit, t, f)
|
||||
# else
|
||||
# define BOOST_PP_IIF(bit, t, f) BOOST_PP_EVIL_IIF_D((bit, t, f))
|
||||
# define BOOST_PP_EVIL_IIF_D(par) BOOST_PP_IIF_D ## par
|
||||
# endif
|
||||
# define BOOST_PP_IIF_D(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)
|
||||
# define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f))
|
||||
# define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)
|
||||
#
|
||||
# define BOOST_PP_IIF_0(t, f) f
|
||||
# define BOOST_PP_IIF_1(t, f) t
|
||||
#
|
||||
|
Reference in New Issue
Block a user