35 #ifndef OPENCV_FLANN_DYNAMIC_BITSET_H_
36 #define OPENCV_FLANN_DYNAMIC_BITSET_H_
38 #ifndef FLANN_USE_BOOST
39 # define FLANN_USE_BOOST 0
43 #include <boost/dynamic_bitset.hpp>
79 std::fill(bitset_.begin(), bitset_.end(), 0);
87 return bitset_.empty();
94 std::fill(bitset_.begin(), bitset_.end(), 0);
102 bitset_[index / cell_bit_size_] &= ~(size_t(1) << (index % cell_bit_size_));
113 bitset_[index / cell_bit_size_] = 0;
122 bitset_.resize(sz / cell_bit_size_ + 1);
130 bitset_[index / cell_bit_size_] |= size_t(1) << (index % cell_bit_size_);
146 return (bitset_[index / cell_bit_size_] & (
size_t(1) << (index % cell_bit_size_))) != 0;
150 std::vector<size_t> bitset_;
152 static const unsigned int cell_bit_size_ = CHAR_BIT *
sizeof(size_t);
159 #endif // OPENCV_FLANN_DYNAMIC_BITSET_H_
size_t size() const
Definition: dynamic_bitset.h:135
GLuint index
Definition: core_c.h:986
void set(size_t index)
Definition: dynamic_bitset.h:128
boost::dynamic_bitset DynamicBitset
Definition: dynamic_bitset.h:44
void clear()
Definition: dynamic_bitset.h:77
bool empty() const
checks if the bitset is empty
Definition: dynamic_bitset.h:85
void resize(size_t sz)
Definition: dynamic_bitset.h:119
void reset_block(size_t index)
sets a specific bit to 0, and more bits too This function is useful when resetting a given set of bit...
Definition: dynamic_bitset.h:111
DynamicBitset(size_t sz)
Definition: dynamic_bitset.h:69
DynamicBitset()
Definition: dynamic_bitset.h:62
Definition: dynamic_bitset.h:57
void reset(size_t index)
set one bit to 0
Definition: dynamic_bitset.h:100
bool test(size_t index) const
Definition: dynamic_bitset.h:144
void reset()
Definition: dynamic_bitset.h:92