From af3dd99eff4eeee5231a9e77f876126ef67ae664 Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Mon, 20 Jun 2016 22:49:05 +0200 Subject: Add flag_set::count() method to count set bits --- src/flag_set.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/flag_set.hpp b/src/flag_set.hpp index b4bdc92f..aa90a217 100644 --- a/src/flag_set.hpp +++ b/src/flag_set.hpp @@ -67,6 +67,19 @@ public: return true; } + constexpr std::size_t count() const + { + std::size_t n = 0; + for (std::size_t i = 0; i < nbits; i++) + { + if (bit(i)) + { + n += 1; + } + } + return n; + } + uint32_t &operator[](std::size_t i) { assert(i < tiers); -- cgit v1.2.3