Click here to Skip to main content
15,878,748 members
Articles / Programming Languages / C

The Windows Access Control Model: Part 2

Rate me:
Please Sign up or sign in to vote.
4.80/5 (28 votes)
27 Jun 2005CPOL43 min read 244.2K   7.2K   113  
This second part of the Access Control series will program with the basic Access Control structures.
# /* **************************************************************************
#  *                                                                          *
#  *     (C) Copyright Paul Mensonides 2002.  Permission to copy, use,        *
#  *     modify, sell, and distribute this software is granted provided       *
#  *     this copyright notice appears in all copies.  This software is       *
#  *     provided "as is" without express or implied warranty, and with       *
#  *     no claim at to its suitability for any purpose.                      *
#  *                                                                          *
#  ************************************************************************** */
#
# /* See http://www.boost.org for most recent version. */
#
# if BOOST_PP_ITERATION_FINISH_3 <= 256 && BOOST_PP_ITERATION_START_3 >= 256
#    define BOOST_PP_ITERATION_3 256
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 255 && BOOST_PP_ITERATION_START_3 >= 255
#    define BOOST_PP_ITERATION_3 255
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 254 && BOOST_PP_ITERATION_START_3 >= 254
#    define BOOST_PP_ITERATION_3 254
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 253 && BOOST_PP_ITERATION_START_3 >= 253
#    define BOOST_PP_ITERATION_3 253
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 252 && BOOST_PP_ITERATION_START_3 >= 252
#    define BOOST_PP_ITERATION_3 252
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 251 && BOOST_PP_ITERATION_START_3 >= 251
#    define BOOST_PP_ITERATION_3 251
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 250 && BOOST_PP_ITERATION_START_3 >= 250
#    define BOOST_PP_ITERATION_3 250
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 249 && BOOST_PP_ITERATION_START_3 >= 249
#    define BOOST_PP_ITERATION_3 249
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 248 && BOOST_PP_ITERATION_START_3 >= 248
#    define BOOST_PP_ITERATION_3 248
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 247 && BOOST_PP_ITERATION_START_3 >= 247
#    define BOOST_PP_ITERATION_3 247
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 246 && BOOST_PP_ITERATION_START_3 >= 246
#    define BOOST_PP_ITERATION_3 246
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 245 && BOOST_PP_ITERATION_START_3 >= 245
#    define BOOST_PP_ITERATION_3 245
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 244 && BOOST_PP_ITERATION_START_3 >= 244
#    define BOOST_PP_ITERATION_3 244
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 243 && BOOST_PP_ITERATION_START_3 >= 243
#    define BOOST_PP_ITERATION_3 243
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 242 && BOOST_PP_ITERATION_START_3 >= 242
#    define BOOST_PP_ITERATION_3 242
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 241 && BOOST_PP_ITERATION_START_3 >= 241
#    define BOOST_PP_ITERATION_3 241
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 240 && BOOST_PP_ITERATION_START_3 >= 240
#    define BOOST_PP_ITERATION_3 240
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 239 && BOOST_PP_ITERATION_START_3 >= 239
#    define BOOST_PP_ITERATION_3 239
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 238 && BOOST_PP_ITERATION_START_3 >= 238
#    define BOOST_PP_ITERATION_3 238
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 237 && BOOST_PP_ITERATION_START_3 >= 237
#    define BOOST_PP_ITERATION_3 237
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 236 && BOOST_PP_ITERATION_START_3 >= 236
#    define BOOST_PP_ITERATION_3 236
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 235 && BOOST_PP_ITERATION_START_3 >= 235
#    define BOOST_PP_ITERATION_3 235
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 234 && BOOST_PP_ITERATION_START_3 >= 234
#    define BOOST_PP_ITERATION_3 234
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 233 && BOOST_PP_ITERATION_START_3 >= 233
#    define BOOST_PP_ITERATION_3 233
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 232 && BOOST_PP_ITERATION_START_3 >= 232
#    define BOOST_PP_ITERATION_3 232
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 231 && BOOST_PP_ITERATION_START_3 >= 231
#    define BOOST_PP_ITERATION_3 231
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 230 && BOOST_PP_ITERATION_START_3 >= 230
#    define BOOST_PP_ITERATION_3 230
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 229 && BOOST_PP_ITERATION_START_3 >= 229
#    define BOOST_PP_ITERATION_3 229
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 228 && BOOST_PP_ITERATION_START_3 >= 228
#    define BOOST_PP_ITERATION_3 228
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 227 && BOOST_PP_ITERATION_START_3 >= 227
#    define BOOST_PP_ITERATION_3 227
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 226 && BOOST_PP_ITERATION_START_3 >= 226
#    define BOOST_PP_ITERATION_3 226
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 225 && BOOST_PP_ITERATION_START_3 >= 225
#    define BOOST_PP_ITERATION_3 225
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 224 && BOOST_PP_ITERATION_START_3 >= 224
#    define BOOST_PP_ITERATION_3 224
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 223 && BOOST_PP_ITERATION_START_3 >= 223
#    define BOOST_PP_ITERATION_3 223
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 222 && BOOST_PP_ITERATION_START_3 >= 222
#    define BOOST_PP_ITERATION_3 222
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 221 && BOOST_PP_ITERATION_START_3 >= 221
#    define BOOST_PP_ITERATION_3 221
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 220 && BOOST_PP_ITERATION_START_3 >= 220
#    define BOOST_PP_ITERATION_3 220
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 219 && BOOST_PP_ITERATION_START_3 >= 219
#    define BOOST_PP_ITERATION_3 219
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 218 && BOOST_PP_ITERATION_START_3 >= 218
#    define BOOST_PP_ITERATION_3 218
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 217 && BOOST_PP_ITERATION_START_3 >= 217
#    define BOOST_PP_ITERATION_3 217
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 216 && BOOST_PP_ITERATION_START_3 >= 216
#    define BOOST_PP_ITERATION_3 216
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 215 && BOOST_PP_ITERATION_START_3 >= 215
#    define BOOST_PP_ITERATION_3 215
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 214 && BOOST_PP_ITERATION_START_3 >= 214
#    define BOOST_PP_ITERATION_3 214
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 213 && BOOST_PP_ITERATION_START_3 >= 213
#    define BOOST_PP_ITERATION_3 213
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 212 && BOOST_PP_ITERATION_START_3 >= 212
#    define BOOST_PP_ITERATION_3 212
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 211 && BOOST_PP_ITERATION_START_3 >= 211
#    define BOOST_PP_ITERATION_3 211
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 210 && BOOST_PP_ITERATION_START_3 >= 210
#    define BOOST_PP_ITERATION_3 210
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 209 && BOOST_PP_ITERATION_START_3 >= 209
#    define BOOST_PP_ITERATION_3 209
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 208 && BOOST_PP_ITERATION_START_3 >= 208
#    define BOOST_PP_ITERATION_3 208
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 207 && BOOST_PP_ITERATION_START_3 >= 207
#    define BOOST_PP_ITERATION_3 207
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 206 && BOOST_PP_ITERATION_START_3 >= 206
#    define BOOST_PP_ITERATION_3 206
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 205 && BOOST_PP_ITERATION_START_3 >= 205
#    define BOOST_PP_ITERATION_3 205
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 204 && BOOST_PP_ITERATION_START_3 >= 204
#    define BOOST_PP_ITERATION_3 204
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 203 && BOOST_PP_ITERATION_START_3 >= 203
#    define BOOST_PP_ITERATION_3 203
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 202 && BOOST_PP_ITERATION_START_3 >= 202
#    define BOOST_PP_ITERATION_3 202
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 201 && BOOST_PP_ITERATION_START_3 >= 201
#    define BOOST_PP_ITERATION_3 201
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 200 && BOOST_PP_ITERATION_START_3 >= 200
#    define BOOST_PP_ITERATION_3 200
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 199 && BOOST_PP_ITERATION_START_3 >= 199
#    define BOOST_PP_ITERATION_3 199
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 198 && BOOST_PP_ITERATION_START_3 >= 198
#    define BOOST_PP_ITERATION_3 198
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 197 && BOOST_PP_ITERATION_START_3 >= 197
#    define BOOST_PP_ITERATION_3 197
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 196 && BOOST_PP_ITERATION_START_3 >= 196
#    define BOOST_PP_ITERATION_3 196
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 195 && BOOST_PP_ITERATION_START_3 >= 195
#    define BOOST_PP_ITERATION_3 195
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 194 && BOOST_PP_ITERATION_START_3 >= 194
#    define BOOST_PP_ITERATION_3 194
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 193 && BOOST_PP_ITERATION_START_3 >= 193
#    define BOOST_PP_ITERATION_3 193
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 192 && BOOST_PP_ITERATION_START_3 >= 192
#    define BOOST_PP_ITERATION_3 192
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 191 && BOOST_PP_ITERATION_START_3 >= 191
#    define BOOST_PP_ITERATION_3 191
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 190 && BOOST_PP_ITERATION_START_3 >= 190
#    define BOOST_PP_ITERATION_3 190
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 189 && BOOST_PP_ITERATION_START_3 >= 189
#    define BOOST_PP_ITERATION_3 189
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 188 && BOOST_PP_ITERATION_START_3 >= 188
#    define BOOST_PP_ITERATION_3 188
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 187 && BOOST_PP_ITERATION_START_3 >= 187
#    define BOOST_PP_ITERATION_3 187
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 186 && BOOST_PP_ITERATION_START_3 >= 186
#    define BOOST_PP_ITERATION_3 186
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 185 && BOOST_PP_ITERATION_START_3 >= 185
#    define BOOST_PP_ITERATION_3 185
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 184 && BOOST_PP_ITERATION_START_3 >= 184
#    define BOOST_PP_ITERATION_3 184
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 183 && BOOST_PP_ITERATION_START_3 >= 183
#    define BOOST_PP_ITERATION_3 183
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 182 && BOOST_PP_ITERATION_START_3 >= 182
#    define BOOST_PP_ITERATION_3 182
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 181 && BOOST_PP_ITERATION_START_3 >= 181
#    define BOOST_PP_ITERATION_3 181
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 180 && BOOST_PP_ITERATION_START_3 >= 180
#    define BOOST_PP_ITERATION_3 180
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 179 && BOOST_PP_ITERATION_START_3 >= 179
#    define BOOST_PP_ITERATION_3 179
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 178 && BOOST_PP_ITERATION_START_3 >= 178
#    define BOOST_PP_ITERATION_3 178
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 177 && BOOST_PP_ITERATION_START_3 >= 177
#    define BOOST_PP_ITERATION_3 177
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 176 && BOOST_PP_ITERATION_START_3 >= 176
#    define BOOST_PP_ITERATION_3 176
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 175 && BOOST_PP_ITERATION_START_3 >= 175
#    define BOOST_PP_ITERATION_3 175
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 174 && BOOST_PP_ITERATION_START_3 >= 174
#    define BOOST_PP_ITERATION_3 174
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 173 && BOOST_PP_ITERATION_START_3 >= 173
#    define BOOST_PP_ITERATION_3 173
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 172 && BOOST_PP_ITERATION_START_3 >= 172
#    define BOOST_PP_ITERATION_3 172
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 171 && BOOST_PP_ITERATION_START_3 >= 171
#    define BOOST_PP_ITERATION_3 171
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 170 && BOOST_PP_ITERATION_START_3 >= 170
#    define BOOST_PP_ITERATION_3 170
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 169 && BOOST_PP_ITERATION_START_3 >= 169
#    define BOOST_PP_ITERATION_3 169
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 168 && BOOST_PP_ITERATION_START_3 >= 168
#    define BOOST_PP_ITERATION_3 168
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 167 && BOOST_PP_ITERATION_START_3 >= 167
#    define BOOST_PP_ITERATION_3 167
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 166 && BOOST_PP_ITERATION_START_3 >= 166
#    define BOOST_PP_ITERATION_3 166
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 165 && BOOST_PP_ITERATION_START_3 >= 165
#    define BOOST_PP_ITERATION_3 165
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 164 && BOOST_PP_ITERATION_START_3 >= 164
#    define BOOST_PP_ITERATION_3 164
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 163 && BOOST_PP_ITERATION_START_3 >= 163
#    define BOOST_PP_ITERATION_3 163
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 162 && BOOST_PP_ITERATION_START_3 >= 162
#    define BOOST_PP_ITERATION_3 162
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 161 && BOOST_PP_ITERATION_START_3 >= 161
#    define BOOST_PP_ITERATION_3 161
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 160 && BOOST_PP_ITERATION_START_3 >= 160
#    define BOOST_PP_ITERATION_3 160
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 159 && BOOST_PP_ITERATION_START_3 >= 159
#    define BOOST_PP_ITERATION_3 159
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 158 && BOOST_PP_ITERATION_START_3 >= 158
#    define BOOST_PP_ITERATION_3 158
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 157 && BOOST_PP_ITERATION_START_3 >= 157
#    define BOOST_PP_ITERATION_3 157
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 156 && BOOST_PP_ITERATION_START_3 >= 156
#    define BOOST_PP_ITERATION_3 156
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 155 && BOOST_PP_ITERATION_START_3 >= 155
#    define BOOST_PP_ITERATION_3 155
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 154 && BOOST_PP_ITERATION_START_3 >= 154
#    define BOOST_PP_ITERATION_3 154
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 153 && BOOST_PP_ITERATION_START_3 >= 153
#    define BOOST_PP_ITERATION_3 153
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 152 && BOOST_PP_ITERATION_START_3 >= 152
#    define BOOST_PP_ITERATION_3 152
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 151 && BOOST_PP_ITERATION_START_3 >= 151
#    define BOOST_PP_ITERATION_3 151
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 150 && BOOST_PP_ITERATION_START_3 >= 150
#    define BOOST_PP_ITERATION_3 150
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 149 && BOOST_PP_ITERATION_START_3 >= 149
#    define BOOST_PP_ITERATION_3 149
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 148 && BOOST_PP_ITERATION_START_3 >= 148
#    define BOOST_PP_ITERATION_3 148
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 147 && BOOST_PP_ITERATION_START_3 >= 147
#    define BOOST_PP_ITERATION_3 147
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 146 && BOOST_PP_ITERATION_START_3 >= 146
#    define BOOST_PP_ITERATION_3 146
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 145 && BOOST_PP_ITERATION_START_3 >= 145
#    define BOOST_PP_ITERATION_3 145
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 144 && BOOST_PP_ITERATION_START_3 >= 144
#    define BOOST_PP_ITERATION_3 144
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 143 && BOOST_PP_ITERATION_START_3 >= 143
#    define BOOST_PP_ITERATION_3 143
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 142 && BOOST_PP_ITERATION_START_3 >= 142
#    define BOOST_PP_ITERATION_3 142
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 141 && BOOST_PP_ITERATION_START_3 >= 141
#    define BOOST_PP_ITERATION_3 141
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 140 && BOOST_PP_ITERATION_START_3 >= 140
#    define BOOST_PP_ITERATION_3 140
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 139 && BOOST_PP_ITERATION_START_3 >= 139
#    define BOOST_PP_ITERATION_3 139
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 138 && BOOST_PP_ITERATION_START_3 >= 138
#    define BOOST_PP_ITERATION_3 138
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 137 && BOOST_PP_ITERATION_START_3 >= 137
#    define BOOST_PP_ITERATION_3 137
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 136 && BOOST_PP_ITERATION_START_3 >= 136
#    define BOOST_PP_ITERATION_3 136
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 135 && BOOST_PP_ITERATION_START_3 >= 135
#    define BOOST_PP_ITERATION_3 135
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 134 && BOOST_PP_ITERATION_START_3 >= 134
#    define BOOST_PP_ITERATION_3 134
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 133 && BOOST_PP_ITERATION_START_3 >= 133
#    define BOOST_PP_ITERATION_3 133
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 132 && BOOST_PP_ITERATION_START_3 >= 132
#    define BOOST_PP_ITERATION_3 132
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 131 && BOOST_PP_ITERATION_START_3 >= 131
#    define BOOST_PP_ITERATION_3 131
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 130 && BOOST_PP_ITERATION_START_3 >= 130
#    define BOOST_PP_ITERATION_3 130
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 129 && BOOST_PP_ITERATION_START_3 >= 129
#    define BOOST_PP_ITERATION_3 129
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 128 && BOOST_PP_ITERATION_START_3 >= 128
#    define BOOST_PP_ITERATION_3 128
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 127 && BOOST_PP_ITERATION_START_3 >= 127
#    define BOOST_PP_ITERATION_3 127
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 126 && BOOST_PP_ITERATION_START_3 >= 126
#    define BOOST_PP_ITERATION_3 126
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 125 && BOOST_PP_ITERATION_START_3 >= 125
#    define BOOST_PP_ITERATION_3 125
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 124 && BOOST_PP_ITERATION_START_3 >= 124
#    define BOOST_PP_ITERATION_3 124
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 123 && BOOST_PP_ITERATION_START_3 >= 123
#    define BOOST_PP_ITERATION_3 123
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 122 && BOOST_PP_ITERATION_START_3 >= 122
#    define BOOST_PP_ITERATION_3 122
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 121 && BOOST_PP_ITERATION_START_3 >= 121
#    define BOOST_PP_ITERATION_3 121
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 120 && BOOST_PP_ITERATION_START_3 >= 120
#    define BOOST_PP_ITERATION_3 120
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 119 && BOOST_PP_ITERATION_START_3 >= 119
#    define BOOST_PP_ITERATION_3 119
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 118 && BOOST_PP_ITERATION_START_3 >= 118
#    define BOOST_PP_ITERATION_3 118
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 117 && BOOST_PP_ITERATION_START_3 >= 117
#    define BOOST_PP_ITERATION_3 117
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 116 && BOOST_PP_ITERATION_START_3 >= 116
#    define BOOST_PP_ITERATION_3 116
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 115 && BOOST_PP_ITERATION_START_3 >= 115
#    define BOOST_PP_ITERATION_3 115
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 114 && BOOST_PP_ITERATION_START_3 >= 114
#    define BOOST_PP_ITERATION_3 114
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 113 && BOOST_PP_ITERATION_START_3 >= 113
#    define BOOST_PP_ITERATION_3 113
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 112 && BOOST_PP_ITERATION_START_3 >= 112
#    define BOOST_PP_ITERATION_3 112
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 111 && BOOST_PP_ITERATION_START_3 >= 111
#    define BOOST_PP_ITERATION_3 111
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 110 && BOOST_PP_ITERATION_START_3 >= 110
#    define BOOST_PP_ITERATION_3 110
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 109 && BOOST_PP_ITERATION_START_3 >= 109
#    define BOOST_PP_ITERATION_3 109
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 108 && BOOST_PP_ITERATION_START_3 >= 108
#    define BOOST_PP_ITERATION_3 108
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 107 && BOOST_PP_ITERATION_START_3 >= 107
#    define BOOST_PP_ITERATION_3 107
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 106 && BOOST_PP_ITERATION_START_3 >= 106
#    define BOOST_PP_ITERATION_3 106
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 105 && BOOST_PP_ITERATION_START_3 >= 105
#    define BOOST_PP_ITERATION_3 105
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 104 && BOOST_PP_ITERATION_START_3 >= 104
#    define BOOST_PP_ITERATION_3 104
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 103 && BOOST_PP_ITERATION_START_3 >= 103
#    define BOOST_PP_ITERATION_3 103
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 102 && BOOST_PP_ITERATION_START_3 >= 102
#    define BOOST_PP_ITERATION_3 102
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 101 && BOOST_PP_ITERATION_START_3 >= 101
#    define BOOST_PP_ITERATION_3 101
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 100 && BOOST_PP_ITERATION_START_3 >= 100
#    define BOOST_PP_ITERATION_3 100
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 99 && BOOST_PP_ITERATION_START_3 >= 99
#    define BOOST_PP_ITERATION_3 99
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 98 && BOOST_PP_ITERATION_START_3 >= 98
#    define BOOST_PP_ITERATION_3 98
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 97 && BOOST_PP_ITERATION_START_3 >= 97
#    define BOOST_PP_ITERATION_3 97
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 96 && BOOST_PP_ITERATION_START_3 >= 96
#    define BOOST_PP_ITERATION_3 96
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 95 && BOOST_PP_ITERATION_START_3 >= 95
#    define BOOST_PP_ITERATION_3 95
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 94 && BOOST_PP_ITERATION_START_3 >= 94
#    define BOOST_PP_ITERATION_3 94
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 93 && BOOST_PP_ITERATION_START_3 >= 93
#    define BOOST_PP_ITERATION_3 93
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 92 && BOOST_PP_ITERATION_START_3 >= 92
#    define BOOST_PP_ITERATION_3 92
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 91 && BOOST_PP_ITERATION_START_3 >= 91
#    define BOOST_PP_ITERATION_3 91
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 90 && BOOST_PP_ITERATION_START_3 >= 90
#    define BOOST_PP_ITERATION_3 90
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 89 && BOOST_PP_ITERATION_START_3 >= 89
#    define BOOST_PP_ITERATION_3 89
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 88 && BOOST_PP_ITERATION_START_3 >= 88
#    define BOOST_PP_ITERATION_3 88
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 87 && BOOST_PP_ITERATION_START_3 >= 87
#    define BOOST_PP_ITERATION_3 87
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 86 && BOOST_PP_ITERATION_START_3 >= 86
#    define BOOST_PP_ITERATION_3 86
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 85 && BOOST_PP_ITERATION_START_3 >= 85
#    define BOOST_PP_ITERATION_3 85
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 84 && BOOST_PP_ITERATION_START_3 >= 84
#    define BOOST_PP_ITERATION_3 84
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 83 && BOOST_PP_ITERATION_START_3 >= 83
#    define BOOST_PP_ITERATION_3 83
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 82 && BOOST_PP_ITERATION_START_3 >= 82
#    define BOOST_PP_ITERATION_3 82
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 81 && BOOST_PP_ITERATION_START_3 >= 81
#    define BOOST_PP_ITERATION_3 81
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 80 && BOOST_PP_ITERATION_START_3 >= 80
#    define BOOST_PP_ITERATION_3 80
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 79 && BOOST_PP_ITERATION_START_3 >= 79
#    define BOOST_PP_ITERATION_3 79
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 78 && BOOST_PP_ITERATION_START_3 >= 78
#    define BOOST_PP_ITERATION_3 78
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 77 && BOOST_PP_ITERATION_START_3 >= 77
#    define BOOST_PP_ITERATION_3 77
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 76 && BOOST_PP_ITERATION_START_3 >= 76
#    define BOOST_PP_ITERATION_3 76
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 75 && BOOST_PP_ITERATION_START_3 >= 75
#    define BOOST_PP_ITERATION_3 75
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 74 && BOOST_PP_ITERATION_START_3 >= 74
#    define BOOST_PP_ITERATION_3 74
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 73 && BOOST_PP_ITERATION_START_3 >= 73
#    define BOOST_PP_ITERATION_3 73
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 72 && BOOST_PP_ITERATION_START_3 >= 72
#    define BOOST_PP_ITERATION_3 72
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 71 && BOOST_PP_ITERATION_START_3 >= 71
#    define BOOST_PP_ITERATION_3 71
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 70 && BOOST_PP_ITERATION_START_3 >= 70
#    define BOOST_PP_ITERATION_3 70
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 69 && BOOST_PP_ITERATION_START_3 >= 69
#    define BOOST_PP_ITERATION_3 69
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 68 && BOOST_PP_ITERATION_START_3 >= 68
#    define BOOST_PP_ITERATION_3 68
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 67 && BOOST_PP_ITERATION_START_3 >= 67
#    define BOOST_PP_ITERATION_3 67
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 66 && BOOST_PP_ITERATION_START_3 >= 66
#    define BOOST_PP_ITERATION_3 66
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 65 && BOOST_PP_ITERATION_START_3 >= 65
#    define BOOST_PP_ITERATION_3 65
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 64 && BOOST_PP_ITERATION_START_3 >= 64
#    define BOOST_PP_ITERATION_3 64
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 63 && BOOST_PP_ITERATION_START_3 >= 63
#    define BOOST_PP_ITERATION_3 63
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 62 && BOOST_PP_ITERATION_START_3 >= 62
#    define BOOST_PP_ITERATION_3 62
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 61 && BOOST_PP_ITERATION_START_3 >= 61
#    define BOOST_PP_ITERATION_3 61
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 60 && BOOST_PP_ITERATION_START_3 >= 60
#    define BOOST_PP_ITERATION_3 60
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 59 && BOOST_PP_ITERATION_START_3 >= 59
#    define BOOST_PP_ITERATION_3 59
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 58 && BOOST_PP_ITERATION_START_3 >= 58
#    define BOOST_PP_ITERATION_3 58
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 57 && BOOST_PP_ITERATION_START_3 >= 57
#    define BOOST_PP_ITERATION_3 57
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 56 && BOOST_PP_ITERATION_START_3 >= 56
#    define BOOST_PP_ITERATION_3 56
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 55 && BOOST_PP_ITERATION_START_3 >= 55
#    define BOOST_PP_ITERATION_3 55
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 54 && BOOST_PP_ITERATION_START_3 >= 54
#    define BOOST_PP_ITERATION_3 54
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 53 && BOOST_PP_ITERATION_START_3 >= 53
#    define BOOST_PP_ITERATION_3 53
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 52 && BOOST_PP_ITERATION_START_3 >= 52
#    define BOOST_PP_ITERATION_3 52
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 51 && BOOST_PP_ITERATION_START_3 >= 51
#    define BOOST_PP_ITERATION_3 51
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 50 && BOOST_PP_ITERATION_START_3 >= 50
#    define BOOST_PP_ITERATION_3 50
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 49 && BOOST_PP_ITERATION_START_3 >= 49
#    define BOOST_PP_ITERATION_3 49
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 48 && BOOST_PP_ITERATION_START_3 >= 48
#    define BOOST_PP_ITERATION_3 48
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 47 && BOOST_PP_ITERATION_START_3 >= 47
#    define BOOST_PP_ITERATION_3 47
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 46 && BOOST_PP_ITERATION_START_3 >= 46
#    define BOOST_PP_ITERATION_3 46
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 45 && BOOST_PP_ITERATION_START_3 >= 45
#    define BOOST_PP_ITERATION_3 45
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 44 && BOOST_PP_ITERATION_START_3 >= 44
#    define BOOST_PP_ITERATION_3 44
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 43 && BOOST_PP_ITERATION_START_3 >= 43
#    define BOOST_PP_ITERATION_3 43
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 42 && BOOST_PP_ITERATION_START_3 >= 42
#    define BOOST_PP_ITERATION_3 42
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 41 && BOOST_PP_ITERATION_START_3 >= 41
#    define BOOST_PP_ITERATION_3 41
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 40 && BOOST_PP_ITERATION_START_3 >= 40
#    define BOOST_PP_ITERATION_3 40
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 39 && BOOST_PP_ITERATION_START_3 >= 39
#    define BOOST_PP_ITERATION_3 39
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 38 && BOOST_PP_ITERATION_START_3 >= 38
#    define BOOST_PP_ITERATION_3 38
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 37 && BOOST_PP_ITERATION_START_3 >= 37
#    define BOOST_PP_ITERATION_3 37
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 36 && BOOST_PP_ITERATION_START_3 >= 36
#    define BOOST_PP_ITERATION_3 36
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 35 && BOOST_PP_ITERATION_START_3 >= 35
#    define BOOST_PP_ITERATION_3 35
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 34 && BOOST_PP_ITERATION_START_3 >= 34
#    define BOOST_PP_ITERATION_3 34
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 33 && BOOST_PP_ITERATION_START_3 >= 33
#    define BOOST_PP_ITERATION_3 33
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 32 && BOOST_PP_ITERATION_START_3 >= 32
#    define BOOST_PP_ITERATION_3 32
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 31 && BOOST_PP_ITERATION_START_3 >= 31
#    define BOOST_PP_ITERATION_3 31
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 30 && BOOST_PP_ITERATION_START_3 >= 30
#    define BOOST_PP_ITERATION_3 30
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 29 && BOOST_PP_ITERATION_START_3 >= 29
#    define BOOST_PP_ITERATION_3 29
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 28 && BOOST_PP_ITERATION_START_3 >= 28
#    define BOOST_PP_ITERATION_3 28
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 27 && BOOST_PP_ITERATION_START_3 >= 27
#    define BOOST_PP_ITERATION_3 27
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 26 && BOOST_PP_ITERATION_START_3 >= 26
#    define BOOST_PP_ITERATION_3 26
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 25 && BOOST_PP_ITERATION_START_3 >= 25
#    define BOOST_PP_ITERATION_3 25
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 24 && BOOST_PP_ITERATION_START_3 >= 24
#    define BOOST_PP_ITERATION_3 24
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 23 && BOOST_PP_ITERATION_START_3 >= 23
#    define BOOST_PP_ITERATION_3 23
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 22 && BOOST_PP_ITERATION_START_3 >= 22
#    define BOOST_PP_ITERATION_3 22
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 21 && BOOST_PP_ITERATION_START_3 >= 21
#    define BOOST_PP_ITERATION_3 21
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 20 && BOOST_PP_ITERATION_START_3 >= 20
#    define BOOST_PP_ITERATION_3 20
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 19 && BOOST_PP_ITERATION_START_3 >= 19
#    define BOOST_PP_ITERATION_3 19
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 18 && BOOST_PP_ITERATION_START_3 >= 18
#    define BOOST_PP_ITERATION_3 18
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 17 && BOOST_PP_ITERATION_START_3 >= 17
#    define BOOST_PP_ITERATION_3 17
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 16 && BOOST_PP_ITERATION_START_3 >= 16
#    define BOOST_PP_ITERATION_3 16
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 15 && BOOST_PP_ITERATION_START_3 >= 15
#    define BOOST_PP_ITERATION_3 15
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 14 && BOOST_PP_ITERATION_START_3 >= 14
#    define BOOST_PP_ITERATION_3 14
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 13 && BOOST_PP_ITERATION_START_3 >= 13
#    define BOOST_PP_ITERATION_3 13
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 12 && BOOST_PP_ITERATION_START_3 >= 12
#    define BOOST_PP_ITERATION_3 12
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 11 && BOOST_PP_ITERATION_START_3 >= 11
#    define BOOST_PP_ITERATION_3 11
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 10 && BOOST_PP_ITERATION_START_3 >= 10
#    define BOOST_PP_ITERATION_3 10
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 9 && BOOST_PP_ITERATION_START_3 >= 9
#    define BOOST_PP_ITERATION_3 9
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 8 && BOOST_PP_ITERATION_START_3 >= 8
#    define BOOST_PP_ITERATION_3 8
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 7 && BOOST_PP_ITERATION_START_3 >= 7
#    define BOOST_PP_ITERATION_3 7
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 6 && BOOST_PP_ITERATION_START_3 >= 6
#    define BOOST_PP_ITERATION_3 6
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 5 && BOOST_PP_ITERATION_START_3 >= 5
#    define BOOST_PP_ITERATION_3 5
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 4 && BOOST_PP_ITERATION_START_3 >= 4
#    define BOOST_PP_ITERATION_3 4
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 3 && BOOST_PP_ITERATION_START_3 >= 3
#    define BOOST_PP_ITERATION_3 3
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 2 && BOOST_PP_ITERATION_START_3 >= 2
#    define BOOST_PP_ITERATION_3 2
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 1 && BOOST_PP_ITERATION_START_3 >= 1
#    define BOOST_PP_ITERATION_3 1
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif
# if BOOST_PP_ITERATION_FINISH_3 <= 0 && BOOST_PP_ITERATION_START_3 >= 0
#    define BOOST_PP_ITERATION_3 0
#    include BOOST_PP_FILENAME_3
#    undef BOOST_PP_ITERATION_3
# endif

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
United States United States
Mr. Shah is a reclusive C++/C# developer lurking somewhere in the depths of the city of London. He learnt physics at Kings' College London and obtained a Master in Science there. Having earned an MCAD, he teeters on the brink of transitioning from C++ to C#, unsure of which language to jump to. Fortunately, he also knows how to use .NET interop to merge code between the two languages (which means he won't have to make the choice anytime soon).

His interests (apart from programming) are walking, football (the real one!), philosophy, history, retro-gaming, strategy gaming, and any good game in general.

He maintains a website / blog / FAQ / junk at shexec32.serveftp.net, where he places the best answers he's written to the questions you've asked. If you can find him, maybe you can hire Mr. Shah to help you with anything C++[/CLI]/C#/.NET related Smile | :) .

Comments and Discussions