// main.cpp
#include <iostream>
#include <typehelper.h>
using namespace std;
int main( int argc, char* argv[] )
{
TypeHelper< ... >::Class::PrintTypeName();
cout << endl;
return 0;
}
TypeHelper< int*** >
pointer to pointer to pointer to signed integer (32)
TypeHelper< const bool**const*& >
reference to pointer to constant pointer to pointer to constant boolean
TypeHelper< long double >
floating point (96)
TypeHelper< unsigned long long& >
reference to unsigned integer (64) Again, if you can achieve this, I'll give you all the money in my wallet. EDIT: Bonus pencil if it works with functions (with a limited number of parameters of course. TypeHelper< void(*)(int,int) >
function pointer returning void ( signed integer (32), signed integer (32) ) [Edited by - Daggerbot on March 18, 2009 7:55:23 PM]