/** * util.h: Various utility functions. * * Copyright © 2007 Pippijn van Steenhoven / The Ermyth Team * Rights to this code are as documented in COPYING. * * $Id: preprocessor.h,v 1.1 2007/09/22 14:27:26 pippijn Exp $ */ #ifndef PREPROCESSOR_H #define PREPROCESSOR_H // Allow pasting things, even if one of the arguments is a macro itself #define PASTE(A, B) DOPASTE (A, B) #define DOPASTE(A, B) DODOPASTE (A, B) #define DODOPASTE(A, B) A ## B #define PASTE2(A, B) PASTE (A, B) #define PASTE3(A, B, C) PASTE (PASTE (A, B), C) #define PASTE4(A, B, C, D) PASTE (PASTE3 (A, B, C), D) #define PASTE5(A, B, C, D, E) PASTE (PASTE4 (A, B, C, D), E) #define PASTE6(A, B, C, D, E, F) PASTE (PASTE5 (A, B, C, D, E), F) #endif