@@ -100,17 +100,9 @@ <h4>
100100 </ div >
101101 < div class ="code ">
102102 < pre >
103- ??= include BOOST_PP_ITERATE()
103+ # include BOOST_PP_ITERATE()
104104</ pre >
105105 </ div >
106- < div >
107- (The < code > ??=</ code > token is a trigraph for < code > #</ code > . I use the
108- trigraph to make it clear that I am < i > including</ i > a file rather than
109- defining or expanding a macro, but it is not necessary. Even the digraph
110- version, < code > %:</ code > , could be used. Some compilers do not readily
111- accept trigraphs and digraphs, so keep that in mind. Other than that, use
112- whichever one you prefer.)
113- </ div >
114106 < div >
115107 So, if we wish to iterate "file.h" from < i > 1</ i > to < i > 10</ i > , we just need to
116108 put the pieces together:
119111 < pre >
120112#define BOOST_PP_ITERATION_LIMITS (1, 10)
121113#define BOOST_PP_FILENAME_1 "file.h"
122- ??= include BOOST_PP_ITERATE()
114+ # include BOOST_PP_ITERATE()
123115</ pre >
124116 </ div >
125117 < div >
136128 < div class ="code ">
137129 < pre >
138130#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, "file.h"))
139- ??= include BOOST_PP_ITERATE()
131+ # include BOOST_PP_ITERATE()
140132</ pre >
141133 </ div >
142134 < div >
165157template<int> struct sample;
166158
167159#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 5, "file.h"))
168- ??= include BOOST_PP_ITERATE()
160+ # include BOOST_PP_ITERATE()
169161</ pre >
170162 </ div >
171163 < div >
202194 template<int> struct sample;
203195
204196 #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 5, "sample.h"))
205- ??= include BOOST_PP_ITERATE()
197+ # include BOOST_PP_ITERATE()
206198
207199 #endif // SAMPLE_H
208200
234226 template<int> struct sample;
235227
236228 #define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 5, "sample.h", 1))
237- ??= include BOOST_PP_ITERATE()
229+ # include BOOST_PP_ITERATE()
238230
239231 template<class T, class U> struct typelist_t {
240232 typedef T head;
255247 #endif
256248
257249 #define BOOST_PP_ITERATION_PARAMS_1 (4, (2, TYPELIST_MAX, "sample.h", 2))
258- ??= include BOOST_PP_ITERATE()
250+ # include BOOST_PP_ITERATE()
259251
260252 #endif // SAMPLE_H
261253
329321 #endif
330322
331323 #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, EXTRACT_MAX, "extract.h"))
332- ??= include BOOST_PP_ITERATE()
324+ # include BOOST_PP_ITERATE()
333325
334326 #endif // EXTRACT_H
335327
458450 #include <boost/preprocessor/iteration/iterate.hpp>
459451
460452 #define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 2, "file.h"))
461- ??= include BOOST_PP_ITERATE()
453+ # include BOOST_PP_ITERATE()
462454
463455 #endif // FILE_H
464456
468460 + BOOST_PP_ITERATION()
469461
470462 #define BOOST_PP_ITERATION_PARAMS_2 (3, (1, 2, "file.h"))
471- ??= include BOOST_PP_ITERATE()
463+ # include BOOST_PP_ITERATE()
472464
473465 // C
474466
508500 #define I BOOST_PP_ITERATION()
509501
510502 #define BOOST_PP_ITERATION_PARAMS_2 (3, (1, 2, "file.h"))
511- ??= include BOOST_PP_ITERATE()
503+ # include BOOST_PP_ITERATE()
512504
513505 #undef I
514506
664656 #define BOOST_PP_ITERATION_LIMITS (1, 10)
665657 #include "detail/define_file_h.h"
666658
667- ??= include BOOST_PP_ITERATE()
659+ # include BOOST_PP_ITERATE()
668660
669661#endif // FILE_H
670662
858850#define BOOST_PP_ITERATION_PARAMS_1 \
859851 (4, (0, FUNCTION_TRAITS_MAX_ARITY, "function_traits.hpp", 0)) \
860852 /**/
861- ??= include BOOST_PP_ITERATE()
853+ # include BOOST_PP_ITERATE()
862854
863855// obtain a cv-qualifier by index
864856#define QUALIFIER(n) \
874866#define BOOST_PP_ITERATION_PARAMS_1 \
875867 (4, (0, 3, "function_traits.hpp", 1)) \
876868 /**/
877- ??= include BOOST_PP_ITERATE()
869+ # include BOOST_PP_ITERATE()
878870
879871// remove temporary macros
880872#undef QUALIFIER
925917 #define BOOST_PP_ITERATION_PARAMS_2 \
926918 (3, (0, N - 1, "function_traits.hpp")) \
927919 /**/
928- ??= include BOOST_PP_ITERATE()
920+ # include BOOST_PP_ITERATE()
929921 #endif
930922 };
931923
935927 // re-include this section for an ellipsis variant
936928 #if !BOOST_PP_IS_SELFISH
937929 #define BOOST_PP_INDIRECT_SELF "function_traits.hpp"
938- ??= include BOOST_PP_INCLUDE_SELF()
930+ # include BOOST_PP_INCLUDE_SELF()
939931 #endif
940932
941933// iteration over cv-qualifiers
946938 #define BOOST_PP_ITERATION_PARAMS_2 \
947939 (3, (0, FUNCTION_TRAITS_MAX_ARITY, "function_traits.hpp")) \
948940 /**/
949- ??= include BOOST_PP_ITERATE()
941+ # include BOOST_PP_ITERATE()
950942
951943// generate specializations for pointers-to-members
952944#elif BOOST_PP_ITERATION_DEPTH() == 2 \
982974 #define BOOST_PP_ITERATION_PARAMS_3 \
983975 (3, (0, N - 1, "function_traits.hpp")) \
984976 /**/
985- ??= include BOOST_PP_ITERATE()
977+ # include BOOST_PP_ITERATE()
986978 #endif
987979 };
988980
993985 // re-include this section for an ellipsis variant
994986 #if !BOOST_PP_IS_SELFISH
995987 #define BOOST_PP_INDIRECT_SELF "function_traits.hpp"
996- ??= include BOOST_PP_INCLUDE_SELF()
988+ # include BOOST_PP_INCLUDE_SELF()
997989 #endif
998990
999991// parameter specializations
0 commit comments