mirror of
https://github.com/boostorg/preprocessor.git
synced 2025-06-30 06:20:57 +02:00
Compare commits
10 Commits
boost-1.34
...
boost-1.48
Author | SHA1 | Date | |
---|---|---|---|
98b29391c2 | |||
c81e77bb16 | |||
d674ec9d6e | |||
0decc801d5 | |||
6cee861d4b | |||
32f92a1431 | |||
4507d79106 | |||
80f57a0284 | |||
6a5b3283fc | |||
f3461db9c7 |
@ -64,10 +64,10 @@
|
||||
#include <<a href="../headers/repetition/epwd.html">boost/preprocessor/repetition/enum_params_with_defaults.hpp</a>>
|
||||
|
||||
<a href="enum_params_with_defaults.html">BOOST_PP_ENUM_PARAMS_WITH_DEFAULTS</a>(3, class T, U)
|
||||
// expands to T0 = U0, T1 = U1, T2 = U2
|
||||
// expands to class T0 = U0, class T1 = U1, class T2 = U2
|
||||
|
||||
<a href="enum_binary_params.html">BOOST_PP_ENUM_BINARY_PARAMS</a>(3, class T, = U)
|
||||
// expands to T0 = U0, T1 = U1, T2 = U2
|
||||
// expands to class T0 = U0, class T1 = U1, class T2 = U2
|
||||
</pre></div>
|
||||
<hr size="1">
|
||||
<div style="margin-left: 0px;">
|
||||
|
@ -44,7 +44,7 @@
|
||||
<h4>Sample Code</h4>
|
||||
<div><pre>
|
||||
#include <<a href="../headers/control/iif.html">boost/preprocessor/control/iif.hpp</a>>
|
||||
#include <<a href="../headers/logical/or.html">boost/preprocessor/logical/or.hpp</a>
|
||||
#include <<a href="../headers/logical/or.html">boost/preprocessor/logical/or.hpp</a>>
|
||||
|
||||
#define OR_IF(p, q, t, f) <a href="iif.html">BOOST_PP_IIF</a>(<a href="or.html">BOOST_PP_OR</a>(p, q), t, f)
|
||||
|
||||
|
@ -42,7 +42,7 @@
|
||||
</dd>
|
||||
<dt>[flags]</dt>
|
||||
<dd>
|
||||
A quoted or angle-bracketed filename to used as the target of a <i>file-iteration</i>.
|
||||
The flags associated with this <i>file-iteration</i> used to discriminate between different <i>file-iterations</i> in the same file.
|
||||
</dd>
|
||||
</dl>
|
||||
<h4>Remarks</h4>
|
||||
|
@ -13,7 +13,7 @@
|
||||
</div>
|
||||
<h4>Remarks</h4>
|
||||
<div>
|
||||
This macro currently expands to <i>5</i>.
|
||||
This macro currently expands to <i>3</i>.
|
||||
</div>
|
||||
<h4>Requirements</h4>
|
||||
<div>
|
||||
|
@ -5,7 +5,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin-left: 0px;">
|
||||
The <b>BOOST_PP_SEQ_HEAD</b> macro expands to all but the first element of a <i>seq</i>.
|
||||
The <b>BOOST_PP_SEQ_TAIL</b> macro expands to all but the first element of a <i>seq</i>.
|
||||
</div>
|
||||
<h4>
|
||||
Usage
|
||||
|
@ -35,7 +35,7 @@
|
||||
# define BOOST_PP_CHECK_3(im) BOOST_PP_CHECK_5(BOOST_PP_CHECK_4 im)
|
||||
# define BOOST_PP_CHECK_4(res, _) res
|
||||
# define BOOST_PP_CHECK_5(res) res
|
||||
# else // DMC
|
||||
# else /* DMC */
|
||||
# define BOOST_PP_CHECK_D(x, type) BOOST_PP_CHECK_OO((type x))
|
||||
# define BOOST_PP_CHECK_OO(par) BOOST_PP_CHECK_0 ## par
|
||||
# define BOOST_PP_CHECK_0(chk) BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, chk))
|
||||
|
@ -26,7 +26,7 @@
|
||||
BOOST_PP_IF( \
|
||||
BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
|
||||
BOOST_PP_SEQ_CAT_I, \
|
||||
BOOST_PP_SEQ_HEAD(seq) BOOST_PP_TUPLE_EAT_1 \
|
||||
BOOST_PP_SEQ_HEAD \
|
||||
)(seq) \
|
||||
/**/
|
||||
# define BOOST_PP_SEQ_CAT_I(seq) BOOST_PP_SEQ_FOLD_LEFT(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
|
||||
@ -39,10 +39,11 @@
|
||||
# define BOOST_PP_SEQ_CAT_S(s, seq) \
|
||||
BOOST_PP_IF( \
|
||||
BOOST_PP_DEC(BOOST_PP_SEQ_SIZE(seq)), \
|
||||
BOOST_PP_SEQ_CAT_S_I, \
|
||||
BOOST_PP_SEQ_HEAD(seq) BOOST_PP_TUPLE_EAT_2 \
|
||||
BOOST_PP_SEQ_CAT_S_I_A, \
|
||||
BOOST_PP_SEQ_CAT_S_I_B \
|
||||
)(s, seq) \
|
||||
/**/
|
||||
# define BOOST_PP_SEQ_CAT_S_I(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
|
||||
# define BOOST_PP_SEQ_CAT_S_I_A(s, seq) BOOST_PP_SEQ_FOLD_LEFT_ ## s(BOOST_PP_SEQ_CAT_O, BOOST_PP_SEQ_HEAD(seq), BOOST_PP_SEQ_TAIL(seq))
|
||||
# define BOOST_PP_SEQ_CAT_S_I_B(s, seq) BOOST_PP_SEQ_HEAD(seq)
|
||||
#
|
||||
# endif
|
||||
|
@ -14,7 +14,6 @@
|
||||
#
|
||||
# include <boost/preprocessor/cat.hpp>
|
||||
# include <boost/preprocessor/config/config.hpp>
|
||||
# include <boost/preprocessor/tuple/eat.hpp>
|
||||
#
|
||||
# if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
|
||||
# define BOOST_PP_SEQ_SIZE(seq) BOOST_PP_SEQ_SIZE_I((seq))
|
||||
|
22
test/Jamfile.v2
Normal file
22
test/Jamfile.v2
Normal file
@ -0,0 +1,22 @@
|
||||
#~ Copyright Rene Rivera 2008
|
||||
#~ Distributed under the Boost Software License, Version 1.0.
|
||||
#~ (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
import testing ;
|
||||
|
||||
test-suite preprocessor
|
||||
: [ compile arithmetic.cpp ]
|
||||
[ compile array.cpp ]
|
||||
[ compile comparison.cpp ]
|
||||
[ compile control.cpp ]
|
||||
[ compile debug.cpp ]
|
||||
[ compile facilities.cpp ]
|
||||
[ compile iteration.cpp ]
|
||||
[ compile list.cpp ]
|
||||
[ compile logical.cpp ]
|
||||
[ compile repetition.cpp ]
|
||||
[ compile selection.cpp ]
|
||||
[ compile seq.cpp ]
|
||||
[ compile slot.cpp ]
|
||||
[ compile tuple.cpp ]
|
||||
;
|
Reference in New Issue
Block a user