Macro's in c++ are evil, macros that cast all their inputs are doublely evil, the author of such should be made to suffer some vogon poetry.