#include <boost/variant.hpp>
#include <iostream>
int main() {
boost::variant<int32_t, uint32_t> var;
// Case 1: variant holds an int32_t
var = static_cast<int32_t>(-10);
try {
uint32_t val1 = boost::get<uint32_t>(var);
std::cout << "Value 1: " << val1 << std::endl; // Output: Value 1: 4294967286
} catch(std::exception& ex)
{
std::cout << ex.what() << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGJvb3N0L3ZhcmlhbnQuaHBwPgojaW5jbHVkZSA8aW9zdHJlYW0+CgppbnQgbWFpbigpIHsKICAgIGJvb3N0Ojp2YXJpYW50PGludDMyX3QsIHVpbnQzMl90PiB2YXI7CiAgICAKICAgIC8vIENhc2UgMTogdmFyaWFudCBob2xkcyBhbiBpbnQzMl90CiAgICB2YXIgPSBzdGF0aWNfY2FzdDxpbnQzMl90PigtMTApOwogICAgdHJ5IHsKICAgIHVpbnQzMl90IHZhbDEgPSBib29zdDo6Z2V0PHVpbnQzMl90Pih2YXIpOwogICAgc3RkOjpjb3V0IDw8ICJWYWx1ZSAxOiAiIDw8IHZhbDEgPDwgc3RkOjplbmRsOyAvLyBPdXRwdXQ6IFZhbHVlIDE6IDQyOTQ5NjcyODYKfSBjYXRjaChzdGQ6OmV4Y2VwdGlvbiYgZXgpCnsKCXN0ZDo6Y291dCA8PCBleC53aGF0KCkgPDwgc3RkOjplbmRsOwp9CiAgICByZXR1cm4gMDsKfQ==