diff options
author | victor-k <victor-k@yandex-team.ru> | 2022-02-10 16:50:38 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:50:38 +0300 |
commit | 17cbaf6d2b820cd304e92faa6ac2e6426605cae8 (patch) | |
tree | 5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/containers/comptrie/comptrie_builder.inl | |
parent | f632afcab870d2327aaa8388ceeb7aeb2bb6a1c1 (diff) | |
download | ydb-17cbaf6d2b820cd304e92faa6ac2e6426605cae8.tar.gz |
Restoring authorship annotation for <victor-k@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/containers/comptrie/comptrie_builder.inl')
-rw-r--r-- | library/cpp/containers/comptrie/comptrie_builder.inl | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/library/cpp/containers/comptrie/comptrie_builder.inl b/library/cpp/containers/comptrie/comptrie_builder.inl index dd3bf83025..f273fa6571 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) { |