Merges the valid vector of another SelectivityVector by or'ing them together. This is used to support memoization where a state may acquire new values over time. Grows 'this' if size of 'other' exceeds this size.
| 269 | /// may acquire new values over time. Grows 'this' if size of 'other' exceeds |
| 270 | /// this size. |
| 271 | void select(const SelectivityVector& other) { |
| 272 | if (size_ < other.size()) { |
| 273 | resize(other.size(), false); |
| 274 | } |
| 275 | bits::orBits( |
| 276 | bits_.data(), other.bits_.data(), 0, std::min(size_, other.size())); |
| 277 | updateBounds(); |
| 278 | } |
| 279 | |
| 280 | // Returns true if 'this' is equal to or a subset of 'other'. |
| 281 | bool isSubset(const SelectivityVector& other) const { |