BitMagicC++Library
Data Structures | Namespaces | Macros | Typedefs | Functions
bm.h File Reference
#include <iterator>
#include <initializer_list>
#include <limits.h>
#include "bmdef.h"
#include "bmconst.h"
#include "bmsimd.h"
#include "bmfwd.h"
#include "bmfunc.h"
#include "encoding.h"
#include "bmalloc.h"
#include "bmblocks.h"
#include "bmundef.h"
Include dependency graph for bm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  bm::bvector< Alloc >
 bitvector Bit-vector container with runtime compression of bits More...
 
struct  bm::bvector< Alloc >::statistics
 Statistical information about bitset's memory allocation details. More...
 
class  bm::bvector< Alloc >::reference
 Class reference implements an object for bit assignment. More...
 
class  bm::bvector< Alloc >::iterator_base
 Base class for all iterators. More...
 
struct  bm::bvector< Alloc >::iterator_base::bitblock_descr
 Information about current bitblock. More...
 
struct  bm::bvector< Alloc >::iterator_base::dgap_descr
 Information about current DGAP block. More...
 
union  bm::bvector< Alloc >::iterator_base::block_descr
 
class  bm::bvector< Alloc >::insert_iterator
 Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces). More...
 
class  bm::bvector< Alloc >::enumerator
 Constant iterator designed to enumerate "ON" bits. More...
 
class  bm::bvector< Alloc >::counted_enumerator
 Constant 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...
 
struct  bm::bvector< Alloc >::allocation_policy
 memory allocation policy More...
 
struct  bm::bvector< Alloc >::blocks_count
 structure for bit counts per block (prefix sum) Structure is used to accelerate bit range scans More...
 

Namespaces

 bm
 

Macros

#define BMCOUNT_INC
 
#define BMCOUNT_DEC
 
#define BMCOUNT_VALID(x)
 
#define BMCOUNT_SET(x)
 
#define BMCOUNT_ADJ(x)
 

Typedefs

typedef int(* bit_visitor_callback_type) (void *handle_ptr, bm::id_t bit_idx)
 Callback type to visit (callback style) bits in bit-vector(s) More...
 

Functions

template<class Alloc >
bvector< Alloc > bm::operator & (const bvector< Alloc > &v1, const bvector< Alloc > &v2)
 
template<class Alloc >
bvector< Alloc > bm::operator| (const bvector< Alloc > &v1, const bvector< Alloc > &v2)
 
template<class Alloc >
bvector< Alloc > bm::operator^ (const bvector< Alloc > &v1, const bvector< Alloc > &v2)
 
template<class Alloc >
bvector< Alloc > bm::operator- (const bvector< Alloc > &v1, const bvector< Alloc > &v2)
 

Macro Definition Documentation

◆ BMCOUNT_ADJ

#define BMCOUNT_ADJ (   x)

Definition at line 77 of file bm.h.

Referenced by bm::bvector<>::set_bit_no_check().

◆ BMCOUNT_DEC

#define BMCOUNT_DEC

Definition at line 74 of file bm.h.

Referenced by bm::bvector<>::find(), and bm::bvector<>::set_bit_no_check().

◆ BMCOUNT_INC

#define BMCOUNT_INC

Definition at line 73 of file bm.h.

Referenced by bm::bvector<>::set_bit_no_check().

◆ BMCOUNT_SET

#define BMCOUNT_SET (   x)

Definition at line 76 of file bm.h.

Referenced by bm::bvector<>::clear(), and bm::bvector<>::count().

◆ BMCOUNT_VALID

#define BMCOUNT_VALID (   x)

Typedef Documentation

◆ bit_visitor_callback_type

typedef int(* bit_visitor_callback_type) (void *handle_ptr, bm::id_t bit_idx)

Callback type to visit (callback style) bits in bit-vector(s)

Parameters
handle_ptr- custom pointer to callback specific data
bit_idx- number/index of visited bit

Definition at line 55 of file bm.h.