BitMagic-C++
Data Structures | Namespaces | Macros | Functions
bmalgo.h File Reference

Algorithms for bvector<> (main include) More...

#include "bmfunc.h"
#include "bmdef.h"
#include "bmalgo_impl.h"
#include "bmundef.h"
Include dependency graph for bmalgo.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  bm::rank_compressor< BV >
 Algorithms for rank compression of bit-vector. More...
 

Namespaces

 bm
 

Macros

#define BM_SCANNER_OP(x)
 

Functions

template<class BV , class Func >
void bm::for_each_bit (const BV &bv, Func &bit_functor)
 bit-vector visitor scanner to traverse each 1 bit using C++ visitor More...
 
template<class BV >
void bm::visit_each_bit (const BV &bv, void *handle_ptr, bit_visitor_callback_type callback_ptr)
 bit-vector visitor scanner to traverse each 1 bit using C callback More...
 

Detailed Description

Algorithms for bvector<> (main include)

Definition in file bmalgo.h.

Macro Definition Documentation

◆ BM_SCANNER_OP

#define BM_SCANNER_OP (   x)
Value:
if (0 != (block = blk_blk[j+x])) \
{ \
if (BM_IS_GAP(block)) \
{ \
bit_functor); \
} \
else \
{ \
bm::for_each_bit_blk(block, (r+j+x)*bm::bits_in_block,bit_functor); \
} \
}
void for_each_gap_blk(const T *buf, SIZE_TYPE offset, Func &bit_functor)
for-each visitor, calls a special visitor functor for each 1 bit range
Definition: bmalgo_impl.h:1695
void for_each_bit_blk(const bm::word_t *block, SIZE_TYPE offset, Func &bit_functor)
for-each visitor, calls a special visitor functor for each 1 bit group
Definition: bmalgo_impl.h:1660
const unsigned bits_in_block
Definition: bmconst.h:110
#define BM_IS_GAP(ptr)
Definition: bmdef.h:168
#define BMGAP_PTR(ptr)
Definition: bmdef.h:166

Definition at line 41 of file bmalgo.h.

Referenced by bm::for_each_bit().