//! Generates a comma separated list of shifted actual parameters.
/*!
In other words, expands to the sequence:
\verbatim
P##1, P##2, ..., P##N-1
\endverbatim
NOTE: The implementation uses BOOST_PP_REPEAT().
RATIONALE:
- This macro facilitates a typical usage of the library. Shifted parameter
lists are common in template metaprograms.
*/
#define BOOST_PP_ENUM_SHIFTED_PARAMS(N,P) BOOST_PP_REPEAT(BOOST_PP_DEC(N),BOOST_PP_SHIFTED_PARAM,P)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#define BOOST_PP_SHIFTED_PARAM(I,P) BOOST_PP_COMMA_IF(I) BOOST_PP_CAT(P,BOOST_PP_INC(I))
#endif
//! Obsolete. Use BOOST_PP_ENUM_SHIFTED_PARAMS().
#define BOOST_PREPROCESSOR_ENUM_SHIFTED_PARAMS(N,P) BOOST_PP_ENUM_SHIFTED_PARAMS(N,P)
#endif