#include <bm.h>
Collaboration diagram for bm::bvector< Alloc, MS >:

Definition at line 116 of file bm.h.
Public Types | |
| typedef Alloc | allocator_type |
| typedef blocks_manager< Alloc, MS > | blocks_manager_type |
| typedef bm::id_t | size_type |
| Type used to count bits in the bit vector. | |
| typedef bool | const_reference |
| enum | optmode { opt_free_0 = 1, opt_free_01 = 2, opt_compress = 3 } |
| Optimization mode Every next level means additional checks (better compression vs time). More... | |
Public Member Functions | |
| bvector (strategy strat=BM_BIT, const gap_word_t *glevel_len=bm::gap_len_table< true >::_len, size_type bv_size=bm::id_max, const Alloc &alloc=Alloc()) | |
| Constructs bvector class. | |
| bvector (size_type bv_size, strategy strat=BM_BIT, const gap_word_t *glevel_len=bm::gap_len_table< true >::_len, const Alloc &alloc=Alloc()) | |
| Constructs bvector class. | |
| bvector (const bvector< Alloc, MS > &bvect) | |
| bvector & | operator= (const bvector< Alloc, MS > &bvect) |
| reference | operator[] (bm::id_t n) |
| bool | operator[] (bm::id_t n) const |
| void | operator &= (const bvector< Alloc, MS > &bvect) |
| void | operator^= (const bvector< Alloc, MS > &bvect) |
| void | operator|= (const bvector< Alloc, MS > &bvect) |
| void | operator-= (const bvector< Alloc, MS > &bvect) |
| bool | operator< (const bvector< Alloc, MS > &bvect) const |
| bool | operator<= (const bvector< Alloc, MS > &bvect) const |
| bool | operator> (const bvector< Alloc, MS > &bvect) const |
| bool | operator>= (const bvector< Alloc, MS > &bvect) const |
| bool | operator== (const bvector< Alloc, MS > &bvect) const |
| bool | operator!= (const bvector< Alloc, MS > &bvect) const |
| bvector< Alloc, MS > | operator~ () const |
| Alloc | get_allocator () const |
| bool | set_bit (bm::id_t n, bool val=true) |
| Sets bit n. | |
| bool | set_bit_and (bm::id_t n, bool val=true) |
| Sets bit n using bit AND with the provided value. | |
| bool | set_bit_conditional (bm::id_t n, bool val, bool condition) |
| Sets bit n only if current value is equal to the condition. | |
| bvector< Alloc, MS > & | set (bm::id_t n, bool val=true) |
| Sets bit n if val is true, clears bit n if val is false. | |
| bvector< Alloc, MS > & | set () |
| Sets every bit in this bitset to 1. | |
| bvector< Alloc, MS > & | set_range (bm::id_t left, bm::id_t right, bool value=true) |
| Sets all bits in the specified closed interval [left,right] Interval must be inside the bvector's size. This method DOES NOT resize vector. | |
| insert_iterator | inserter () |
| void | clear_bit (bm::id_t n) |
| Clears bit n. | |
| void | clear (bool free_mem=false) |
| Clears every bit in the bitvector. | |
| bvector< Alloc, MS > & | reset () |
| Clears every bit in the bitvector. | |
| bm::id_t | count () const |
| Returns count of bits which are 1. | |
| size_type | capacity () const |
| Returns bvector's capacity (number of bits it can store). | |
| size_type | size () const |
| return current size of the vector (bits) | |
| void | resize (size_type new_size) |
| Change size of the bvector. | |
| unsigned | count_blocks (unsigned *arr) const |
| Computes bitcount values for all bvector blocks. | |
| bm::id_t | count_range (bm::id_t left, bm::id_t right, unsigned *block_count_arr=0) const |
| Returns count of 1 bits in the given diapason. | |
| bm::id_t | recalc_count () |
| void | forget_count () |
| bvector< Alloc, MS > & | invert () |
| Inverts all bits. | |
| bool | get_bit (bm::id_t n) const |
| returns true if bit n is set and false is bit n is 0. | |
| bool | test (bm::id_t n) const |
| returns true if bit n is set and false is bit n is 0. | |
| bool | any () const |
| Returns true if any bits in this bitset are set, and otherwise returns false. | |
| bool | none () const |
| Returns true if no bits are set, otherwise returns false. | |
| bvector< Alloc, MS > & | flip (bm::id_t n) |
| Flips bit n. | |
| bvector< Alloc, MS > & | flip () |
| Flips all bits. | |
| void | swap (bvector< Alloc, MS > &bv) |
| Exchanges content of bv and this bitvector. | |
| bm::id_t | get_first () const |
| Gets number of first bit which is ON. | |
| bm::id_t | get_next (bm::id_t prev) const |
| Finds the number of the next bit ON. | |
| bm::id_t | extract_next (bm::id_t prev) |
| Finds the number of the next bit ON and sets it to 0. | |
| void | calc_stat (struct bm::bvector< Alloc, MS >::statistics *st) const |
| Calculates bitvector statistics. | |
| bm::bvector< Alloc, MS > & | bit_or (const bm::bvector< Alloc, MS > &vect) |
| Logical OR operation. | |
| bm::bvector< Alloc, MS > & | bit_and (const bm::bvector< Alloc, MS > &vect) |
| Logical AND operation. | |
| bm::bvector< Alloc, MS > & | bit_xor (const bm::bvector< Alloc, MS > &vect) |
| Logical XOR operation. | |
| bm::bvector< Alloc, MS > & | bit_sub (const bm::bvector< Alloc, MS > &vect) |
| Logical SUB operation. | |
| void | set_new_blocks_strat (strategy strat) |
| Sets new blocks allocation strategy. | |
| strategy | get_new_blocks_strat () const |
| Returns blocks allocation strategy. | |
| void | optimize (bm::word_t *temp_block=0, optmode opt_mode=opt_compress, statistics *stat=0) |
| Optimize memory bitvector's memory allocation. | |
| void | optimize_gap_size () |
| Optimize sizes of GAP blocks. | |
| void | set_gap_levels (const gap_word_t *glevel_len) |
| Sets new GAP lengths table. All GAP blocks will be reallocated to match the new scheme. | |
| int | compare (const bvector< Alloc, MS > &bvect) const |
| Lexicographical comparison with a bitvector. | |
| bm::word_t * | allocate_tempblock () const |
| Allocates temporary block of memory. | |
| void | free_tempblock (bm::word_t *block) const |
| Frees temporary block of memory. | |
| enumerator | first () const |
| Returns enumerator pointing on the first non-zero bit. | |
| enumerator | end () const |
| Returns enumerator pointing on the next bit after the last. | |
| const bm::word_t * | get_block (unsigned nb) const |
| void | combine_operation (const bm::bvector< Alloc, MS > &bvect, bm::operation opcode) |
| void | combine_operation_with_block (unsigned nb, const bm::word_t *arg_blk, int arg_gap, bm::operation opcode) |
| const blocks_manager_type & | get_blocks_manager () const |
| blocks_manager_type & | get_blocks_manager () |
Private Member Functions | |
| bm::id_t | check_or_next (bm::id_t prev) const |
| bm::id_t | check_or_next_extract (bm::id_t prev) |
| check if specified bit is 1, and set it to 0 if specified bit is 0, scan for the next 1 and returns it if no 1 found returns 0 | |
| bool | set_bit_no_check (bm::id_t n, bool val) |
| Set specified bit without checking preconditions (size, etc). | |
| bool | and_bit_no_check (bm::id_t n, bool val) |
| AND specified bit without checking preconditions (size, etc). | |
| bool | set_bit_conditional_impl (bm::id_t n, bool val, bool condition) |
| void | combine_operation_with_block (unsigned nb, unsigned gap, bm::word_t *blk, const bm::word_t *arg_blk, int arg_gap, bm::operation opcode) |
| void | combine_count_operation_with_block (unsigned nb, const bm::word_t *arg_blk, int arg_gap, bm::operation opcode) |
| void | extend_gap_block (unsigned nb, gap_word_t *blk) |
| Extends GAP block to the next level or converts it to bit block. | |
| void | set_range_no_check (bm::id_t left, bm::id_t right, bool value) |
| Set range without validity checking. | |
Private Attributes | |
| blocks_manager_type | blockman_ |
| bitblocks manager | |
| strategy | new_blocks_strat_ |
| block allocation strategy | |
| size_type | size_ |
| size in bits | |
Friends | |
| class | iterator_base |
| class | enumerator |
Classes | |
| class | counted_enumerator |
| Constant input iterator designed to enumerate "ON" bits counted_enumerator keeps bitcount, ie number of ON bits starting from the position 0 in the bit string up to the currently enumerated bit. More... | |
| class | enumerator |
| Constant input iterator designed to enumerate "ON" bits. More... | |
| class | insert_iterator |
| Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces). More... | |
| class | iterator_base |
| Base class for all iterators. More... | |
| class | reference |
| Class reference implements an object for bit assignment. More... | |
| struct | statistics |
| Statistical information about bitset's memory allocation details. More... | |
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
Type used to count bits in the bit vector.
|
|
|||||
|
Optimization mode Every next level means additional checks (better compression vs time).
|
|
||||||||||||||||||||||||
|
Constructs bvector class.
|
|
||||||||||||||||||||||||
|
Constructs bvector class.
|
|
||||||||||
|
|
|
|||||||||
|
Allocates temporary block of memory. Temp block can be passed to bvector functions requiring some temp memory for their operation. (like serialize)
Definition at line 1405 of file bm.h. References bm::blocks_manager< Alloc, MS >::get_allocator(). Referenced by CObjectOStreamAsnBinary::WriteBitString(). |
|
||||||||||||||||
|
AND specified bit without checking preconditions (size, etc).
Definition at line 2282 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, BM_ASSERT, BMCOUNT_ADJ, BMCOUNT_DEC, BMCOUNT_INC, BMGAP_PTR, bm::blocks_manager< Alloc, MS >::check_allocate_block(), bm::bvector< Alloc, MS >::extend_gap_block(), bm::gap_limit(), bm::gap_set_value(), bm::gap_test(), bm::bvector< Alloc, MS >::get_new_blocks_strat(), bm::blocks_manager< Alloc, MS >::glen(), mask, bm::set_block_mask, bm::set_block_shift, bm::set_word_mask, and bm::set_word_shift. |
|
|||||||||
|
Returns true if any bits in this bitset are set, and otherwise returns false.
Definition at line 1167 of file bm.h. References bm::for_each_nzblock_if(). Referenced by CJobStatusTracker::AnyPending(), SAffinityInfo::BlacklistJob(), CheckVectors(), CQueue::DeleteBatch(), CLDS_Object::DeleteUpdateCascadeFiles(), CLDS_Query::CSequenceFinder::Find(), CLDS_Query::CSequenceFinder::FindInCandidates(), CQueue::FindPendingJob(), CWorkerNodeAffinityGuard::GetJobWithAffinities(), CJobStatusTracker::GetPendingJob(), CJobStatusTracker::GetPendingJobFromSet(), CWorkerNodeAffinityGuard::HasCandidates(), ResizeTest(), CQueue::x_ChangeGroupStatus(), and CNetSchedule_AccessList::x_IsRestrictionSet(). |
|
||||||||||
|
Logical AND operation.
Definition at line 1287 of file bm.h. References bm::BM_AND, and BMCOUNT_VALID. Referenced by AndOperationsTest(), MutationOperationsTest(), and bm::operator &(). |
|
||||||||||
|
Logical OR operation.
Definition at line 1276 of file bm.h. References bm::BM_OR, and BMCOUNT_VALID. Referenced by bm::operator|(), and OrOperationsTest(). |
|
||||||||||
|
Logical SUB operation.
Definition at line 1309 of file bm.h. References bm::BM_SUB, and BMCOUNT_VALID. Referenced by bm::operator-(), and SubOperationsTest(). |
|
||||||||||
|
Logical XOR operation.
Definition at line 1298 of file bm.h. References bm::BM_XOR, and BMCOUNT_VALID. Referenced by bm::operator^(), and XorOperationsTest(). |
|
||||||||||
|
Calculates bitvector statistics.
Definition at line 2042 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, BM_IS_GAP, BMGAP_PTR, bm::blocks_manager< Alloc, MS >::effective_top_block_size(), bm::gap_capacity(), bm::gap_length(), bm::gap_levels, bm::blocks_manager< Alloc, MS >::get_topblock(), bm::blocks_manager< Alloc, MS >::glen(), and IS_VALID_ADDR. Referenced by bm::bvector< Alloc, MS >::optimize_gap_size(), ResizeTest(), SerializationOperation(), SerializationTest(), SetTest(), CJobStatusTracker::StatusStatistics(), and CObjectOStreamAsnBinary::WriteBitString(). |
|
|||||||||
|
Returns bvector's capacity (number of bits it can store).
|
|
||||||||||
|
Definition at line 2353 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, bm::blocks_manager< Alloc, MS >::is_subblock_null(), bm::set_blkblk_mask, bm::set_block_shift, and bm::set_total_blocks. |
|
||||||||||
|
check if specified bit is 1, and set it to 0 if specified bit is 0, scan for the next 1 and returns it if no 1 found returns 0
Definition at line 2416 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, bm::blocks_manager< Alloc, MS >::is_subblock_null(), bm::set_blkblk_mask, bm::set_block_shift, and bm::set_total_blocks. |
|
||||||||||
|
Clears every bit in the bitvector.
Definition at line 1048 of file bm.h. References BMCOUNT_SET. Referenced by CWorkerNodeAffinityGuard::CleanCandidates(), CNetSchedule_JSGroupGuard::Commit(), ComparisonTest(), CLDS_Query::CSequenceFinder::Find(), CBDB_Cache::GetNextBlobId(), CObjectIStreamXml::ReadBitString(), CObjectIStreamAsnBinary::ReadBitString(), CObjectIStreamAsn::ReadBitString(), SerializationOperation2Test(), CNetSchedule_AccessList::SetHosts(), and SetTest(). |
|
||||||||||
|
Clears bit n.
Definition at line 1036 of file bm.h. Referenced by EnumeratorTest(). |
|
||||||||||||||||||||||||
|
Definition at line 1494 of file bm.h. References BM_IS_GAP, and bm::combine_count_operation_with_block(). |
|
||||||||||||||||
|
||||||||||||||||||||||||
|
Definition at line 1484 of file bm.h. References BM_IS_GAP. |
|
||||||||||||||||||||||||||||||||
|
||||||||||
|
Lexicographical comparison with a bitvector. Function compares current bitvector with the provided argument bit by bit and returns -1 if our bitvector less than the argument, 1 - greater, 0 - equal. Definition at line 1912 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, BM_IS_GAP, bm::blocks_manager< Alloc, MS >::effective_top_block_size(), and bm::blocks_manager< Alloc, MS >::get_topblock(). Referenced by ComparisonTest(), ResizeTest(), and SerializationOperation(). |
|
|||||||||
|
Returns count of bits which are 1.
Definition at line 1641 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, BMCOUNT_SET, bm::blocks_manager< Alloc, MS >::effective_top_block_size(), bm::for_each_nzblock(), and bm::blocks_manager< Alloc, MS >::get_rootblock(). Referenced by AndOperationsTest(), BitCountChange(), CheckVectors(), CWorkerNodeAffinityGuard::CleanCandidates(), CQueue::ClearAffinityIdx(), bm::bvector< Alloc, MS >::count_range(), CQueueDataBase::CountActiveJobs(), ExportTest(), CWorkerNodeAffinityGuard::GetJobWithAffinities(), main(), OrOperationsTest(), CBDB_Cache::Purge(), CSubFileByteSourceReader::Read(), ResizeTest(), SerializationOperation(), SerializationOperation2Test(), SetTest(), SubOperationsTest(), and XorOperationsTest(). |
|
||||||||||
|
Computes bitcount values for all bvector blocks.
Definition at line 1099 of file bm.h. References bm::for_each_nzblock(). Referenced by main(). |
|
||||||||||||||||||||
|
Returns count of 1 bits in the given diapason.
Definition at line 1681 of file bm.h. References bm::bit_block_calc_count_range(), bm::bits_in_block, bm::bvector< Alloc, MS >::blockman_, BM_ASSERT, BM_IS_GAP, BMGAP_PTR, bm::bvector< Alloc, MS >::count(), bm::gap_bit_count_range(), bm::blocks_manager< Alloc, MS >::get_block(), bm::set_block_mask, and bm::set_block_shift. Referenced by main(). |
|
||||||||||
|
Returns enumerator pointing on the next bit after the last.
Definition at line 1440 of file bm.h. Referenced by EnumeratorTest(), CLDS_Query::CSequenceFinder::FindInCandidates(), CQueue::FlushTags(), and CObjectOStreamAsn::WriteBitString(). |
|
||||||||||||||||
|
Extends GAP block to the next level or converts it to bit block.
Definition at line 1510 of file bm.h. Referenced by bm::bvector< Alloc, MS >::and_bit_no_check(), bm::bvector< Alloc, MS >::set_bit_conditional_impl(), and bm::bvector< Alloc, MS >::set_bit_no_check(). |
|
||||||||||
|
Finds the number of the next bit ON and sets it to 0.
Definition at line 1253 of file bm.h. References bm::id_max. Referenced by CQueue::DeleteBatch(). |
|
|||||||||
|
Returns enumerator pointing on the first non-zero bit.
Definition at line 1430 of file bm.h. Referenced by CQueue::CheckExecutionTimeout(), CheckVectors(), CLDS_File::Delete(), EnumeratorTest(), CQueue::ExecProject(), CLDS_Query::CSequenceFinder::FindInCandidates(), CQueue::GetJobsWithAffinities(), CJobStatusTracker::GetPendingJob(), CJobStatusTracker::GetPendingJobFromSet(), main(), NS_EncodeBitVector(), OrOperationsTest(), CNetSchedule_AccessList::Print(), CNetSchedule_AccessList::PrintHosts(), CQueue::PrintJobDbStat(), CQueue::PrintQueue(), CJobStatusTracker::PrintStatusMatrix(), CQueue::ReadJobs(), ResizeTest(), CJobStatusTracker::SwitchJobs(), and CQueue::x_ChangeGroupStatus(). |
|
|||||||||
|
Flips all bits.
Definition at line 1205 of file bm.h. References invert. |
|
||||||||||
|
Flips bit n.
Definition at line 1195 of file bm.h. Referenced by SyntaxTest(). |
|
|||||||||
|
Disables count cache. Next call to count() or recalc_count() restores count caching.
Definition at line 1135 of file bm.h. References BMCOUNT_VALID. |
|
||||||||||
|
Frees temporary block of memory.
Definition at line 1420 of file bm.h. References bm::blocks_manager< Alloc, MS >::get_allocator(). |
|
|||||||||
|
Definition at line 938 of file bm.h. Referenced by SyntaxTest(). |
|
||||||||||
|
returns true if bit n is set and false is bit n is 0.
Definition at line 1799 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, BM_ASSERT, BM_IS_GAP, BMGAP_PTR, bm::gap_test(), bm::blocks_manager< Alloc, MS >::get_block(), bm::set_block_mask, bm::set_block_shift, bm::set_word_mask, bm::set_word_shift, and bm::bvector< Alloc, MS >::size_. Referenced by CheckVectors(), and DetailedCheckVectors(). |
|
||||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
|
|
|||||||||
|
Gets number of first bit which is ON.
Definition at line 1232 of file bm.h. Referenced by CheckVectors(), bm::bvector_mini< A >::compare(), EnumeratorTest(), CJobStatusTracker::GetFirst(), GetNextTest(), and ResizeTest(). |
|
|||||||||
|
Returns blocks allocation strategy.
Definition at line 1333 of file bm.h. Referenced by bm::bvector< Alloc, MS >::and_bit_no_check(), bm::bvector< Alloc, MS >::set_bit_conditional_impl(), and bm::bvector< Alloc, MS >::set_bit_no_check(). |
|
||||||||||
|
Finds the number of the next bit ON.
Definition at line 1241 of file bm.h. References bm::id_max. Referenced by CheckVectors(), EnumeratorTest(), CJobStatusTracker::GetNext(), GetNextTest(), and ResizeTest(). |
|
|||||||||
|
Function erturns insert iterator for this bitvector |
|
|||||||||
|
Inverts all bits.
Definition at line 1775 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, BMCOUNT_VALID, bm::for_each_block(), bm::blocks_manager< Alloc, MS >::get_rootblock(), bm::id_max, bm::bvector< Alloc, MS >::set_bit_no_check(), bm::bvector< Alloc, MS >::set_range_no_check(), bm::bvector< Alloc, MS >::size_, and bm::blocks_manager< Alloc, MS >::top_block_size(). Referenced by ResizeTest(), and SetTest(). |
|
|||||||||
|
Returns true if no bits are set, otherwise returns false.
Definition at line 1186 of file bm.h. Referenced by CLDS_Object::DeleteCascadeFiles(), and CLDS_Object::UpdateCascadeFiles(). |
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
Definition at line 862 of file bm.h. References pythonpp::resize(), and bm::bvector< Alloc, MS >::size(). |
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
|
|
||||||||||
|
Definition at line 877 of file bm.h. References BM_ASSERT. |
|
||||||||||
|
Definition at line 870 of file bm.h. References BM_ASSERT. |
|
||||||||||
|
|
|
||||||||||
|
|
|
|||||||||
|
|
|
||||||||||||||||||||
|
|||||||||
|
Optimize sizes of GAP blocks. This method runs an analysis to find optimal GAP levels for the specific vector. Current GAP compression algorithm uses several fixed GAP sizes. By default bvector uses some reasonable preset. Definition at line 1875 of file bm.h. References bm::bvector< Alloc, MS >::calc_stat(), bm::gap_levels, bm::improve_gap_levels(), and bm::bvector< Alloc, MS >::set_gap_levels(). |
|
|||||||||
|
Definition at line 1122 of file bm.h. References BMCOUNT_VALID. Referenced by CheckVectors(), and bm::bvector< Alloc, MS >::swap(). |
|
|||||||||
|
Clears every bit in the bitvector.
|
|
||||||||||
|
Change size of the bvector.
Definition at line 1663 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, bm::blocks_manager< Alloc, MS >::reserve(), bm::bvector< Alloc, MS >::set_range(), and bm::bvector< Alloc, MS >::size_. Referenced by BitString(), CObjectIStreamAsnBinary::ReadBitString(), ResizeTest(), s_SetBSFromOS(), and CAlnStats< _TAlnIdVec >::x_AddId(). |
|
|||||||||
|
Sets every bit in this bitset to 1.
Definition at line 1001 of file bm.h. References BMCOUNT_VALID. |
|
||||||||||||||||
|
Sets bit n if val is true, clears bit n if val is false.
Definition at line 989 of file bm.h. References bm::set_bit(). Referenced by CWorkerNodeAffinityGuard::AddAffinity(), CQueue::AddJobsToAffinity(), SAffinityInfo::BlacklistJob(), CQueue::ClearAffinityIdx(), CQueue::DeleteBatch(), CLDS_Object::DeleteCascadeFiles(), SAffinityInfo::GetBlacklistedJobs(), CAffinityDict::GetTokensIds(), NS_DecodeBitVector(), CLDS_IdTableScanner::OnRecordFound(), CLDS_FindSeqIdListFunctor::operator()(), CLDS_FindSeqIdFunctor::operator()(), OrOperationsTest(), ResizeTest(), CLDS_Query::ScreenSequence(), CJobStatusTracker::SetExactStatusNoLock(), CNetSchedule_AccessList::SetHosts(), SetTest(), CJobStatusTracker::SwitchJobs(), and CNetScheduleHandler::WriteProjection(). |
|
||||||||||||||||
|
Sets bit n.
Definition at line 950 of file bm.h. References BM_ASSERT. Referenced by AndOperationsTest(), BasicFunctionalityTest(), BlockLevelTest(), CQueue::CheckJobsExpiry(), ClearAllTest(), ComparisonTest(), DesrializationTest2(), EnumeratorTest(), CQueue::EraseJob(), FillSets(), GetNextTest(), MaxSTest(), MutationOperationsTest(), MutationTest(), OrOperationsTest(), CObjectIStreamAsnBinary::ReadBitString(), SerializationTest(), SimpleRandomFillTest(), SubOperationsTest(), and XorOperationsTest(). |
|
||||||||||||||||
|
Sets bit n using bit AND with the provided value.
Definition at line 962 of file bm.h. References BM_ASSERT. |
|
||||||||||||||||||||
|
Sets bit n only if current value is equal to the condition.
Definition at line 975 of file bm.h. References BM_ASSERT. Referenced by SetTest(). |
|
||||||||||||||||||||
|
||||||||||||||||
|
Set specified bit without checking preconditions (size, etc).
Definition at line 2128 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, BMCOUNT_ADJ, BMCOUNT_DEC, BMCOUNT_INC, BMGAP_PTR, bm::blocks_manager< Alloc, MS >::check_allocate_block(), bm::bvector< Alloc, MS >::extend_gap_block(), bm::gap_limit(), bm::gap_set_value(), bm::bvector< Alloc, MS >::get_new_blocks_strat(), bm::blocks_manager< Alloc, MS >::glen(), mask, bm::set_block_mask, bm::set_block_shift, bm::set_word_mask, and bm::set_word_shift. Referenced by bm::bvector< Alloc, MS >::invert(). |
|
||||||||||
|
Sets new GAP lengths table. All GAP blocks will be reallocated to match the new scheme.
Definition at line 1896 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, bm::blocks_manager< Alloc, MS >::blocks_root(), bm::for_each_nzblock(), bm::blocks_manager< Alloc, MS >::set_glen(), and bm::blocks_manager< Alloc, MS >::top_block_size(). Referenced by bm::bvector< Alloc, MS >::optimize_gap_size(). |
|
||||||||||
|
Sets new blocks allocation strategy.
Definition at line 1322 of file bm.h. Referenced by AndOperationsTest(), BlockLevelTest(), GetNextTest(), MutationOperationsTest(), MutationTest(), OrOperationsTest(), SerializationTest(), SimpleRandomFillTest(), StressTest(), SubOperationsTest(), and XorOperationsTest(). |
|
||||||||||||||||||||
|
Sets all bits in the specified closed interval [left,right] Interval must be inside the bvector's size. This method DOES NOT resize vector.
Definition at line 1618 of file bm.h. References BM_ASSERT, BMCOUNT_VALID, bm::bvector< Alloc, MS >::set_range_no_check(), and bm::bvector< Alloc, MS >::size_. Referenced by CQueue::AddJobsToAffinity(), CJobStatusTracker::AddPendingBatch(), bm::bvector< Alloc, MS >::combine_operation(), FillSetsIntervals(), bm::bvector< Alloc, MS >::resize(), and ResizeTest(). |
|
||||||||||||||||||||
|
Set range without validity checking.
Definition at line 2926 of file bm.h. References bm::bits_in_block, bm::bvector< Alloc, MS >::blockman_, bm::BM_AND, BM_IS_GAP, bm::BM_OR, BMGAP_PTR, bm::bvector< Alloc, MS >::combine_operation_with_block(), FULL_BLOCK_ADDR, bm::gap_init_range_block(), bm::blocks_manager< Alloc, MS >::get_allocator(), bm::blocks_manager< Alloc, MS >::get_block(), bm::blocks_manager< Alloc, MS >::glen(), IS_FULL_BLOCK, bm::blocks_manager< Alloc, MS >::set_block(), bm::blocks_manager< Alloc, MS >::set_block_bit(), bm::set_block_mask, and bm::set_block_shift. Referenced by bm::bvector< Alloc, MS >::invert(), and bm::bvector< Alloc, MS >::set_range(). |
|
||||||||||
|
return current size of the vector (bits)
Definition at line 1082 of file bm.h. Referenced by bm::bvector< Alloc, MS >::operator=(), CObjectIStreamXml::ReadBitString(), ResizeTest(), CObjectOStreamAsnBinary::WriteBitString(), CObjectOStreamAsn::WriteBitString(), and CNetScheduleHandler::x_DeserializeBitVector(). |
|
||||||||||
|
Exchanges content of bv and this bitvector.
Definition at line 1212 of file bm.h. References bm::bvector< Alloc, MS >::blockman_, BMCOUNT_VALID, bm::bvector< Alloc, MS >::recalc_count(), bm::bvector< Alloc, MS >::size_, and bm::xor_swap(). Referenced by ResizeTest(), and SyntaxTest(). |
|
||||||||||
|
returns true if bit n is set and false is bit n is 0.
Definition at line 1158 of file bm.h. Referenced by CheckIntervals(), and ExportTest(). |
|
|||||
|
|||||
|
|
|
|||||
|
|||||
|
block allocation strategy
|
|
|||||
|
size in bits
Definition at line 1545 of file bm.h. Referenced by bm::bvector< Alloc, MS >::combine_operation(), bm::bvector< Alloc, MS >::get_bit(), bm::bvector< Alloc, MS >::invert(), bm::bvector< Alloc, MS >::resize(), bm::bvector< Alloc, MS >::set_range(), and bm::bvector< Alloc, MS >::swap(). |
1.4.6
Modified on Mon Dec 07 16:24:37 2009 by modify_doxy.py rev. 173732