| 156 | } |
| 157 | |
| 158 | bool test(T value) |
| 159 | { |
| 160 | if (singular) |
| 161 | { |
| 162 | fb_assert(tree.isEmpty()); |
| 163 | return (value == singular_value); |
| 164 | } |
| 165 | |
| 166 | const T val_aligned = value & ~(T) (BUNCH_BITS - 1); |
| 167 | if (tree.isPositioned(val_aligned) || tree.locate(val_aligned)) |
| 168 | { |
| 169 | const BUNCH_T bit_mask = BUNCH_ONE << (value - val_aligned); |
| 170 | return tree.current().bits & bit_mask; |
| 171 | } |
| 172 | return false; |
| 173 | } |
| 174 | |
| 175 | static bool test(SparseBitmap* bitmap, T value) |
| 176 | { |