| 25 | // Helper for repeated field devolving to `T1` from `T2`. |
| 26 | template <typename T1, typename T2> |
| 27 | RepeatedPtrField<T1> devolve(RepeatedPtrField<T2> from) |
| 28 | { |
| 29 | RepeatedPtrField<T1> to; |
| 30 | foreach (const T2& value, from) { |
| 31 | *to.Add() = devolve(value); |
| 32 | } |
| 33 | |
| 34 | return to; |
| 35 | } |
| 36 | |
| 37 | |
| 38 | CSIVolume::VolumeCapability::BlockVolume devolve( |