@@ -100,17 +100,9 @@ <h4>
100
100
</ div >
101
101
< div class ="code ">
102
102
< pre >
103
- ??= include BOOST_PP_ITERATE()
103
+ # include BOOST_PP_ITERATE()
104
104
</ pre >
105
105
</ 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 >
114
106
< div >
115
107
So, if we wish to iterate "file.h" from < i > 1</ i > to < i > 10</ i > , we just need to
116
108
put the pieces together:
119
111
< pre >
120
112
#define BOOST_PP_ITERATION_LIMITS (1, 10)
121
113
#define BOOST_PP_FILENAME_1 "file.h"
122
- ??= include BOOST_PP_ITERATE()
114
+ # include BOOST_PP_ITERATE()
123
115
</ pre >
124
116
</ div >
125
117
< div >
136
128
< div class ="code ">
137
129
< pre >
138
130
#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 10, "file.h"))
139
- ??= include BOOST_PP_ITERATE()
131
+ # include BOOST_PP_ITERATE()
140
132
</ pre >
141
133
</ div >
142
134
< div >
165
157
template<int> struct sample;
166
158
167
159
#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 5, "file.h"))
168
- ??= include BOOST_PP_ITERATE()
160
+ # include BOOST_PP_ITERATE()
169
161
</ pre >
170
162
</ div >
171
163
< div >
202
194
template<int> struct sample;
203
195
204
196
#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 5, "sample.h"))
205
- ??= include BOOST_PP_ITERATE()
197
+ # include BOOST_PP_ITERATE()
206
198
207
199
#endif // SAMPLE_H
208
200
234
226
template<int> struct sample;
235
227
236
228
#define BOOST_PP_ITERATION_PARAMS_1 (4, (1, 5, "sample.h", 1))
237
- ??= include BOOST_PP_ITERATE()
229
+ # include BOOST_PP_ITERATE()
238
230
239
231
template<class T, class U> struct typelist_t {
240
232
typedef T head;
255
247
#endif
256
248
257
249
#define BOOST_PP_ITERATION_PARAMS_1 (4, (2, TYPELIST_MAX, "sample.h", 2))
258
- ??= include BOOST_PP_ITERATE()
250
+ # include BOOST_PP_ITERATE()
259
251
260
252
#endif // SAMPLE_H
261
253
329
321
#endif
330
322
331
323
#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, EXTRACT_MAX, "extract.h"))
332
- ??= include BOOST_PP_ITERATE()
324
+ # include BOOST_PP_ITERATE()
333
325
334
326
#endif // EXTRACT_H
335
327
458
450
#include <boost/preprocessor/iteration/iterate.hpp>
459
451
460
452
#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 2, "file.h"))
461
- ??= include BOOST_PP_ITERATE()
453
+ # include BOOST_PP_ITERATE()
462
454
463
455
#endif // FILE_H
464
456
468
460
+ BOOST_PP_ITERATION()
469
461
470
462
#define BOOST_PP_ITERATION_PARAMS_2 (3, (1, 2, "file.h"))
471
- ??= include BOOST_PP_ITERATE()
463
+ # include BOOST_PP_ITERATE()
472
464
473
465
// C
474
466
508
500
#define I BOOST_PP_ITERATION()
509
501
510
502
#define BOOST_PP_ITERATION_PARAMS_2 (3, (1, 2, "file.h"))
511
- ??= include BOOST_PP_ITERATE()
503
+ # include BOOST_PP_ITERATE()
512
504
513
505
#undef I
514
506
664
656
#define BOOST_PP_ITERATION_LIMITS (1, 10)
665
657
#include "detail/define_file_h.h"
666
658
667
- ??= include BOOST_PP_ITERATE()
659
+ # include BOOST_PP_ITERATE()
668
660
669
661
#endif // FILE_H
670
662
858
850
#define BOOST_PP_ITERATION_PARAMS_1 \
859
851
(4, (0, FUNCTION_TRAITS_MAX_ARITY, "function_traits.hpp", 0)) \
860
852
/**/
861
- ??= include BOOST_PP_ITERATE()
853
+ # include BOOST_PP_ITERATE()
862
854
863
855
// obtain a cv-qualifier by index
864
856
#define QUALIFIER(n) \
874
866
#define BOOST_PP_ITERATION_PARAMS_1 \
875
867
(4, (0, 3, "function_traits.hpp", 1)) \
876
868
/**/
877
- ??= include BOOST_PP_ITERATE()
869
+ # include BOOST_PP_ITERATE()
878
870
879
871
// remove temporary macros
880
872
#undef QUALIFIER
925
917
#define BOOST_PP_ITERATION_PARAMS_2 \
926
918
(3, (0, N - 1, "function_traits.hpp")) \
927
919
/**/
928
- ??= include BOOST_PP_ITERATE()
920
+ # include BOOST_PP_ITERATE()
929
921
#endif
930
922
};
931
923
935
927
// re-include this section for an ellipsis variant
936
928
#if !BOOST_PP_IS_SELFISH
937
929
#define BOOST_PP_INDIRECT_SELF "function_traits.hpp"
938
- ??= include BOOST_PP_INCLUDE_SELF()
930
+ # include BOOST_PP_INCLUDE_SELF()
939
931
#endif
940
932
941
933
// iteration over cv-qualifiers
946
938
#define BOOST_PP_ITERATION_PARAMS_2 \
947
939
(3, (0, FUNCTION_TRAITS_MAX_ARITY, "function_traits.hpp")) \
948
940
/**/
949
- ??= include BOOST_PP_ITERATE()
941
+ # include BOOST_PP_ITERATE()
950
942
951
943
// generate specializations for pointers-to-members
952
944
#elif BOOST_PP_ITERATION_DEPTH() == 2 \
982
974
#define BOOST_PP_ITERATION_PARAMS_3 \
983
975
(3, (0, N - 1, "function_traits.hpp")) \
984
976
/**/
985
- ??= include BOOST_PP_ITERATE()
977
+ # include BOOST_PP_ITERATE()
986
978
#endif
987
979
};
988
980
993
985
// re-include this section for an ellipsis variant
994
986
#if !BOOST_PP_IS_SELFISH
995
987
#define BOOST_PP_INDIRECT_SELF "function_traits.hpp"
996
- ??= include BOOST_PP_INCLUDE_SELF()
988
+ # include BOOST_PP_INCLUDE_SELF()
997
989
#endif
998
990
999
991
// parameter specializations
0 commit comments