mirror of
https://github.com/boostorg/preprocessor.git
synced 2025-07-15 13:36:33 +02:00
Attempt to avoid preprocessor rescan bugs by increasing the amount of rescanning
[SVN r14106]
This commit is contained in:
@ -14,6 +14,7 @@
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/detail/auto_rec.hpp>
|
||||
#include <boost/preprocessor/expand.hpp>
|
||||
#include <boost/preprocessor/list/adt.hpp>
|
||||
#include <boost/preprocessor/while.hpp>
|
||||
|
||||
@ -86,9 +87,9 @@ _ABC
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_D2(D,O,S,L) BOOST_PP_TUPLE_ELEM(3,1,BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC2(BOOST_PP_WHILE##D,(BOOST_PP_LIST_FOLD_LEFT_P,BOOST_PP_LIST_FOLD_LEFT_O2,(O,S,L))))
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_D3(D,O,S,L) BOOST_PP_TUPLE_ELEM(3,1,BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC3(BOOST_PP_WHILE##D,(BOOST_PP_LIST_FOLD_LEFT_P,BOOST_PP_LIST_FOLD_LEFT_O3,(O,S,L))))
|
||||
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC1(M,P) M P
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC2(M,P) M P
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC3(M,P) M P
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC1(M,P) BOOST_PP_EXPAND(M P)
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC2(M,P) BOOST_PP_EXPAND(M P)
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_D_AUTO_REC3(M,P) BOOST_PP_EXPAND(M P)
|
||||
|
||||
#define BOOST_PP_LIST_FOLD_LEFT_P(D,OSL) BOOST_PP_TUPLE_ELEM(3,2,BOOST_PP_TUPLE_ELEM(3,2,OSL))
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
*/
|
||||
|
||||
#include <boost/preprocessor/detail/auto_rec.hpp>
|
||||
#include <boost/preprocessor/expand.hpp>
|
||||
|
||||
/** <p>Repeats the macro <code>MACRO(INDEX,DATA)</code> for <code>INDEX = [0,COUNT)</code>.</p>
|
||||
|
||||
@ -73,9 +74,9 @@ are directly supported.</p>
|
||||
#define BOOST_PP_REPEATBOOST_PP_REPEAT_AUTO_REC3(M,P)\
|
||||
(TOO MANY NESTED REPEATS!)
|
||||
|
||||
#define BOOST_PP_REPEAT_AUTO_REC1(M,P) M P
|
||||
#define BOOST_PP_REPEAT_AUTO_REC2(M,P) M P
|
||||
#define BOOST_PP_REPEAT_AUTO_REC3(M,P) M P
|
||||
#define BOOST_PP_REPEAT_AUTO_REC1(M,P) BOOST_PP_EXPAND(M P)
|
||||
#define BOOST_PP_REPEAT_AUTO_REC2(M,P) BOOST_PP_EXPAND(M P)
|
||||
#define BOOST_PP_REPEAT_AUTO_REC3(M,P) BOOST_PP_EXPAND(M P)
|
||||
|
||||
#define BOOST_PP_REPEAT1(C,M,D) BOOST_PP_REPEAT_AUTO_REC1(BOOST_PP_R1_DELAY(C),(M,D))
|
||||
#define BOOST_PP_R1_DELAY(C) BOOST_PP_R1_##C
|
||||
|
Reference in New Issue
Block a user