Macro style templating
#include <stdio.h>
#define CONCAT_(a,b) a##b
#define CONCAT(a,b) CONCAT_(a,b)
#define TO_STRING_(a) #a
#define TO_STRING(a) TO_STRING_(a)
#define VAR_FILE "implementation_file.cpp" // file to be included by all number types
#include "number_types.cpp" // number types
#undef VAR_FILE
int main()
{
test(32);
test(32.0f);
test(32.0);
return 0;
}INFO