forked from boostorg/preprocessor
speedups
[SVN r15272]
This commit is contained in:
@ -15,22 +15,22 @@
|
||||
# ifndef BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP
|
||||
# define BOOST_PREPROCESSOR_TUPLE_REVERSE_HPP
|
||||
#
|
||||
# include <boost/preprocessor/cat.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
#
|
||||
# /* BOOST_PP_TUPLE_REVERSE */
|
||||
#
|
||||
# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_IDEAL
|
||||
# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_CAT(BOOST_PP_TUPLE_REVERSE_, size) tuple
|
||||
# elif ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW
|
||||
# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_D(size, tuple)
|
||||
# define BOOST_PP_TUPLE_REVERSE_D(size, tuple) BOOST_PP_TUPLE_REVERSE_I(BOOST_PP_TUPLE_REVERSE_ ## size, tuple)
|
||||
# define BOOST_PP_TUPLE_REVERSE_I(rev, tuple) rev tuple
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_I(size, tuple)
|
||||
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
|
||||
# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s t
|
||||
# else
|
||||
# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_II(BOOST_PP_TUPLE_REVERSE_ ## s t)
|
||||
# define BOOST_PP_TUPLE_REVERSE_II(res) res
|
||||
# endif
|
||||
# else
|
||||
# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_EVIL_TUPLE_REVERSE_I((size, tuple))
|
||||
# define BOOST_PP_EVIL_TUPLE_REVERSE_I(par) BOOST_PP_TUPLE_REVERSE_II ## par
|
||||
# define BOOST_PP_TUPLE_REVERSE_II(size, tuple) BOOST_PP_EVIL_TUPLE_REVERSE_III(BOOST_PP_TUPLE_REVERSE_ ## size, tuple)
|
||||
# define BOOST_PP_EVIL_TUPLE_REVERSE_III(rev, tuple) rev ## tuple
|
||||
# define BOOST_PP_TUPLE_REVERSE(size, tuple) BOOST_PP_TUPLE_REVERSE_OO((size, tuple))
|
||||
# define BOOST_PP_TUPLE_REVERSE_OO(par) BOOST_PP_TUPLE_REVERSE_I ## par
|
||||
# define BOOST_PP_TUPLE_REVERSE_I(s, t) BOOST_PP_TUPLE_REVERSE_ ## s ## t
|
||||
# endif
|
||||
#
|
||||
# define BOOST_PP_TUPLE_REVERSE_0() ()
|
||||
|
Reference in New Issue
Block a user