Click here to Skip to main content
15,881,852 members
Articles / Programming Languages / C++

Tiny Template Library: implementing typelist

Rate me:
Please Sign up or sign in to vote.
4.86/5 (53 votes)
10 Dec 20034 min read 120.7K   678   37  
An article on how to implement compile time lists of types, typelist. Typelists are useful for generic and meta programming.
//  macro_counter.hpp
//
//  Copyright (c) 2003 Eugene Gladyshev
//
//  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 as to its suitability for any purpose.
//

#ifndef __ttl_macro_counter__hpp
#define __ttl_macro_counter__hpp

#include "ttl/macro_misc.hpp"

#define TTL_CNTDEC_1 0
#define TTL_CNTDEC_2 1
#define TTL_CNTDEC_3 2
#define TTL_CNTDEC_4 3
#define TTL_CNTDEC_5 4
#define TTL_CNTDEC_6 5
#define TTL_CNTDEC_7 6
#define TTL_CNTDEC_8 7
#define TTL_CNTDEC_9 8
#define TTL_CNTDEC_10 9
#define TTL_CNTDEC_11 10
#define TTL_CNTDEC_12 11
#define TTL_CNTDEC_13 12
#define TTL_CNTDEC_14 13
#define TTL_CNTDEC_15 14
#define TTL_CNTDEC_16 15
#define TTL_CNTDEC_17 16
#define TTL_CNTDEC_18 17
#define TTL_CNTDEC_19 18
#define TTL_CNTDEC_20 19
#define TTL_CNTDEC_21 20
#define TTL_CNTDEC_22 21
#define TTL_CNTDEC_23 22
#define TTL_CNTDEC_24 23
#define TTL_CNTDEC_25 24
#define TTL_CNTDEC_26 25
#define TTL_CNTDEC_27 26
#define TTL_CNTDEC_28 27
#define TTL_CNTDEC_29 28
#define TTL_CNTDEC_30 29
#define TTL_CNTDEC_31 30
#define TTL_CNTDEC_32 31
#define TTL_CNTDEC_33 32
#define TTL_CNTDEC_34 33
#define TTL_CNTDEC_35 34
#define TTL_CNTDEC_36 35
#define TTL_CNTDEC_37 36
#define TTL_CNTDEC_38 37
#define TTL_CNTDEC_39 38
#define TTL_CNTDEC_40 39
#define TTL_CNTDEC_41 40
#define TTL_CNTDEC_42 41
#define TTL_CNTDEC_43 42
#define TTL_CNTDEC_44 43
#define TTL_CNTDEC_45 44
#define TTL_CNTDEC_46 45
#define TTL_CNTDEC_47 46
#define TTL_CNTDEC_48 47
#define TTL_CNTDEC_49 48
#define TTL_CNTDEC_50 49
#define TTL_CNTDEC_51 50
#define TTL_CNTDEC_52 51
#define TTL_CNTDEC_53 52
#define TTL_CNTDEC_54 53
#define TTL_CNTDEC_55 54
#define TTL_CNTDEC_56 55
#define TTL_CNTDEC_57 56
#define TTL_CNTDEC_58 57
#define TTL_CNTDEC_59 58
#define TTL_CNTDEC_60 59
#define TTL_CNTDEC_61 60
#define TTL_CNTDEC_62 61
#define TTL_CNTDEC_63 62
#define TTL_CNTDEC_64 63
#define TTL_CNTDEC_65 64
#define TTL_CNTDEC_66 65
#define TTL_CNTDEC_67 66
#define TTL_CNTDEC_68 67
#define TTL_CNTDEC_69 68
#define TTL_CNTDEC_70 69
#define TTL_CNTDEC_71 70
#define TTL_CNTDEC_72 71
#define TTL_CNTDEC_73 72
#define TTL_CNTDEC_74 73
#define TTL_CNTDEC_75 74
#define TTL_CNTDEC_76 75
#define TTL_CNTDEC_77 76
#define TTL_CNTDEC_78 77
#define TTL_CNTDEC_79 78
#define TTL_CNTDEC_80 79
#define TTL_CNTDEC_81 80
#define TTL_CNTDEC_82 81
#define TTL_CNTDEC_83 82
#define TTL_CNTDEC_84 83
#define TTL_CNTDEC_85 84
#define TTL_CNTDEC_86 85
#define TTL_CNTDEC_87 86
#define TTL_CNTDEC_88 87
#define TTL_CNTDEC_89 88
#define TTL_CNTDEC_90 89
#define TTL_CNTDEC_91 90
#define TTL_CNTDEC_92 91
#define TTL_CNTDEC_93 92
#define TTL_CNTDEC_94 93
#define TTL_CNTDEC_95 94
#define TTL_CNTDEC_96 95
#define TTL_CNTDEC_97 96
#define TTL_CNTDEC_98 97
#define TTL_CNTDEC_99 98
#define TTL_CNTDEC_100 99
#define TTL_CNTDEC_101 100
#define TTL_CNTDEC_102 101
#define TTL_CNTDEC_103 102
#define TTL_CNTDEC_104 103
#define TTL_CNTDEC_105 104
#define TTL_CNTDEC_106 105
#define TTL_CNTDEC_107 106
#define TTL_CNTDEC_108 107
#define TTL_CNTDEC_109 108
#define TTL_CNTDEC_110 109
#define TTL_CNTDEC_111 110
#define TTL_CNTDEC_112 111
#define TTL_CNTDEC_113 112
#define TTL_CNTDEC_114 113
#define TTL_CNTDEC_115 114
#define TTL_CNTDEC_116 115
#define TTL_CNTDEC_117 116
#define TTL_CNTDEC_118 117
#define TTL_CNTDEC_119 118
#define TTL_CNTDEC_120 119
#define TTL_CNTDEC_121 120
#define TTL_CNTDEC_122 121
#define TTL_CNTDEC_123 122
#define TTL_CNTDEC_124 123
#define TTL_CNTDEC_125 124
#define TTL_CNTDEC_126 125
#define TTL_CNTDEC_127 126
#define TTL_CNTDEC_128 127
#define TTL_CNTDEC_129 128
#define TTL_CNTDEC_130 129
#define TTL_CNTDEC_131 130
#define TTL_CNTDEC_132 131
#define TTL_CNTDEC_133 132
#define TTL_CNTDEC_134 133
#define TTL_CNTDEC_135 134
#define TTL_CNTDEC_136 135
#define TTL_CNTDEC_137 136
#define TTL_CNTDEC_138 137
#define TTL_CNTDEC_139 138
#define TTL_CNTDEC_140 139
#define TTL_CNTDEC_141 140
#define TTL_CNTDEC_142 141
#define TTL_CNTDEC_143 142
#define TTL_CNTDEC_144 143
#define TTL_CNTDEC_145 144
#define TTL_CNTDEC_146 145
#define TTL_CNTDEC_147 146
#define TTL_CNTDEC_148 147
#define TTL_CNTDEC_149 148
#define TTL_CNTDEC_150 149
#define TTL_CNTDEC_151 150
#define TTL_CNTDEC_152 151
#define TTL_CNTDEC_153 152
#define TTL_CNTDEC_154 153
#define TTL_CNTDEC_155 154
#define TTL_CNTDEC_156 155
#define TTL_CNTDEC_157 156
#define TTL_CNTDEC_158 157
#define TTL_CNTDEC_159 158
#define TTL_CNTDEC_160 159
#define TTL_CNTDEC_161 160
#define TTL_CNTDEC_162 161
#define TTL_CNTDEC_163 162
#define TTL_CNTDEC_164 163
#define TTL_CNTDEC_165 164
#define TTL_CNTDEC_166 165
#define TTL_CNTDEC_167 166
#define TTL_CNTDEC_168 167
#define TTL_CNTDEC_169 168
#define TTL_CNTDEC_170 169
#define TTL_CNTDEC_171 170
#define TTL_CNTDEC_172 171
#define TTL_CNTDEC_173 172
#define TTL_CNTDEC_174 173
#define TTL_CNTDEC_175 174
#define TTL_CNTDEC_176 175
#define TTL_CNTDEC_177 176
#define TTL_CNTDEC_178 177
#define TTL_CNTDEC_179 178
#define TTL_CNTDEC_180 179
#define TTL_CNTDEC_181 180
#define TTL_CNTDEC_182 181
#define TTL_CNTDEC_183 182
#define TTL_CNTDEC_184 183
#define TTL_CNTDEC_185 184
#define TTL_CNTDEC_186 185
#define TTL_CNTDEC_187 186
#define TTL_CNTDEC_188 187
#define TTL_CNTDEC_189 188
#define TTL_CNTDEC_190 189
#define TTL_CNTDEC_191 190
#define TTL_CNTDEC_192 191
#define TTL_CNTDEC_193 192
#define TTL_CNTDEC_194 193
#define TTL_CNTDEC_195 194
#define TTL_CNTDEC_196 195
#define TTL_CNTDEC_197 196
#define TTL_CNTDEC_198 197
#define TTL_CNTDEC_199 198
#define TTL_CNTDEC_200 199
#define TTL_CNTDEC_201 200
#define TTL_CNTDEC_202 201
#define TTL_CNTDEC_203 202
#define TTL_CNTDEC_204 203
#define TTL_CNTDEC_205 204
#define TTL_CNTDEC_206 205
#define TTL_CNTDEC_207 206
#define TTL_CNTDEC_208 207
#define TTL_CNTDEC_209 208
#define TTL_CNTDEC_210 209
#define TTL_CNTDEC_211 210
#define TTL_CNTDEC_212 211
#define TTL_CNTDEC_213 212
#define TTL_CNTDEC_214 213
#define TTL_CNTDEC_215 214
#define TTL_CNTDEC_216 215
#define TTL_CNTDEC_217 216
#define TTL_CNTDEC_218 217
#define TTL_CNTDEC_219 218
#define TTL_CNTDEC_220 219
#define TTL_CNTDEC_221 220
#define TTL_CNTDEC_222 221
#define TTL_CNTDEC_223 222
#define TTL_CNTDEC_224 223
#define TTL_CNTDEC_225 224
#define TTL_CNTDEC_226 225
#define TTL_CNTDEC_227 226
#define TTL_CNTDEC_228 227
#define TTL_CNTDEC_229 228
#define TTL_CNTDEC_230 229
#define TTL_CNTDEC_231 230
#define TTL_CNTDEC_232 231
#define TTL_CNTDEC_233 232
#define TTL_CNTDEC_234 233
#define TTL_CNTDEC_235 234
#define TTL_CNTDEC_236 235
#define TTL_CNTDEC_237 236
#define TTL_CNTDEC_238 237
#define TTL_CNTDEC_239 238
#define TTL_CNTDEC_240 239
#define TTL_CNTDEC_241 240
#define TTL_CNTDEC_242 241
#define TTL_CNTDEC_243 242
#define TTL_CNTDEC_244 243
#define TTL_CNTDEC_245 244
#define TTL_CNTDEC_246 245
#define TTL_CNTDEC_247 246
#define TTL_CNTDEC_248 247
#define TTL_CNTDEC_249 248
#define TTL_CNTDEC_250 249
#define TTL_CNTDEC_251 250
#define TTL_CNTDEC_252 251
#define TTL_CNTDEC_253 252
#define TTL_CNTDEC_254 253
#define TTL_CNTDEC_255 254
#define TTL_CNTDEC_256 255
#define TTL_CNTDEC_257 256
#define TTL_CNTDEC_258 257
#define TTL_CNTDEC_259 258
#define TTL_CNTDEC_260 259
#define TTL_CNTDEC_261 260
#define TTL_CNTDEC_262 261
#define TTL_CNTDEC_263 262
#define TTL_CNTDEC_264 263
#define TTL_CNTDEC_265 264
#define TTL_CNTDEC_266 265
#define TTL_CNTDEC_267 266
#define TTL_CNTDEC_268 267
#define TTL_CNTDEC_269 268
#define TTL_CNTDEC_270 269
#define TTL_CNTDEC_271 270
#define TTL_CNTDEC_272 271
#define TTL_CNTDEC_273 272
#define TTL_CNTDEC_274 273
#define TTL_CNTDEC_275 274
#define TTL_CNTDEC_276 275
#define TTL_CNTDEC_277 276
#define TTL_CNTDEC_278 277
#define TTL_CNTDEC_279 278
#define TTL_CNTDEC_280 279
#define TTL_CNTDEC_281 280
#define TTL_CNTDEC_282 281
#define TTL_CNTDEC_283 282
#define TTL_CNTDEC_284 283
#define TTL_CNTDEC_285 284
#define TTL_CNTDEC_286 285
#define TTL_CNTDEC_287 286
#define TTL_CNTDEC_288 287
#define TTL_CNTDEC_289 288
#define TTL_CNTDEC_290 289
#define TTL_CNTDEC_291 290
#define TTL_CNTDEC_292 291
#define TTL_CNTDEC_293 292
#define TTL_CNTDEC_294 293
#define TTL_CNTDEC_295 294
#define TTL_CNTDEC_296 295
#define TTL_CNTDEC_297 296
#define TTL_CNTDEC_298 297
#define TTL_CNTDEC_299 298
#define TTL_CNTDEC_300 299
#define TTL_CNTDEC_301 300
#define TTL_CNTDEC_302 301
#define TTL_CNTDEC_303 302
#define TTL_CNTDEC_304 303
#define TTL_CNTDEC_305 304
#define TTL_CNTDEC_306 305
#define TTL_CNTDEC_307 306
#define TTL_CNTDEC_308 307
#define TTL_CNTDEC_309 308
#define TTL_CNTDEC_310 309
#define TTL_CNTDEC_311 310
#define TTL_CNTDEC_312 311
#define TTL_CNTDEC_313 312
#define TTL_CNTDEC_314 313
#define TTL_CNTDEC_315 314
#define TTL_CNTDEC_316 315
#define TTL_CNTDEC_317 316
#define TTL_CNTDEC_318 317
#define TTL_CNTDEC_319 318
#define TTL_CNTDEC_320 319
#define TTL_CNTDEC_321 320
#define TTL_CNTDEC_322 321
#define TTL_CNTDEC_323 322
#define TTL_CNTDEC_324 323
#define TTL_CNTDEC_325 324
#define TTL_CNTDEC_326 325
#define TTL_CNTDEC_327 326
#define TTL_CNTDEC_328 327
#define TTL_CNTDEC_329 328
#define TTL_CNTDEC_330 329
#define TTL_CNTDEC_331 330
#define TTL_CNTDEC_332 331
#define TTL_CNTDEC_333 332
#define TTL_CNTDEC_334 333
#define TTL_CNTDEC_335 334
#define TTL_CNTDEC_336 335
#define TTL_CNTDEC_337 336
#define TTL_CNTDEC_338 337
#define TTL_CNTDEC_339 338
#define TTL_CNTDEC_340 339
#define TTL_CNTDEC_341 340
#define TTL_CNTDEC_342 341
#define TTL_CNTDEC_343 342
#define TTL_CNTDEC_344 343
#define TTL_CNTDEC_345 344
#define TTL_CNTDEC_346 345
#define TTL_CNTDEC_347 346
#define TTL_CNTDEC_348 347
#define TTL_CNTDEC_349 348
#define TTL_CNTDEC_350 349
#define TTL_CNTDEC_351 350
#define TTL_CNTDEC_352 351
#define TTL_CNTDEC_353 352
#define TTL_CNTDEC_354 353
#define TTL_CNTDEC_355 354
#define TTL_CNTDEC_356 355
#define TTL_CNTDEC_357 356
#define TTL_CNTDEC_358 357
#define TTL_CNTDEC_359 358
#define TTL_CNTDEC_360 359
#define TTL_CNTDEC_361 360
#define TTL_CNTDEC_362 361
#define TTL_CNTDEC_363 362
#define TTL_CNTDEC_364 363
#define TTL_CNTDEC_365 364
#define TTL_CNTDEC_366 365
#define TTL_CNTDEC_367 366
#define TTL_CNTDEC_368 367
#define TTL_CNTDEC_369 368
#define TTL_CNTDEC_370 369
#define TTL_CNTDEC_371 370
#define TTL_CNTDEC_372 371
#define TTL_CNTDEC_373 372
#define TTL_CNTDEC_374 373
#define TTL_CNTDEC_375 374
#define TTL_CNTDEC_376 375
#define TTL_CNTDEC_377 376
#define TTL_CNTDEC_378 377
#define TTL_CNTDEC_379 378
#define TTL_CNTDEC_380 379
#define TTL_CNTDEC_381 380
#define TTL_CNTDEC_382 381
#define TTL_CNTDEC_383 382
#define TTL_CNTDEC_384 383
#define TTL_CNTDEC_385 384
#define TTL_CNTDEC_386 385
#define TTL_CNTDEC_387 386
#define TTL_CNTDEC_388 387
#define TTL_CNTDEC_389 388
#define TTL_CNTDEC_390 389
#define TTL_CNTDEC_391 390
#define TTL_CNTDEC_392 391
#define TTL_CNTDEC_393 392
#define TTL_CNTDEC_394 393
#define TTL_CNTDEC_395 394
#define TTL_CNTDEC_396 395
#define TTL_CNTDEC_397 396
#define TTL_CNTDEC_398 397
#define TTL_CNTDEC_399 398
#define TTL_CNTDEC_400 399
#define TTL_CNTDEC_401 400
#define TTL_CNTDEC_402 401
#define TTL_CNTDEC_403 402
#define TTL_CNTDEC_404 403
#define TTL_CNTDEC_405 404
#define TTL_CNTDEC_406 405
#define TTL_CNTDEC_407 406
#define TTL_CNTDEC_408 407
#define TTL_CNTDEC_409 408
#define TTL_CNTDEC_410 409
#define TTL_CNTDEC_411 410
#define TTL_CNTDEC_412 411
#define TTL_CNTDEC_413 412
#define TTL_CNTDEC_414 413
#define TTL_CNTDEC_415 414
#define TTL_CNTDEC_416 415
#define TTL_CNTDEC_417 416
#define TTL_CNTDEC_418 417
#define TTL_CNTDEC_419 418
#define TTL_CNTDEC_420 419
#define TTL_CNTDEC_421 420
#define TTL_CNTDEC_422 421
#define TTL_CNTDEC_423 422
#define TTL_CNTDEC_424 423
#define TTL_CNTDEC_425 424
#define TTL_CNTDEC_426 425
#define TTL_CNTDEC_427 426
#define TTL_CNTDEC_428 427
#define TTL_CNTDEC_429 428
#define TTL_CNTDEC_430 429
#define TTL_CNTDEC_431 430
#define TTL_CNTDEC_432 431
#define TTL_CNTDEC_433 432
#define TTL_CNTDEC_434 433
#define TTL_CNTDEC_435 434
#define TTL_CNTDEC_436 435
#define TTL_CNTDEC_437 436
#define TTL_CNTDEC_438 437
#define TTL_CNTDEC_439 438
#define TTL_CNTDEC_440 439
#define TTL_CNTDEC_441 440
#define TTL_CNTDEC_442 441
#define TTL_CNTDEC_443 442
#define TTL_CNTDEC_444 443
#define TTL_CNTDEC_445 444
#define TTL_CNTDEC_446 445
#define TTL_CNTDEC_447 446
#define TTL_CNTDEC_448 447
#define TTL_CNTDEC_449 448
#define TTL_CNTDEC_450 449
#define TTL_CNTDEC_451 450
#define TTL_CNTDEC_452 451
#define TTL_CNTDEC_453 452
#define TTL_CNTDEC_454 453
#define TTL_CNTDEC_455 454
#define TTL_CNTDEC_456 455
#define TTL_CNTDEC_457 456
#define TTL_CNTDEC_458 457
#define TTL_CNTDEC_459 458
#define TTL_CNTDEC_460 459
#define TTL_CNTDEC_461 460
#define TTL_CNTDEC_462 461
#define TTL_CNTDEC_463 462
#define TTL_CNTDEC_464 463
#define TTL_CNTDEC_465 464
#define TTL_CNTDEC_466 465
#define TTL_CNTDEC_467 466
#define TTL_CNTDEC_468 467
#define TTL_CNTDEC_469 468
#define TTL_CNTDEC_470 469
#define TTL_CNTDEC_471 470
#define TTL_CNTDEC_472 471
#define TTL_CNTDEC_473 472
#define TTL_CNTDEC_474 473
#define TTL_CNTDEC_475 474
#define TTL_CNTDEC_476 475
#define TTL_CNTDEC_477 476
#define TTL_CNTDEC_478 477
#define TTL_CNTDEC_479 478
#define TTL_CNTDEC_480 479
#define TTL_CNTDEC_481 480
#define TTL_CNTDEC_482 481
#define TTL_CNTDEC_483 482
#define TTL_CNTDEC_484 483
#define TTL_CNTDEC_485 484
#define TTL_CNTDEC_486 485
#define TTL_CNTDEC_487 486
#define TTL_CNTDEC_488 487
#define TTL_CNTDEC_489 488
#define TTL_CNTDEC_490 489
#define TTL_CNTDEC_491 490
#define TTL_CNTDEC_492 491
#define TTL_CNTDEC_493 492
#define TTL_CNTDEC_494 493
#define TTL_CNTDEC_495 494
#define TTL_CNTDEC_496 495
#define TTL_CNTDEC_497 496
#define TTL_CNTDEC_498 497
#define TTL_CNTDEC_499 498
#define TTL_CNTDEC_500 499
#define TTL_CNTDEC_501 500
#define TTL_CNTDEC_502 501
#define TTL_CNTDEC_503 502
#define TTL_CNTDEC_504 503
#define TTL_CNTDEC_505 504
#define TTL_CNTDEC_506 505
#define TTL_CNTDEC_507 506
#define TTL_CNTDEC_508 507
#define TTL_CNTDEC_509 508
#define TTL_CNTDEC_510 509
#define TTL_CNTDEC_511 510

#define TTL_CNTINC_0 1
#define TTL_CNTINC_1 2
#define TTL_CNTINC_2 3
#define TTL_CNTINC_3 4
#define TTL_CNTINC_4 5
#define TTL_CNTINC_5 6
#define TTL_CNTINC_6 7
#define TTL_CNTINC_7 8
#define TTL_CNTINC_8 9
#define TTL_CNTINC_9 10
#define TTL_CNTINC_10 11
#define TTL_CNTINC_11 12
#define TTL_CNTINC_12 13
#define TTL_CNTINC_13 14
#define TTL_CNTINC_14 15
#define TTL_CNTINC_15 16
#define TTL_CNTINC_16 17
#define TTL_CNTINC_17 18
#define TTL_CNTINC_18 19
#define TTL_CNTINC_19 20
#define TTL_CNTINC_20 21
#define TTL_CNTINC_21 22
#define TTL_CNTINC_22 23
#define TTL_CNTINC_23 24
#define TTL_CNTINC_24 25
#define TTL_CNTINC_25 26
#define TTL_CNTINC_26 27
#define TTL_CNTINC_27 28
#define TTL_CNTINC_28 29
#define TTL_CNTINC_29 30
#define TTL_CNTINC_30 31
#define TTL_CNTINC_31 32
#define TTL_CNTINC_32 33
#define TTL_CNTINC_33 34
#define TTL_CNTINC_34 35
#define TTL_CNTINC_35 36
#define TTL_CNTINC_36 37
#define TTL_CNTINC_37 38
#define TTL_CNTINC_38 39
#define TTL_CNTINC_39 40
#define TTL_CNTINC_40 41
#define TTL_CNTINC_41 42
#define TTL_CNTINC_42 43
#define TTL_CNTINC_43 44
#define TTL_CNTINC_44 45
#define TTL_CNTINC_45 46
#define TTL_CNTINC_46 47
#define TTL_CNTINC_47 48
#define TTL_CNTINC_48 49
#define TTL_CNTINC_49 50
#define TTL_CNTINC_50 51
#define TTL_CNTINC_51 52
#define TTL_CNTINC_52 53
#define TTL_CNTINC_53 54
#define TTL_CNTINC_54 55
#define TTL_CNTINC_55 56
#define TTL_CNTINC_56 57
#define TTL_CNTINC_57 58
#define TTL_CNTINC_58 59
#define TTL_CNTINC_59 60
#define TTL_CNTINC_60 61
#define TTL_CNTINC_61 62
#define TTL_CNTINC_62 63
#define TTL_CNTINC_63 64
#define TTL_CNTINC_64 65
#define TTL_CNTINC_65 66
#define TTL_CNTINC_66 67
#define TTL_CNTINC_67 68
#define TTL_CNTINC_68 69
#define TTL_CNTINC_69 70
#define TTL_CNTINC_70 71
#define TTL_CNTINC_71 72
#define TTL_CNTINC_72 73
#define TTL_CNTINC_73 74
#define TTL_CNTINC_74 75
#define TTL_CNTINC_75 76
#define TTL_CNTINC_76 77
#define TTL_CNTINC_77 78
#define TTL_CNTINC_78 79
#define TTL_CNTINC_79 80
#define TTL_CNTINC_80 81
#define TTL_CNTINC_81 82
#define TTL_CNTINC_82 83
#define TTL_CNTINC_83 84
#define TTL_CNTINC_84 85
#define TTL_CNTINC_85 86
#define TTL_CNTINC_86 87
#define TTL_CNTINC_87 88
#define TTL_CNTINC_88 89
#define TTL_CNTINC_89 90
#define TTL_CNTINC_90 91
#define TTL_CNTINC_91 92
#define TTL_CNTINC_92 93
#define TTL_CNTINC_93 94
#define TTL_CNTINC_94 95
#define TTL_CNTINC_95 96
#define TTL_CNTINC_96 97
#define TTL_CNTINC_97 98
#define TTL_CNTINC_98 99
#define TTL_CNTINC_99 100
#define TTL_CNTINC_100 101
#define TTL_CNTINC_101 102
#define TTL_CNTINC_102 103
#define TTL_CNTINC_103 104
#define TTL_CNTINC_104 105
#define TTL_CNTINC_105 106
#define TTL_CNTINC_106 107
#define TTL_CNTINC_107 108
#define TTL_CNTINC_108 109
#define TTL_CNTINC_109 110
#define TTL_CNTINC_110 111
#define TTL_CNTINC_111 112
#define TTL_CNTINC_112 113
#define TTL_CNTINC_113 114
#define TTL_CNTINC_114 115
#define TTL_CNTINC_115 116
#define TTL_CNTINC_116 117
#define TTL_CNTINC_117 118
#define TTL_CNTINC_118 119
#define TTL_CNTINC_119 120
#define TTL_CNTINC_120 121
#define TTL_CNTINC_121 122
#define TTL_CNTINC_122 123
#define TTL_CNTINC_123 124
#define TTL_CNTINC_124 125
#define TTL_CNTINC_125 126
#define TTL_CNTINC_126 127
#define TTL_CNTINC_127 128
#define TTL_CNTINC_128 129
#define TTL_CNTINC_129 130
#define TTL_CNTINC_130 131
#define TTL_CNTINC_131 132
#define TTL_CNTINC_132 133
#define TTL_CNTINC_133 134
#define TTL_CNTINC_134 135
#define TTL_CNTINC_135 136
#define TTL_CNTINC_136 137
#define TTL_CNTINC_137 138
#define TTL_CNTINC_138 139
#define TTL_CNTINC_139 140
#define TTL_CNTINC_140 141
#define TTL_CNTINC_141 142
#define TTL_CNTINC_142 143
#define TTL_CNTINC_143 144
#define TTL_CNTINC_144 145
#define TTL_CNTINC_145 146
#define TTL_CNTINC_146 147
#define TTL_CNTINC_147 148
#define TTL_CNTINC_148 149
#define TTL_CNTINC_149 150
#define TTL_CNTINC_150 151
#define TTL_CNTINC_151 152
#define TTL_CNTINC_152 153
#define TTL_CNTINC_153 154
#define TTL_CNTINC_154 155
#define TTL_CNTINC_155 156
#define TTL_CNTINC_156 157
#define TTL_CNTINC_157 158
#define TTL_CNTINC_158 159
#define TTL_CNTINC_159 160
#define TTL_CNTINC_160 161
#define TTL_CNTINC_161 162
#define TTL_CNTINC_162 163
#define TTL_CNTINC_163 164
#define TTL_CNTINC_164 165
#define TTL_CNTINC_165 166
#define TTL_CNTINC_166 167
#define TTL_CNTINC_167 168
#define TTL_CNTINC_168 169
#define TTL_CNTINC_169 170
#define TTL_CNTINC_170 171
#define TTL_CNTINC_171 172
#define TTL_CNTINC_172 173
#define TTL_CNTINC_173 174
#define TTL_CNTINC_174 175
#define TTL_CNTINC_175 176
#define TTL_CNTINC_176 177
#define TTL_CNTINC_177 178
#define TTL_CNTINC_178 179
#define TTL_CNTINC_179 180
#define TTL_CNTINC_180 181
#define TTL_CNTINC_181 182
#define TTL_CNTINC_182 183
#define TTL_CNTINC_183 184
#define TTL_CNTINC_184 185
#define TTL_CNTINC_185 186
#define TTL_CNTINC_186 187
#define TTL_CNTINC_187 188
#define TTL_CNTINC_188 189
#define TTL_CNTINC_189 190
#define TTL_CNTINC_190 191
#define TTL_CNTINC_191 192
#define TTL_CNTINC_192 193
#define TTL_CNTINC_193 194
#define TTL_CNTINC_194 195
#define TTL_CNTINC_195 196
#define TTL_CNTINC_196 197
#define TTL_CNTINC_197 198
#define TTL_CNTINC_198 199
#define TTL_CNTINC_199 200
#define TTL_CNTINC_200 201
#define TTL_CNTINC_201 202
#define TTL_CNTINC_202 203
#define TTL_CNTINC_203 204
#define TTL_CNTINC_204 205
#define TTL_CNTINC_205 206
#define TTL_CNTINC_206 207
#define TTL_CNTINC_207 208
#define TTL_CNTINC_208 209
#define TTL_CNTINC_209 210
#define TTL_CNTINC_210 211
#define TTL_CNTINC_211 212
#define TTL_CNTINC_212 213
#define TTL_CNTINC_213 214
#define TTL_CNTINC_214 215
#define TTL_CNTINC_215 216
#define TTL_CNTINC_216 217
#define TTL_CNTINC_217 218
#define TTL_CNTINC_218 219
#define TTL_CNTINC_219 220
#define TTL_CNTINC_220 221
#define TTL_CNTINC_221 222
#define TTL_CNTINC_222 223
#define TTL_CNTINC_223 224
#define TTL_CNTINC_224 225
#define TTL_CNTINC_225 226
#define TTL_CNTINC_226 227
#define TTL_CNTINC_227 228
#define TTL_CNTINC_228 229
#define TTL_CNTINC_229 230
#define TTL_CNTINC_230 231
#define TTL_CNTINC_231 232
#define TTL_CNTINC_232 233
#define TTL_CNTINC_233 234
#define TTL_CNTINC_234 235
#define TTL_CNTINC_235 236
#define TTL_CNTINC_236 237
#define TTL_CNTINC_237 238
#define TTL_CNTINC_238 239
#define TTL_CNTINC_239 240
#define TTL_CNTINC_240 241
#define TTL_CNTINC_241 242
#define TTL_CNTINC_242 243
#define TTL_CNTINC_243 244
#define TTL_CNTINC_244 245
#define TTL_CNTINC_245 246
#define TTL_CNTINC_246 247
#define TTL_CNTINC_247 248
#define TTL_CNTINC_248 249
#define TTL_CNTINC_249 250
#define TTL_CNTINC_250 251
#define TTL_CNTINC_251 252
#define TTL_CNTINC_252 253
#define TTL_CNTINC_253 254
#define TTL_CNTINC_254 255
#define TTL_CNTINC_255 256
#define TTL_CNTINC_256 257
#define TTL_CNTINC_257 258
#define TTL_CNTINC_258 259
#define TTL_CNTINC_259 260
#define TTL_CNTINC_260 261
#define TTL_CNTINC_261 262
#define TTL_CNTINC_262 263
#define TTL_CNTINC_263 264
#define TTL_CNTINC_264 265
#define TTL_CNTINC_265 266
#define TTL_CNTINC_266 267
#define TTL_CNTINC_267 268
#define TTL_CNTINC_268 269
#define TTL_CNTINC_269 270
#define TTL_CNTINC_270 271
#define TTL_CNTINC_271 272
#define TTL_CNTINC_272 273
#define TTL_CNTINC_273 274
#define TTL_CNTINC_274 275
#define TTL_CNTINC_275 276
#define TTL_CNTINC_276 277
#define TTL_CNTINC_277 278
#define TTL_CNTINC_278 279
#define TTL_CNTINC_279 280
#define TTL_CNTINC_280 281
#define TTL_CNTINC_281 282
#define TTL_CNTINC_282 283
#define TTL_CNTINC_283 284
#define TTL_CNTINC_284 285
#define TTL_CNTINC_285 286
#define TTL_CNTINC_286 287
#define TTL_CNTINC_287 288
#define TTL_CNTINC_288 289
#define TTL_CNTINC_289 290
#define TTL_CNTINC_290 291
#define TTL_CNTINC_291 292
#define TTL_CNTINC_292 293
#define TTL_CNTINC_293 294
#define TTL_CNTINC_294 295
#define TTL_CNTINC_295 296
#define TTL_CNTINC_296 297
#define TTL_CNTINC_297 298
#define TTL_CNTINC_298 299
#define TTL_CNTINC_299 300
#define TTL_CNTINC_300 301
#define TTL_CNTINC_301 302
#define TTL_CNTINC_302 303
#define TTL_CNTINC_303 304
#define TTL_CNTINC_304 305
#define TTL_CNTINC_305 306
#define TTL_CNTINC_306 307
#define TTL_CNTINC_307 308
#define TTL_CNTINC_308 309
#define TTL_CNTINC_309 310
#define TTL_CNTINC_310 311
#define TTL_CNTINC_311 312
#define TTL_CNTINC_312 313
#define TTL_CNTINC_313 314
#define TTL_CNTINC_314 315
#define TTL_CNTINC_315 316
#define TTL_CNTINC_316 317
#define TTL_CNTINC_317 318
#define TTL_CNTINC_318 319
#define TTL_CNTINC_319 320
#define TTL_CNTINC_320 321
#define TTL_CNTINC_321 322
#define TTL_CNTINC_322 323
#define TTL_CNTINC_323 324
#define TTL_CNTINC_324 325
#define TTL_CNTINC_325 326
#define TTL_CNTINC_326 327
#define TTL_CNTINC_327 328
#define TTL_CNTINC_328 329
#define TTL_CNTINC_329 330
#define TTL_CNTINC_330 331
#define TTL_CNTINC_331 332
#define TTL_CNTINC_332 333
#define TTL_CNTINC_333 334
#define TTL_CNTINC_334 335
#define TTL_CNTINC_335 336
#define TTL_CNTINC_336 337
#define TTL_CNTINC_337 338
#define TTL_CNTINC_338 339
#define TTL_CNTINC_339 340
#define TTL_CNTINC_340 341
#define TTL_CNTINC_341 342
#define TTL_CNTINC_342 343
#define TTL_CNTINC_343 344
#define TTL_CNTINC_344 345
#define TTL_CNTINC_345 346
#define TTL_CNTINC_346 347
#define TTL_CNTINC_347 348
#define TTL_CNTINC_348 349
#define TTL_CNTINC_349 350
#define TTL_CNTINC_350 351
#define TTL_CNTINC_351 352
#define TTL_CNTINC_352 353
#define TTL_CNTINC_353 354
#define TTL_CNTINC_354 355
#define TTL_CNTINC_355 356
#define TTL_CNTINC_356 357
#define TTL_CNTINC_357 358
#define TTL_CNTINC_358 359
#define TTL_CNTINC_359 360
#define TTL_CNTINC_360 361
#define TTL_CNTINC_361 362
#define TTL_CNTINC_362 363
#define TTL_CNTINC_363 364
#define TTL_CNTINC_364 365
#define TTL_CNTINC_365 366
#define TTL_CNTINC_366 367
#define TTL_CNTINC_367 368
#define TTL_CNTINC_368 369
#define TTL_CNTINC_369 370
#define TTL_CNTINC_370 371
#define TTL_CNTINC_371 372
#define TTL_CNTINC_372 373
#define TTL_CNTINC_373 374
#define TTL_CNTINC_374 375
#define TTL_CNTINC_375 376
#define TTL_CNTINC_376 377
#define TTL_CNTINC_377 378
#define TTL_CNTINC_378 379
#define TTL_CNTINC_379 380
#define TTL_CNTINC_380 381
#define TTL_CNTINC_381 382
#define TTL_CNTINC_382 383
#define TTL_CNTINC_383 384
#define TTL_CNTINC_384 385
#define TTL_CNTINC_385 386
#define TTL_CNTINC_386 387
#define TTL_CNTINC_387 388
#define TTL_CNTINC_388 389
#define TTL_CNTINC_389 390
#define TTL_CNTINC_390 391
#define TTL_CNTINC_391 392
#define TTL_CNTINC_392 393
#define TTL_CNTINC_393 394
#define TTL_CNTINC_394 395
#define TTL_CNTINC_395 396
#define TTL_CNTINC_396 397
#define TTL_CNTINC_397 398
#define TTL_CNTINC_398 399
#define TTL_CNTINC_399 400
#define TTL_CNTINC_400 401
#define TTL_CNTINC_401 402
#define TTL_CNTINC_402 403
#define TTL_CNTINC_403 404
#define TTL_CNTINC_404 405
#define TTL_CNTINC_405 406
#define TTL_CNTINC_406 407
#define TTL_CNTINC_407 408
#define TTL_CNTINC_408 409
#define TTL_CNTINC_409 410
#define TTL_CNTINC_410 411
#define TTL_CNTINC_411 412
#define TTL_CNTINC_412 413
#define TTL_CNTINC_413 414
#define TTL_CNTINC_414 415
#define TTL_CNTINC_415 416
#define TTL_CNTINC_416 417
#define TTL_CNTINC_417 418
#define TTL_CNTINC_418 419
#define TTL_CNTINC_419 420
#define TTL_CNTINC_420 421
#define TTL_CNTINC_421 422
#define TTL_CNTINC_422 423
#define TTL_CNTINC_423 424
#define TTL_CNTINC_424 425
#define TTL_CNTINC_425 426
#define TTL_CNTINC_426 427
#define TTL_CNTINC_427 428
#define TTL_CNTINC_428 429
#define TTL_CNTINC_429 430
#define TTL_CNTINC_430 431
#define TTL_CNTINC_431 432
#define TTL_CNTINC_432 433
#define TTL_CNTINC_433 434
#define TTL_CNTINC_434 435
#define TTL_CNTINC_435 436
#define TTL_CNTINC_436 437
#define TTL_CNTINC_437 438
#define TTL_CNTINC_438 439
#define TTL_CNTINC_439 440
#define TTL_CNTINC_440 441
#define TTL_CNTINC_441 442
#define TTL_CNTINC_442 443
#define TTL_CNTINC_443 444
#define TTL_CNTINC_444 445
#define TTL_CNTINC_445 446
#define TTL_CNTINC_446 447
#define TTL_CNTINC_447 448
#define TTL_CNTINC_448 449
#define TTL_CNTINC_449 450
#define TTL_CNTINC_450 451
#define TTL_CNTINC_451 452
#define TTL_CNTINC_452 453
#define TTL_CNTINC_453 454
#define TTL_CNTINC_454 455
#define TTL_CNTINC_455 456
#define TTL_CNTINC_456 457
#define TTL_CNTINC_457 458
#define TTL_CNTINC_458 459
#define TTL_CNTINC_459 460
#define TTL_CNTINC_460 461
#define TTL_CNTINC_461 462
#define TTL_CNTINC_462 463
#define TTL_CNTINC_463 464
#define TTL_CNTINC_464 465
#define TTL_CNTINC_465 466
#define TTL_CNTINC_466 467
#define TTL_CNTINC_467 468
#define TTL_CNTINC_468 469
#define TTL_CNTINC_469 470
#define TTL_CNTINC_470 471
#define TTL_CNTINC_471 472
#define TTL_CNTINC_472 473
#define TTL_CNTINC_473 474
#define TTL_CNTINC_474 475
#define TTL_CNTINC_475 476
#define TTL_CNTINC_476 477
#define TTL_CNTINC_477 478
#define TTL_CNTINC_478 479
#define TTL_CNTINC_479 480
#define TTL_CNTINC_480 481
#define TTL_CNTINC_481 482
#define TTL_CNTINC_482 483
#define TTL_CNTINC_483 484
#define TTL_CNTINC_484 485
#define TTL_CNTINC_485 486
#define TTL_CNTINC_486 487
#define TTL_CNTINC_487 488
#define TTL_CNTINC_488 489
#define TTL_CNTINC_489 490
#define TTL_CNTINC_490 491
#define TTL_CNTINC_491 492
#define TTL_CNTINC_492 493
#define TTL_CNTINC_493 494
#define TTL_CNTINC_494 495
#define TTL_CNTINC_495 496
#define TTL_CNTINC_496 497
#define TTL_CNTINC_497 498
#define TTL_CNTINC_498 499
#define TTL_CNTINC_499 500
#define TTL_CNTINC_500 501
#define TTL_CNTINC_501 502
#define TTL_CNTINC_502 503
#define TTL_CNTINC_503 504
#define TTL_CNTINC_504 505
#define TTL_CNTINC_505 506
#define TTL_CNTINC_506 507
#define TTL_CNTINC_507 508
#define TTL_CNTINC_508 509
#define TTL_CNTINC_509 510
#define TTL_CNTINC_510 511
#define TTL_CNTINC_511 512

#define TTL_DEC(n) TTL_APPEND(TTL_CNTDEC_, n)
#define TTL_INC(n) TTL_APPEND(TTL_CNTINC_, n)

#endif //__macro_counter__hpp

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 has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
kig
Software Developer (Senior)
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions