| 136 | } |
| 137 | |
| 138 | void TSerializer<TEventArgs::TArg>::Save(IOutputStream* out, const TEventArgs::TArg& v) { |
| 139 | // TODO: saveload for std::variant (?) |
| 140 | |
| 141 | ::SaveStr(out, v.Name); |
| 142 | |
| 143 | i8 tag = v.Value.index(); |
| 144 | ::Save(out, tag); |
| 145 | std::visit(TSaveVisitor{out}, v.Value); |
| 146 | } |
| 147 | |
| 148 | void TSerializer<TEventArgs::TArg>::Load(IInputStream* in, TEventArgs::TArg& v, TMemoryPool& pool) { |
| 149 | ::LoadStr(in, v.Name, pool); |