P99

◆ P99_TP_REF_DEFINE

#define P99_TP_REF_DEFINE (   T)
Value:
P99_INSTANTIATE(T*, P99_PASTE2(T, _account), T*); \
P99_INSTANTIATE(T*, P99_PASTE2(T, _discount), T*); \
P99_INSTANTIATE(P99_PASTE2(T, _ref)*, P99_PASTE2(T, _ref_init), P99_PASTE2(T, _ref)*, T*); \
P99_INSTANTIATE(T*, P99_PASTE2(T, _ref_init_defarg_1), void); \
P99_INSTANTIATE(T*, P99_PASTE2(T, _ref_get), P99_PASTE2(T, _ref) volatile*); \
P99_INSTANTIATE(T*, P99_PASTE2(T, _ref_replace), P99_PASTE2(T, _ref) volatile*, T*); \
P99_INSTANTIATE(T*, P99_PASTE2(T, _ref_mv), P99_PASTE2(T, _ref) volatile*, \
P99_PASTE2(T, _ref) volatile*); \
P99_INSTANTIATE(T*, P99_PASTE2(T, _ref_assign), P99_PASTE2(T, _ref) volatile*, \
P99_PASTE2(T, _ref) volatile*); \
P99_INSTANTIATE(void, P99_PASTE2(T, _ref_destroy), P99_PASTE2(T, _ref)*)
P99_PASTE2
#define P99_PASTE2(_1, _2)
Paste two token sequences at their junction.
Definition: p99_paste.h:82
P99_INSTANTIATE
#define P99_INSTANTIATE(RT, NAME,...)
Instantiate an inline function.
Definition: p99_defarg.h:241