| 20 | |
| 21 | template <class T> |
| 22 | void TSerializer<NYT::TIntrusivePtr<T>>::Load(IInputStream* input, NYT::TIntrusivePtr<T>& ptr) |
| 23 | { |
| 24 | bool hasValue; |
| 25 | ::Load(input, hasValue); |
| 26 | if (hasValue) { |
| 27 | auto tmp = NYT::New<T>(); |
| 28 | ::Load(input, *tmp); |
| 29 | ptr = std::move(tmp); |
| 30 | } else { |
| 31 | ptr.Reset(); |
| 32 | } |
| 33 | } |
| 34 | |
| 35 | //////////////////////////////////////////////////////////////////////////////// |