| 345 | } |
| 346 | |
| 347 | void Swap(ValueInterface* memory) override { |
| 348 | CHECK(TypeId() == memory->TypeId()) |
| 349 | << TypeId().name() << " vs. " << memory->TypeId().name(); |
| 350 | std::swap(value, static_cast<Value*>(memory)->value); |
| 351 | } |
| 352 | |
| 353 | string TypeName() const override { return TypeNameVariant(value); } |
| 354 |