NCBI C++ ToolKit
Public Types | Public Member Functions | Private Attributes | List of all members
bm::bvector_mini< A > Class Template Reference

Search Toolkit Book for bm::bvector_mini

Bitvector class with very limited functionality. More...

#include <util/bitset/bmvmin.h>

Public Types

typedef bm::id_t size_type
 

Public Member Functions

 bvector_mini (size_type size)
 
 bvector_mini (const bvector_mini &bvect)
 
 ~bvector_mini ()
 
int is_bit_true (size_type pos) const
 Checks if bit pos 1 or 0. Returns 0 if 0 and non zero otherwise. More...
 
void set_bit (size_type pos)
 Sets bit number pos to 1. More...
 
void clear_bit (size_type pos)
 Sets bit number pos to 0. More...
 
size_type bit_count () const
 Counts number of bits ON. More...
 
int compare (const bvector_mini &bvect)
 Comparison. More...
 
size_type get_first () const
 Returns index of the first ON bit. More...
 
size_type get_next (size_type idx) const
 Returns index of next bit, which is ON. More...
 
void combine_and (const bvector_mini &bvect)
 
void combine_xor (const bvector_mini &bvect)
 
void combine_or (const bvector_mini &bvect)
 
void combine_sub (const bvector_mini &bvect)
 
const unsigned * get_buf () const
 
unsigned mem_used () const
 
void swap (bvector_mini &bvm)
 

Private Attributes

bm::word_tm_buf
 
size_type m_size
 

Detailed Description

template<class A>
class bm::bvector_mini< A >

Bitvector class with very limited functionality.

Class implements simple bitset and used for internal and testing purposes.

Definition at line 271 of file bmvmin.h.

Member Typedef Documentation

◆ size_type

template<class A >
typedef bm::id_t bm::bvector_mini< A >::size_type

Definition at line 277 of file bmvmin.h.

Constructor & Destructor Documentation

◆ bvector_mini() [1/2]

template<class A >
bm::bvector_mini< A >::bvector_mini ( size_type  size)
inline

◆ bvector_mini() [2/2]

template<class A >
bm::bvector_mini< A >::bvector_mini ( const bvector_mini< A > &  bvect)
inline

Definition at line 289 of file bmvmin.h.

References bm::bvector_mini< A >::m_buf, and bm::bvector_mini< A >::m_size.

◆ ~bvector_mini()

template<class A >
bm::bvector_mini< A >::~bvector_mini ( )
inline

Definition at line 297 of file bmvmin.h.

References bm::bvector_mini< A >::m_buf, and bm::bvector_mini< A >::m_size.

Member Function Documentation

◆ bit_count()

template<class A >
size_type bm::bvector_mini< A >::bit_count ( ) const
inline

Counts number of bits ON.

Definition at line 327 of file bmvmin.h.

References count, bm::bvector_mini< A >::m_buf, bm::bvector_mini< A >::m_size, and rapidjson::value.

Referenced by CheckVectors(), bm::bvector_mini< A >::compare(), and OrOperationsTest().

◆ clear_bit()

template<class A >
void bm::bvector_mini< A >::clear_bit ( size_type  pos)
inline

Sets bit number pos to 0.

Definition at line 319 of file bmvmin.h.

References bm::bvector_mini< A >::m_buf, and mask.

Referenced by BasicFunctionalityTest(), FillSetsIntervals(), GAPCheck(), MiniSetTest(), MutationTest(), and SimpleRandomFillTest().

◆ combine_and()

template<class A >
void bm::bvector_mini< A >::combine_and ( const bvector_mini< A > &  bvect)
inline

◆ combine_or()

template<class A >
void bm::bvector_mini< A >::combine_or ( const bvector_mini< A > &  bvect)
inline

◆ combine_sub()

template<class A >
void bm::bvector_mini< A >::combine_sub ( const bvector_mini< A > &  bvect)
inline

Definition at line 446 of file bmvmin.h.

References bm::bvector_mini< A >::m_buf, and bm::bvector_mini< A >::m_size.

Referenced by GAPCheck(), StressTest(), and SubOperationsTest().

◆ combine_xor()

template<class A >
void bm::bvector_mini< A >::combine_xor ( const bvector_mini< A > &  bvect)
inline

Definition at line 426 of file bmvmin.h.

References bm::bvector_mini< A >::m_buf, and bm::bvector_mini< A >::m_size.

Referenced by StressTest(), and XorOperationsTest().

◆ compare()

template<class A >
int bm::bvector_mini< A >::compare ( const bvector_mini< A > &  bvect)
inline

◆ get_buf()

template<class A >
const unsigned* bm::bvector_mini< A >::get_buf ( ) const
inline

Definition at line 456 of file bmvmin.h.

References bm::bvector_mini< A >::m_buf.

◆ get_first()

template<class A >
size_type bm::bvector_mini< A >::get_first ( ) const
inline

Returns index of the first ON bit.

Definition at line 371 of file bmvmin.h.

References i, bm::bvector_mini< A >::m_buf, and bm::bvector_mini< A >::m_size.

Referenced by CheckVectors(), bm::bvector_mini< A >::compare(), and GetNextTest().

◆ get_next()

template<class A >
size_type bm::bvector_mini< A >::get_next ( size_type  idx) const
inline

Returns index of next bit, which is ON.

Definition at line 394 of file bmvmin.h.

References i, bm::bvector_mini< A >::m_buf, bm::bvector_mini< A >::m_size, and mask.

Referenced by CheckVectors(), bm::bvector_mini< A >::compare(), and GetNextTest().

◆ is_bit_true()

template<class A >
int bm::bvector_mini< A >::is_bit_true ( size_type  pos) const
inline

Checks if bit pos 1 or 0. Returns 0 if 0 and non zero otherwise.

Definition at line 303 of file bmvmin.h.

References bm::bvector_mini< A >::m_buf, and mask.

Referenced by BasicFunctionalityTest(), CheckGAPMin(), CheckVectors(), DetailedCheckVectors(), GAPCheck(), and print_mv().

◆ mem_used()

template<class A >
unsigned bm::bvector_mini< A >::mem_used ( ) const
inline

Definition at line 457 of file bmvmin.h.

References bm::bvector_mini< A >::m_size.

Referenced by MutationOperationsTest().

◆ set_bit()

template<class A >
void bm::bvector_mini< A >::set_bit ( size_type  pos)
inline

◆ swap()

template<class A >
void bm::bvector_mini< A >::swap ( bvector_mini< A > &  bvm)
inline

Definition at line 462 of file bmvmin.h.

References bm::bvector_mini< A >::m_buf.

Member Data Documentation

◆ m_buf

template<class A >
bm::word_t* bm::bvector_mini< A >::m_buf
private

◆ m_size

template<class A >
size_type bm::bvector_mini< A >::m_size
private

The documentation for this class was generated from the following file:
Modified on Fri Sep 20 14:58:19 2024 by modify_doxy.py rev. 669887