|
|
@ -53,11 +53,11 @@ public: |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
uint16_t offset = 0; |
|
|
|
uint16_t offset = 0; |
|
|
|
for (size_t i = 0; i < indexes.size(); i++) { |
|
|
|
for (size_t j = 0; j < indexes.size(); j++) { |
|
|
|
if (uint64_t(indexes[i]) + uint64_t(offset) > std::numeric_limits<uint16_t>::max()) |
|
|
|
if (uint64_t(indexes[j]) + uint64_t(offset) > std::numeric_limits<uint16_t>::max()) |
|
|
|
throw std::ios_base::failure("indexes overflowed 16 bits"); |
|
|
|
throw std::ios_base::failure("indexes overflowed 16 bits"); |
|
|
|
indexes[i] = indexes[i] + offset; |
|
|
|
indexes[j] = indexes[j] + offset; |
|
|
|
offset = indexes[i] + 1; |
|
|
|
offset = indexes[j] + 1; |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
for (size_t i = 0; i < indexes.size(); i++) { |
|
|
|
for (size_t i = 0; i < indexes.size(); i++) { |
|
|
|