|
|
@ -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++) {
|
|
|
|