P99
Macros
p99_id.h File Reference

Implement a simple FILEID that changes each time this file is included somewhere. More...

#include "p99_if.h"
+ Include dependency graph for p99_id.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define P99_ADVANCE_ID   P99_ADVANCE_ID
 Advance the unique ID generated by P99. More...
 
#define P99_FILEID(...)   P99_PASTID(p00_fileid, P99_ID(), __VA_ARGS__)
 An identifier token that identifies different times of inclusion of the file "p99_id.h". More...
 
#define P99_FILENO()   P99_PASTE2(0x, P99_ID(), U)
 A number that identifies different times of inclusion of the file "p99_id.h". More...
 
#define P99_ID()   P99_PASTE4(P99_ID_11_, P99_ID_13_, P99_ID_15_, P99_ID_16_)
 
#define P99_ID_11   0
 counting the number of inclusions of "p99_id.h" mod 11
More...
 
#define P99_ID_11   1
 counting the number of inclusions of "p99_id.h" mod 11
More...
 
#define P99_ID_11_   P00_ALPH(P99_ID_11)
 
#define P99_ID_13   0
 counting the number of inclusions of "p99_id.h" mod 13
More...
 
#define P99_ID_13   1
 counting the number of inclusions of "p99_id.h" mod 13
More...
 
#define P99_ID_13_   P00_ALPH(P99_ID_13)
 
#define P99_ID_15   0
 counting the number of inclusions of "p99_id.h" mod 15
More...
 
#define P99_ID_15   1
 counting the number of inclusions of "p99_id.h" mod 15
More...
 
#define P99_ID_15_   P00_ALPH(P99_ID_15)
 
#define P99_ID_16   0
 counting the number of inclusions of "p99_id.h" mod 16
More...
 
#define P99_ID_16   1
 counting the number of inclusions of "p99_id.h" mod 16
More...
 
#define P99_ID_16_   P00_ALPH(P99_ID_16)
 
#define P99_LINEID(...)   P99_PASTID(p00_lineid, __LINE__, P99_ID(), __VA_ARGS__)
 An identifier token that identifies different lines in an include hierarchy. More...
 
#define P99_LINENO()   P99_PASTE4(0x, __LINE__, P99_ID(), ULL)
 A number that identifies different lines in an include hierarchy. More...
 
#define P99_UNIQ(...)   P99_IF_EMPTY(__VA_ARGS__)(P99_LINEID(P00_UNIQ, uniq))(P99_LINEID(P00_UNIQ, uniq, __VA_ARGS__))
 An identifier token that is intended to be unique in this compilation unit. More...
 

Detailed Description

Implement a simple FILEID that changes each time this file is included somewhere.

The FILEID here is a hexadecimal number with 4 digits. 34320 different such numbers are produced by the algorithm until it wraps around.

Definition in file p99_id.h.

i
P00_CLAUSE2 i(_Pragma("weak p00_getopt_comp"))(_Pragma("weak p00_getopt_comp