#include "Variant_typeid.h" #include #include int main() { Variant v { 5 }; try { v.get(); assert(false); } catch (std::bad_cast& e) { assert(true); } assert( v.get() == 5 ); std::string str { "Hello World" }; v = str; assert( v.get() == str ); v.get().push_back('!'); assert( v.get() == "Hello World!" ); v = 0; assert( v.get() == 0 ); assert( v.get()++ == 0 ); assert( ++v.get() == 2 ); v = str; assert( v.get() == str ); }