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

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

#include "bm.h"
#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 \
{ \
block = BLOCK_ADDR_SAN(block);\
bm::for_each_bit_blk(block, (r+j+x)*bm::bits_in_block,bit_functor); \
} \
}
void for_each_gap_blk(const T *buf, bm::id_t offset, Func &bit_functor)
for-each visitor, calls a special visitor functor for each 1 bit range
Definition: bmalgo_impl.h:1677
const unsigned bits_in_block
Definition: bmconst.h:87
#define BM_IS_GAP(ptr)
Definition: bmdef.h:167
#define BMGAP_PTR(ptr)
Definition: bmdef.h:165
void for_each_bit_blk(const bm::word_t *block, bm::id_t offset, Func &bit_functor)
for-each visitor, calls a special visitor functor for each 1 bit group
Definition: bmalgo_impl.h:1647
#define BLOCK_ADDR_SAN(addr)
Definition: bmdef.h:137

Definition at line 36 of file bmalgo.h.

Referenced by bm::for_each_bit().