Yes, boost::variant knows the value type that it currently stores. It allows visitation and calls the correct overloaded operator(). boost::any uses a fundamental different technique and can't tell you what it currently stores.
Johannes Schaub - litb
2010-09-11 23:01:25