| 51 | } |
| 52 | |
| 53 | ui64 DeviceMemoryOffset(ui64 dev, const TSlice& slice) const { |
| 54 | const TSlice deviceSlice = static_cast<const TImpl*>(this)->DeviceSlice(dev); |
| 55 | CB_ENSURE(TSlice::Intersection(slice, deviceSlice) == slice); |
| 56 | const ui64 devSize = slice.Size() != 0u ? (slice.Left - deviceSlice.Left) : 0; |
| 57 | if (devSize != 0u) { |
| 58 | CB_ENSURE(slice.Left >= deviceSlice.Left, slice << " " << deviceSlice); |
| 59 | } |
| 60 | return devSize * SingleObjectSize(); |
| 61 | } |
| 62 | |
| 63 | TDevicesList NonEmptyDevices() const { |
| 64 | TDevicesListBuilder builder; |
no test coverage detected