from boost_variant import V1, V2, VariantHolder, make_variant variant = make_variant() assert isinstance(variant, V1) v1 = V1() v1.v = 10 v2 = V2() v2.v = "c" variant_holder = VariantHolder() variant_holder.variant = v1 assert isinstance(variant_holder.variant, V1) assert variant_holder.variant == v1.v variant_holder.variant = 100 assert variant_holder.variant == 100 assert v1 == 100 v1 = 1000 assert variant_holder.variant == 1000 assert v1 == 1000 variant_holder.variant = v2 assert isinstance(variant_holder.variant, V1) assert variant_holder.variant == v2.v