aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/containers
diff options
context:
space:
mode:
authorvictor-k <victor-k@yandex-team.ru>2022-02-10 16:50:38 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:50:38 +0300
commit17cbaf6d2b820cd304e92faa6ac2e6426605cae8 (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/containers
parentf632afcab870d2327aaa8388ceeb7aeb2bb6a1c1 (diff)
downloadydb-17cbaf6d2b820cd304e92faa6ac2e6426605cae8.tar.gz
Restoring authorship annotation for <victor-k@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/containers')
-rw-r--r--library/cpp/containers/comptrie/comptrie_builder.h14
-rw-r--r--library/cpp/containers/comptrie/comptrie_builder.inl46
-rw-r--r--library/cpp/containers/comptrie/comptrie_ut.cpp100
3 files changed, 80 insertions, 80 deletions
diff --git a/library/cpp/containers/comptrie/comptrie_builder.h b/library/cpp/containers/comptrie/comptrie_builder.h
index 3a03ea08c44..cf7d2e39a34 100644
--- a/library/cpp/containers/comptrie/comptrie_builder.h
+++ b/library/cpp/containers/comptrie/comptrie_builder.h
@@ -34,9 +34,9 @@ inline TCompactTrieBuilderFlags& operator|=(TCompactTrieBuilderFlags& first, TCo
return first = first | second;
}
-template <typename T>
-class TArrayWithSizeHolder;
-
+template <typename T>
+class TArrayWithSizeHolder;
+
template <class T = char, class D = ui64, class S = TCompactTriePacker<D>>
class TCompactTrieBuilder {
public:
@@ -66,11 +66,11 @@ public:
return AddSubtreeInFile(key.data(), key.size(), filename);
}
- bool AddSubtreeInBuffer(const TSymbol* key, size_t keylen, TArrayWithSizeHolder<char>&& buffer);
- bool AddSubtreeInBuffer(const TKeyBuf& key, TArrayWithSizeHolder<char>&& buffer) {
+ bool AddSubtreeInBuffer(const TSymbol* key, size_t keylen, TArrayWithSizeHolder<char>&& buffer);
+ bool AddSubtreeInBuffer(const TKeyBuf& key, TArrayWithSizeHolder<char>&& buffer) {
return AddSubtreeInBuffer(key.data(), key.size(), std::move(buffer));
- }
-
+ }
+
bool Find(const TSymbol* key, size_t keylen, TData* value) const;
bool Find(const TKeyBuf& key, TData* value = nullptr) const {
return Find(key.data(), key.size(), value);
diff --git a/library/cpp/containers/comptrie/comptrie_builder.inl b/library/cpp/containers/comptrie/comptrie_builder.inl
index dd3bf83025b..f273fa65710 100644
--- a/library/cpp/containers/comptrie/comptrie_builder.inl
+++ b/library/cpp/containers/comptrie/comptrie_builder.inl
@@ -79,7 +79,7 @@ public:
bool AddEntry(const TSymbol* key, size_t keylen, const TData& value);
bool AddEntryPtr(const TSymbol* key, size_t keylen, const char* value);
bool AddSubtreeInFile(const TSymbol* key, size_t keylen, const TString& fileName);
- bool AddSubtreeInBuffer(const TSymbol* key, size_t keylen, TArrayWithSizeHolder<char>&& buffer);
+ bool AddSubtreeInBuffer(const TSymbol* key, size_t keylen, TArrayWithSizeHolder<char>&& buffer);
bool FindEntry(const TSymbol* key, size_t keylen, TData* value) const;
bool FindLongestPrefix(const TSymbol* key, size_t keylen, size_t* prefixlen, TData* value) const;
@@ -441,11 +441,11 @@ bool TCompactTrieBuilder<T, D, S>::AddSubtreeInFile(const TSymbol* key, size_t k
}
template <class T, class D, class S>
-bool TCompactTrieBuilder<T, D, S>::AddSubtreeInBuffer(const TSymbol* key, size_t keylen, TArrayWithSizeHolder<char>&& buffer) {
- return Impl->AddSubtreeInBuffer(key, keylen, std::move(buffer));
-}
-
-template <class T, class D, class S>
+bool TCompactTrieBuilder<T, D, S>::AddSubtreeInBuffer(const TSymbol* key, size_t keylen, TArrayWithSizeHolder<char>&& buffer) {
+ return Impl->AddSubtreeInBuffer(key, keylen, std::move(buffer));
+}
+
+template <class T, class D, class S>
bool TCompactTrieBuilder<T, D, S>::Find(const TSymbol* key, size_t keylen, TData* value) const {
return Impl->FindEntry(key, keylen, value);
}
@@ -580,23 +580,23 @@ bool TCompactTrieBuilder<T, D, S>::TCompactTrieBuilderImpl::AddSubtreeInFile(
}
template <class T, class D, class S>
-bool TCompactTrieBuilder<T, D, S>::TCompactTrieBuilderImpl::AddSubtreeInBuffer(
- const TSymbol* key, size_t keylen, TArrayWithSizeHolder<char>&& buffer) {
-
- typedef typename TNode::TBufferedSubtree TBufferedSubtree;
-
- bool isNewAddition = false;
- TNode* node = AddEntryForSomething(key, keylen, isNewAddition);
- node->Subtree()->Destroy(this);
- node->Subtree()->~ISubtree();
-
- auto subtree = new (node->Subtree()) TBufferedSubtree();
- subtree->Buffer.Swap(buffer);
-
- return isNewAddition;
-}
-
-template <class T, class D, class S>
+bool TCompactTrieBuilder<T, D, S>::TCompactTrieBuilderImpl::AddSubtreeInBuffer(
+ const TSymbol* key, size_t keylen, TArrayWithSizeHolder<char>&& buffer) {
+
+ typedef typename TNode::TBufferedSubtree TBufferedSubtree;
+
+ bool isNewAddition = false;
+ TNode* node = AddEntryForSomething(key, keylen, isNewAddition);
+ node->Subtree()->Destroy(this);
+ node->Subtree()->~ISubtree();
+
+ auto subtree = new (node->Subtree()) TBufferedSubtree();
+ subtree->Buffer.Swap(buffer);
+
+ return isNewAddition;
+}
+
+template <class T, class D, class S>
typename TCompactTrieBuilder<T, D, S>::TCompactTrieBuilderImpl::TNode*
TCompactTrieBuilder<T, D, S>::TCompactTrieBuilderImpl::AddEntryForSomething(
const TSymbol* key, size_t keylen, bool& isNewAddition) {
diff --git a/library/cpp/containers/comptrie/comptrie_ut.cpp b/library/cpp/containers/comptrie/comptrie_ut.cpp
index f159d91f5e0..74bee09b5d6 100644
--- a/library/cpp/containers/comptrie/comptrie_ut.cpp
+++ b/library/cpp/containers/comptrie/comptrie_ut.cpp
@@ -65,8 +65,8 @@ private:
UNIT_TEST(TestFindTails);
UNIT_TEST(TestPrefixGrouped);
UNIT_TEST(CrashTestPrefixGrouped);
- UNIT_TEST(TestMergeFromFile);
- UNIT_TEST(TestMergeFromBuffer);
+ UNIT_TEST(TestMergeFromFile);
+ UNIT_TEST(TestMergeFromBuffer);
UNIT_TEST(TestUnique);
UNIT_TEST(TestAddRetValue);
UNIT_TEST(TestClear);
@@ -202,8 +202,8 @@ public:
void TestFindTails();
void TestPrefixGrouped();
void CrashTestPrefixGrouped();
- void TestMergeFromFile();
- void TestMergeFromBuffer();
+ void TestMergeFromFile();
+ void TestMergeFromBuffer();
void TestUnique();
void TestAddRetValue();
void TestClear();
@@ -841,7 +841,7 @@ void TCompactTrieTest::CrashTestPrefixGrouped() {
UNIT_ASSERT_C(wasException, "CrashTestPrefixGrouped");
}
-void TCompactTrieTest::TestMergeFromFile() {
+void TCompactTrieTest::TestMergeFromFile() {
{
TCompactTrieBuilder<> b;
b.Add("yandex", 12);
@@ -883,52 +883,52 @@ void TCompactTrieTest::TestMergeFromFile() {
unlink((GetSystemTempDir() + "/TCompactTrieTest-TestMerge-ru").data());
}
-void TCompactTrieTest::TestMergeFromBuffer() {
- TArrayWithSizeHolder<char> buffer1;
- {
- TCompactTrieBuilder<> b;
- b.Add("aaaaa", 1);
- b.Add("bbbbb", 2);
- b.Add("ccccc", 3);
- buffer1.Resize(b.MeasureByteSize());
- TMemoryOutput out(buffer1.Get(), buffer1.Size());
- b.Save(out);
- }
-
- TArrayWithSizeHolder<char> buffer2;
- {
- TCompactTrieBuilder<> b;
- b.Add("aaaaa", 10);
- b.Add("bbbbb", 20);
- b.Add("ccccc", 30);
- b.Add("xxxxx", 40);
- b.Add("yyyyy", 50);
- buffer2.Resize(b.MeasureByteSize());
- TMemoryOutput out(buffer2.Get(), buffer2.Size());
- b.Save(out);
- }
-
- {
- TCompactTrieBuilder<> b;
- UNIT_ASSERT(b.AddSubtreeInBuffer("com.", std::move(buffer1)));
- UNIT_ASSERT(b.Add("org.upyachka", 42));
- UNIT_ASSERT(b.AddSubtreeInBuffer("ru.", std::move(buffer2)));
- TUnbufferedFileOutput out(GetSystemTempDir() + "/TCompactTrieTest-TestMergeFromBuffer-res");
- b.Save(out);
- }
-
- TCompactTrie<> trie(TBlob::FromFileSingleThreaded(GetSystemTempDir() + "/TCompactTrieTest-TestMergeFromBuffer-res"));
- UNIT_ASSERT_VALUES_EQUAL(10u, trie.Get("ru.aaaaa"));
- UNIT_ASSERT_VALUES_EQUAL(20u, trie.Get("ru.bbbbb"));
- UNIT_ASSERT_VALUES_EQUAL(40u, trie.Get("ru.xxxxx"));
- UNIT_ASSERT_VALUES_EQUAL(42u, trie.Get("org.upyachka"));
- UNIT_ASSERT_VALUES_EQUAL(1u, trie.Get("com.aaaaa"));
- UNIT_ASSERT_VALUES_EQUAL(2u, trie.Get("com.bbbbb"));
- UNIT_ASSERT_VALUES_EQUAL(3u, trie.Get("com.ccccc"));
-
+void TCompactTrieTest::TestMergeFromBuffer() {
+ TArrayWithSizeHolder<char> buffer1;
+ {
+ TCompactTrieBuilder<> b;
+ b.Add("aaaaa", 1);
+ b.Add("bbbbb", 2);
+ b.Add("ccccc", 3);
+ buffer1.Resize(b.MeasureByteSize());
+ TMemoryOutput out(buffer1.Get(), buffer1.Size());
+ b.Save(out);
+ }
+
+ TArrayWithSizeHolder<char> buffer2;
+ {
+ TCompactTrieBuilder<> b;
+ b.Add("aaaaa", 10);
+ b.Add("bbbbb", 20);
+ b.Add("ccccc", 30);
+ b.Add("xxxxx", 40);
+ b.Add("yyyyy", 50);
+ buffer2.Resize(b.MeasureByteSize());
+ TMemoryOutput out(buffer2.Get(), buffer2.Size());
+ b.Save(out);
+ }
+
+ {
+ TCompactTrieBuilder<> b;
+ UNIT_ASSERT(b.AddSubtreeInBuffer("com.", std::move(buffer1)));
+ UNIT_ASSERT(b.Add("org.upyachka", 42));
+ UNIT_ASSERT(b.AddSubtreeInBuffer("ru.", std::move(buffer2)));
+ TUnbufferedFileOutput out(GetSystemTempDir() + "/TCompactTrieTest-TestMergeFromBuffer-res");
+ b.Save(out);
+ }
+
+ TCompactTrie<> trie(TBlob::FromFileSingleThreaded(GetSystemTempDir() + "/TCompactTrieTest-TestMergeFromBuffer-res"));
+ UNIT_ASSERT_VALUES_EQUAL(10u, trie.Get("ru.aaaaa"));
+ UNIT_ASSERT_VALUES_EQUAL(20u, trie.Get("ru.bbbbb"));
+ UNIT_ASSERT_VALUES_EQUAL(40u, trie.Get("ru.xxxxx"));
+ UNIT_ASSERT_VALUES_EQUAL(42u, trie.Get("org.upyachka"));
+ UNIT_ASSERT_VALUES_EQUAL(1u, trie.Get("com.aaaaa"));
+ UNIT_ASSERT_VALUES_EQUAL(2u, trie.Get("com.bbbbb"));
+ UNIT_ASSERT_VALUES_EQUAL(3u, trie.Get("com.ccccc"));
+
unlink((GetSystemTempDir() + "/TCompactTrieTest-TestMergeFromBuffer-res").data());
-}
-
+}
+
void TCompactTrieTest::TestUnique() {
TestUniqueImpl(false);
TestUniqueImpl(true);