aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortobo <tobo@yandex-team.com>2024-10-22 22:48:54 +0300
committertobo <tobo@yandex-team.com>2024-10-22 23:06:25 +0300
commita76b79c4e2cd66be012c9e74367aac5e4070b709 (patch)
tree40b178449181642bf2cc23a7322ea58e9341826c
parentb96dac434453917b81db6116596ff45e7748553a (diff)
downloadydb-a76b79c4e2cd66be012c9e74367aac5e4070b709.tar.gz
PopCount => std::popcount
commit_hash:b648a03fff23eec34a775607e9435d77a885a27a
-rw-r--r--library/cpp/containers/bitseq/bititerator.h8
-rw-r--r--library/cpp/containers/bitseq/bitvector.h5
-rw-r--r--library/cpp/containers/bitseq/ya.make1
3 files changed, 7 insertions, 7 deletions
diff --git a/library/cpp/containers/bitseq/bititerator.h b/library/cpp/containers/bitseq/bititerator.h
index efe7ba873b..cc18af572f 100644
--- a/library/cpp/containers/bitseq/bititerator.h
+++ b/library/cpp/containers/bitseq/bititerator.h
@@ -1,8 +1,8 @@
#pragma once
#include "traits.h"
+#include <bit>
-#include <library/cpp/pop_count/popcount.h>
template <typename T>
class TBitIterator {
@@ -49,7 +49,7 @@ public:
if (!Mask)
return *Data & TTraits::ElemMask(count);
- auto usedBits = (size_t)PopCount(Mask - 1);
+ auto usedBits = (size_t)std::popcount(Mask - 1u);
TWord result = Current >> usedBits;
auto leftInCurrent = TTraits::NumBits - usedBits;
if (count <= leftInCurrent)
@@ -72,7 +72,7 @@ public:
return Current & TTraits::ElemMask(count);
}
- auto usedBits = (size_t)PopCount(Mask - 1);
+ auto usedBits = (size_t)std::popcount(Mask - 1u);
TWord result = Current >> usedBits;
auto leftInCurrent = TTraits::NumBits - usedBits;
if (count < leftInCurrent) {
@@ -97,7 +97,7 @@ public:
if (!count)
return;
- int leftInCurrent = (size_t)PopCount(~(Mask - 1));
+ int leftInCurrent = std::popcount(static_cast<TWord>(~(Mask - 1u)));
if (count < leftInCurrent) {
Mask <<= count;
return;
diff --git a/library/cpp/containers/bitseq/bitvector.h b/library/cpp/containers/bitseq/bitvector.h
index 3f8fd81ee5..c1d1e13cd7 100644
--- a/library/cpp/containers/bitseq/bitvector.h
+++ b/library/cpp/containers/bitseq/bitvector.h
@@ -2,11 +2,12 @@
#include "traits.h"
-#include <library/cpp/pop_count/popcount.h>
#include <util/generic/vector.h>
#include <util/ysaveload.h>
+#include <bit>
+
template <typename T>
class TReadonlyBitVector;
@@ -113,7 +114,7 @@ public:
size_t Count() const {
size_t count = 0;
for (size_t i = 0; i < Data_.size(); ++i) {
- count += (size_t)PopCount(Data_[i]);
+ count += (size_t)std::popcount(Data_[i]);
}
return count;
}
diff --git a/library/cpp/containers/bitseq/ya.make b/library/cpp/containers/bitseq/ya.make
index a59c3e765e..49249f366f 100644
--- a/library/cpp/containers/bitseq/ya.make
+++ b/library/cpp/containers/bitseq/ya.make
@@ -2,7 +2,6 @@ LIBRARY()
PEERDIR(
util/draft
- library/cpp/pop_count
)
SRCS(