| 104 | |
| 105 | template <typename Fn> |
| 106 | void ForEach(Fn && f) const |
| 107 | { |
| 108 | base::ControlFlowWrapper<Fn> wrapper(std::forward<Fn>(f)); |
| 109 | for (size_t i = 0; i < m_bitGroups.size(); ++i) |
| 110 | { |
| 111 | for (size_t j = 0; j < kBlockSize; ++j) |
| 112 | { |
| 113 | if (((m_bitGroups[i] >> j) & 1) > 0) |
| 114 | { |
| 115 | if (wrapper(kBlockSize * i + j) == base::ControlFlow::Break) |
| 116 | return; |
| 117 | } |
| 118 | } |
| 119 | } |
| 120 | } |
| 121 | |
| 122 | // Returns 0 if the group number is too large to be contained in m_bits. |
| 123 | uint64_t GetBitGroup(size_t i) const; |
no test coverage detected