The C / C ++ preprocessor will replace the template for everything that is written on the same line. In your case, it looks as if the two tokens after this template themselves are macros, so they will also be expanded.
Example:
#define F(x, y) xf(y yParam); #define G(x, y) yg(x xParam); #define FG(x, y) F(x, y) G(x, y); FG(int, double)
In your case, I assume that the two define X_FROM _... and X_TO _... create some functions or classes that are handlers for transferring X from or to some bus, respectively. The XHANDLER macro will create handlers for both directions.
source share