BitMagic-C++
Modules | Data Structures | Typedefs | Enumerations
bvector<> container

The Main bvector<> Group bvector<> template: front end of the BitMagic library. More...

Collaboration diagram for bvector<> container:

Modules

 bvector<> iterators
 Iterators for compressed bit-vector traversal.
 
 bvector<> algorithms
 
 bvector<> serialization
 
 Allocator
 

Data Structures

class  bm::bvector< Alloc >::reference
 Class reference implements an object for bit assignment. More...
 
class  bm::bvector< Alloc >::mem_pool_guard
 
class  bm::bvector< Alloc >
 Bitvector Bit-vector container with runtime compression of bits. More...
 
struct  bm::bv_statistics
 Structure with statistical information about memory allocation footprint, serialization projection, number of vectors. More...
 

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...
 

Enumerations

enum  bm::strategy { bm::BM_BIT = 0, bm::BM_GAP = 1 }
 Block allocation strategies. More...
 
enum  bm::set_operation {
  bm::set_AND = 0, bm::set_OR = 1, bm::set_SUB = 2, bm::set_XOR = 3,
  bm::set_ASSIGN = 4, bm::set_COUNT = 5, bm::set_COUNT_AND = 6, bm::set_COUNT_XOR = 7,
  bm::set_COUNT_OR = 8, bm::set_COUNT_SUB_AB = 9, bm::set_COUNT_SUB_BA = 10, bm::set_COUNT_A = 11,
  bm::set_COUNT_B = 12, bm::set_END
}
 Codes of set operations. More...
 
enum  bm::operation { bm::BM_AND = set_AND, bm::BM_OR = set_OR, bm::BM_SUB = set_SUB, bm::BM_XOR = set_XOR }
 Bit operations. More...
 
enum  bm::sort_order { bm::BM_UNSORTED = 0, bm::BM_SORTED = 1, bm::BM_SORTED_UNIFORM = 2, bm::BM_UNKNOWN = 3 }
 Sort order declaration. More...
 
enum  bm::null_support { bm::use_null = 0, bm::no_null = 1 }
 NULL-able value support. More...
 

Detailed Description

The Main bvector<> Group bvector<> template: front end of the BitMagic library.

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 71 of file bm.h.

Enumeration Type Documentation

◆ null_support

NULL-able value support.

Enumerator
use_null 

support "non-assigned" or "NULL" logic

no_null 

do not support NULL values

Definition at line 214 of file bmconst.h.

◆ operation

Bit operations.

Enumerator
BM_AND 
BM_OR 
BM_SUB 
BM_XOR 

Definition at line 176 of file bmconst.h.

◆ set_operation

Codes of set operations.

Enumerator
set_AND 
set_OR 
set_SUB 
set_XOR 
set_ASSIGN 
set_COUNT 
set_COUNT_AND 
set_COUNT_XOR 
set_COUNT_OR 
set_COUNT_SUB_AB 
set_COUNT_SUB_BA 
set_COUNT_A 
set_COUNT_B 
set_END 

Definition at line 153 of file bmconst.h.

◆ sort_order

Sort order declaration.

Enumerator
BM_UNSORTED 

input set is NOT sorted

BM_SORTED 

input set is sorted (ascending order)

BM_SORTED_UNIFORM 

sorted and in one block (internal!)

BM_UNKNOWN 

sort order unknown

Definition at line 189 of file bmconst.h.

◆ strategy

Block allocation strategies.

Enumerator
BM_BIT 

No GAP compression strategy. All new blocks are bit blocks.

BM_GAP 

GAP compression is ON.

Definition at line 142 of file bmconst.h.