using namespace cdiggins; any a = 3.141; double d = a.cast<double>(); try { int n = a.cast<int>(); } catch(bad_any_cast a) { cerr << "an exception occured trying to cast from " << a.from.name() << a.to.name() << endl; }