| 408 | |
| 409 | template <typename BaseMap> |
| 410 | void NetElementMapWrapper<BaseMap>::writeChange(DataStream& ds, ElementChange const& change) { |
| 411 | if (auto sc = change.template ptr<SetChange>()) { |
| 412 | ds.write<uint8_t>(0); |
| 413 | ds.write(sc->key); |
| 414 | ds.write(sc->value); |
| 415 | } else if (auto rc = change.template ptr<RemoveChange>()) { |
| 416 | ds.write<uint8_t>(1); |
| 417 | ds.write(rc->key); |
| 418 | } else { |
| 419 | ds.write<uint8_t>(2); |
| 420 | } |
| 421 | } |
| 422 | |
| 423 | template <typename BaseMap> |
| 424 | auto NetElementMapWrapper<BaseMap>::readChange(DataStream& ds) -> ElementChange { |