PIByteArray optimization - takeRange

This commit is contained in:
Бычков Андрей
2023-03-24 17:08:42 +03:00
parent d66f7efb3c
commit 2d1c86bc83

View File

@@ -56,6 +56,7 @@ public:
PIByteArray(const PIDeque<uchar> & o): d(o) {}
PIByteArray(PIByteArray && o): d(std::move(o.d)) {}
PIByteArray(PIDeque<uchar> && o): d(std::move(o)) {}
//! \~english Constructs 0-filled byte array with size "size"
//! \~russian Создает заполненный "0" байтовый массив размером "size"
@@ -637,7 +638,25 @@ public:
//! \~english Return sub-array starts from "index" and has "count" or less bytes
//! \~russian Возвращает подмассив с данными от индекса "index" и размером не более "count"
PIByteArray getRange(size_t index, size_t count) const { return d.getRange(index, count); }
PIByteArray getRange(size_t index, size_t count) const { return PIByteArray(d.getRange(index, count)); }
//! \~english Cut sub-array of this array.
//! \~russian Вырезает подмассив, то есть кусок из текущего массива.
//! \~english
//! \param index - index of this array where sub-array starts
//! \param count - sub-array size
//! \~russian
//! \param index - индекс в текущем массиве, откуда начинётся подмассив
//! \param count - размер подмассива
//! \~\details
//! \~english
//! Index must be in range from `0` to `size()-1`.
//! If sub-array size more than this array size, than ends early.
//! \~russian
//! Индекс начала должен лежать в диапазоне от `0` до `size()-1`.
//! Если заданный размер подмассива превышает размер текущего массива,
//! то вернется подмассив меньшего размера (`size()-index-1`).
inline PIByteArray takeRange(size_t index, size_t count) { return PIByteArray(d.takeRange(index, count)); }
//! \~english Reverses this array.
//! \~russian Обращает порядок следования элементов этого массива.