Metrowerks speedup

[SVN r15248]
This commit is contained in:
Paul Mensonides
2002-09-10 02:12:19 +00:00
parent 3facdc63f6
commit 0d9fa12aa6
3 changed files with 400 additions and 12 deletions

View File

@ -33,17 +33,23 @@
# define BOOST_PP_TUPLE_ELEM_IV(ext, i) BOOST_PP_TUPLE_ELEM_V(BOOST_PP_TUPLE_ELEM_ ## i ext)
# define BOOST_PP_TUPLE_ELEM_V(res) res
# else
# define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_D((size, index, tuple))
# define BOOST_PP_TUPLE_ELEM_D(par) BOOST_PP_TUPLE_ELEM_I ## par
# define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_II((BOOST_PP_TUPLE_ELEM_EX_ ## s, i, t))
# define BOOST_PP_TUPLE_ELEM_II(par) BOOST_PP_TUPLE_ELEM_III ## par
# define BOOST_PP_TUPLE_ELEM_III(m, i, t) BOOST_PP_TUPLE_ELEM_IV((m ## t, i))
# define BOOST_PP_TUPLE_ELEM_IV(par) BOOST_PP_TUPLE_ELEM_IV_D(par)
# define BOOST_PP_TUPLE_ELEM_IV_D(par) BOOST_PP_TUPLE_ELEM_V ## par
# define BOOST_PP_TUPLE_ELEM_V(x, i) BOOST_PP_TUPLE_ELEM_VI(BOOST_PP_TUPLE_ELEM_ ## i ## x)
# define BOOST_PP_TUPLE_ELEM_VI(res) res
# //ifdef TESTING_MODE
# include <boost/preprocessor/tuple/detail/mwcw/elem.hpp>
# //else
# //define BOOST_PP_TUPLE_ELEM(size, index, tuple) BOOST_PP_TUPLE_ELEM_D((size, index, tuple))
# //define BOOST_PP_TUPLE_ELEM_D(par) BOOST_PP_TUPLE_ELEM_I ## par
# //define BOOST_PP_TUPLE_ELEM_I(s, i, t) BOOST_PP_TUPLE_ELEM_II((BOOST_PP_TUPLE_ELEM_EX_ ## s, i, t))
# //define BOOST_PP_TUPLE_ELEM_II(par) BOOST_PP_TUPLE_ELEM_III ## par
# //define BOOST_PP_TUPLE_ELEM_III(m, i, t) BOOST_PP_TUPLE_ELEM_IV((m ## t, i))
# //define BOOST_PP_TUPLE_ELEM_IV(par) BOOST_PP_TUPLE_ELEM_IV_D(par)
# //define BOOST_PP_TUPLE_ELEM_IV_D(par) BOOST_PP_TUPLE_ELEM_V ## par
# //define BOOST_PP_TUPLE_ELEM_V(x, i) BOOST_PP_TUPLE_ELEM_VI(BOOST_PP_TUPLE_ELEM_ ## i ## x)
# //define BOOST_PP_TUPLE_ELEM_VI(res) res
# //endif
# endif
#
# if ~BOOST_PP_CONFIG_FLAGS & BOOST_PP_CONFIG_MWCW //|| !defined TESTING_MODE
#
# define BOOST_PP_TUPLE_ELEM_EX_0() (BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000))
# define BOOST_PP_TUPLE_ELEM_EX_1(a) (a, BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000))
# define BOOST_PP_TUPLE_ELEM_EX_2(a, b) (a, b, BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000), BOOST_PP_ERROR(0x0000))
@ -98,3 +104,5 @@
# define BOOST_PP_TUPLE_ELEM_24(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) y
#
# endif
#
# endif