aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/protobuf/util/repeated_field_utils.h
diff options
context:
space:
mode:
authormowgli <mowgli@yandex-team.ru>2022-02-10 16:49:25 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:25 +0300
commit56c39b3cf908e7202b1f7551a1653681e8015607 (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/protobuf/util/repeated_field_utils.h
parent89afbbe4ca0e02e386dd4df08f7945f190dc1b84 (diff)
downloadydb-56c39b3cf908e7202b1f7551a1653681e8015607.tar.gz
Restoring authorship annotation for <mowgli@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/protobuf/util/repeated_field_utils.h')
-rw-r--r--library/cpp/protobuf/util/repeated_field_utils.h28
1 files changed, 14 insertions, 14 deletions
diff --git a/library/cpp/protobuf/util/repeated_field_utils.h b/library/cpp/protobuf/util/repeated_field_utils.h
index 8971b8f3d2..c07bd84647 100644
--- a/library/cpp/protobuf/util/repeated_field_utils.h
+++ b/library/cpp/protobuf/util/repeated_field_utils.h
@@ -1,7 +1,7 @@
#pragma once
#include <google/protobuf/repeated_field.h>
-#include <util/generic/vector.h>
+#include <util/generic/vector.h>
template <typename T>
void RemoveRepeatedPtrFieldElement(google::protobuf::RepeatedPtrField<T>* repeated, unsigned index) {
@@ -15,8 +15,8 @@ void RemoveRepeatedPtrFieldElement(google::protobuf::RepeatedPtrField<T>* repeat
}
r.Swap(repeated);
}
-
-namespace NProtoBuf {
+
+namespace NProtoBuf {
/// Move item to specified position
template <typename TRepeated>
static void MoveRepeatedFieldItem(TRepeated* field, size_t indexFrom, size_t indexTo) {
@@ -32,7 +32,7 @@ namespace NProtoBuf {
field->SwapElements(i, i + 1);
}
}
-
+
template <typename T>
static T* InsertRepeatedFieldItem(NProtoBuf::RepeatedPtrField<T>* field, size_t index) {
T* ret = field->Add();
@@ -44,13 +44,13 @@ namespace NProtoBuf {
static void RemoveRepeatedFieldItem(TRepeated* field, size_t index) {
if ((int)index >= field->size())
return;
-
+
for (int i = index + 1; i < field->size(); ++i)
field->SwapElements(i - 1, i);
-
+
field->RemoveLast();
}
-
+
template <typename TRepeated, typename TPred> // suitable both for RepeatedField and RepeatedPtrField
static void RemoveRepeatedFieldItemIf(TRepeated* repeated, TPred p) {
auto last = std::remove_if(repeated->begin(), repeated->end(), p);
@@ -60,7 +60,7 @@ namespace NProtoBuf {
repeated->RemoveLast();
}
}
-
+
namespace NImpl {
template <typename TRepeated>
static void ShiftLeft(TRepeated* field, int begIndex, int endIndex, size_t shiftSize) {
@@ -73,24 +73,24 @@ namespace NProtoBuf {
}
// Remove several items at once, could be more efficient compared to calling RemoveRepeatedFieldItem several times
- template <typename TRepeated>
+ template <typename TRepeated>
static void RemoveRepeatedFieldItems(TRepeated* field, const TVector<size_t>& sortedIndices) {
if (sortedIndices.empty())
return;
-
+
size_t shift = 1;
for (size_t i = 1; i < sortedIndices.size(); ++i, ++shift)
NImpl::ShiftLeft(field, sortedIndices[i - 1] + 1, sortedIndices[i], shift);
NImpl::ShiftLeft(field, sortedIndices.back() + 1, field->size(), shift);
-
+
for (; shift > 0; --shift)
field->RemoveLast();
}
-
+
template <typename TRepeated>
static void ReverseRepeatedFieldItems(TRepeated* field) {
for (int i1 = 0, i2 = field->size() - 1; i1 < i2; ++i1, --i2)
field->SwapElements(i1, i2);
}
-
-}
+
+}