Firstly. Thank you very much team Boost, it looks like it will be very useful and solve many of my coding problems.

I can create an any
boost::any a1;

I can assign something to it
a1 = string1;

I can get it back out later
std::cout<<any_cast<std::string>(a1);

A boost any has a "type()" method.

However this produced an error.

std::cout<<any_cast<a1.type()>(a1);