BitMagic-C++
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes
bm::base_sparse_vector< Val, BV, MAX_SIZE > Class Template Reference

Base class for bit-transposed(bit-sliced) sparse vector construction. More...

#include <bmbmatrix.h>

Inheritance diagram for bm::base_sparse_vector< Val, BV, MAX_SIZE >:
Inheritance graph
[legend]

Public Types

enum  bit_planes { sv_slices = (sizeof(Val) * 8 * MAX_SIZE + 1) , sv_value_slices = (sizeof(Val) * 8 * MAX_SIZE) }
 
enum  vector_capacity { max_vector_size = MAX_SIZE }
 
typedef Val value_type
 
typedef BV bvector_type
 
typedef BV::size_type size_type
 
typedef bvector_typebvector_type_ptr
 
typedef const bvector_typebvector_type_const_ptr
 
typedef const value_typeconst_reference
 
typedef BV::allocator_type allocator_type
 
typedef bvector_type::allocation_policy allocation_policy_type
 
typedef bvector_type::enumerator bvector_enumerator_type
 
typedef allocator_type::allocator_pool_type allocator_pool_type
 
typedef bm::basic_bmatrix< BV > bmatrix_type
 
typedef std::make_unsigned< value_type >::type unsigned_value_type
 

Public Member Functions

 base_sparse_vector ()
 
 base_sparse_vector (bm::null_support null_able, allocation_policy_type ap=allocation_policy_type(), size_type bv_max_size=bm::id_max, const allocator_type &alloc=allocator_type())
  More...
 
 base_sparse_vector (const base_sparse_vector< Val, BV, MAX_SIZE > &bsv)
 
 base_sparse_vector (base_sparse_vector< Val, BV, MAX_SIZE > &&bsv) BMNOEXCEPT
  More...
 
void swap (base_sparse_vector< Val, BV, MAX_SIZE > &bsv) BMNOEXCEPT
  More...
 
size_type size () const BMNOEXCEPT
  More...
 
void resize (size_type new_size, bool set_null)
 
void clear_range (size_type left, size_type right, bool set_null)
 
void keep_range_no_check (size_type left, size_type right, bm::null_support slice_null)
  More...
 
void clear_all (bool free_mem=true) BMNOEXCEPT
 resize to zero, free memory More...
 
bool empty () const BMNOEXCEPT
  More...
 
void optimize (bm::word_t *temp_block=0, typename bvector_type::optmode opt_mode=bvector_type::opt_compress, typename bvector_type::statistics *stat=0)
 run memory optimization for all bit-vector rows More...
 
void calc_stat (typename bvector_type::statistics *st) const BMNOEXCEPT
 Calculates memory statistics. More...
 
bool equal (const base_sparse_vector< Val, BV, MAX_SIZE > &sv, bm::null_support null_able=bm::use_null) const BMNOEXCEPT
 check if another sparse vector has the same content and size More...
 

Protected Types

typedef bvector_type::block_idx_type block_idx_type
 

Protected Member Functions

void copy_from (const base_sparse_vector< Val, BV, MAX_SIZE > &bsv)
  More...
 
void merge_matr (bmatrix_type &bmatr)
 Merge plane bvectors from an outside base matrix Note: outside base matrix gets destroyed. More...
 
void freeze_matr ()
 Turn on RO mode. More...
 
void clear_value_planes_from (unsigned plane_idx, size_type idx)
  More...
 
void insert_clear_value_planes_from (unsigned plane_idx, size_type idx)
  More...
 
void erase_column (size_type idx, bool erase_null)
  More...
 
void insert_null (size_type idx, bool not_null)
  More...
 
void bit_sub_rows (const bvector_type &bv, bool use_null)
 Set SUB (MINUS) operation on all existing bit-slices. More...
 
void bit_and_rows (const bvector_type &bv)
 Set AND (intersect) operation on all existing bit-slices. More...
 
void optimize_block (block_idx_type nb, typename BV::optmode opt_mode)
 plane index for the "NOT NULL" flags plane More...
 
void copy_range_slices (const base_sparse_vector< Val, BV, MAX_SIZE > &bsv, typename base_sparse_vector< Val, BV, MAX_SIZE >::size_type left, typename base_sparse_vector< Val, BV, MAX_SIZE >::size_type right, bm::null_support slice_null)
 Perform copy_range() on a set of planes. More...
 

Static Protected Member Functions

static constexpr unsigned value_bits () BMNOEXCEPT
 Number of total bit-planes in the value type. More...
 

Protected Attributes

bmatrix_type bmatr_
 bit-transposed matrix More...
 
unsigned_value_type slice_mask_ = 0
 slice presence bit-mask More...
 
size_type size_ = 0
 array size More...
 
unsigned effective_slices_ =0
 number of bit slices actually allocated More...
 
bool is_ro_ =false
 read-only More...
 

Various traits <br>

bool is_nullable () const BMNOEXCEPT
 check if container supports NULL(unassigned) values More...
 
bm::null_support get_null_support () const BMNOEXCEPT
 check if container supports NULL (unassigned) values More...
 
const bvector_typeget_null_bvector () const BMNOEXCEPT
 Get bit-vector of assigned values or NULL (if not constructed that way) More...
 
bool is_null (size_type idx) const BMNOEXCEPT
 test if specified element is NULL More...
 
void set_allocator_pool (allocator_pool_type *pool_ptr) BMNOEXCEPT
 Set allocation pool. More...
 
allocator_pool_typeget_allocator_pool () const BMNOEXCEPT
 Get allocation pool. More...
 
static constexpr bool is_signed () BMNOEXCEPT
 returns true if value type is signed integral type More...
 

Access to internals <br>

bvector_type_ptr get_create_slice (unsigned i)
 get access to bit-plain, function checks and creates a plane More...
 
bvector_type_const_ptr get_slice (unsigned i) const BMNOEXCEPT
 get read-only access to bit-plane More...
 
unsigned effective_slices () const BMNOEXCEPT
 Number of effective bit-planes in the value type. More...
 
bvector_type_ptr slice (unsigned i) BMNOEXCEPT
 get access to bit-plane as is (can return NULL) More...
 
bvector_type_const_ptr slice (unsigned i) const BMNOEXCEPT
  More...
 
bvector_typeget_null_bvect () BMNOEXCEPT
  More...
 
void free_slice (unsigned i)
 free memory in bit-plane More...
 
bm::id64_t get_slice_mask (unsigned element_idx) const BMNOEXCEPT
  More...
 
const bmatrix_typeget_bmatrix () const BMNOEXCEPT
  More...
 
bmatrix_typeget_bmatrix () BMNOEXCEPT
 access to internal bit-matrix More...
 
void mark_null_idx (unsigned null_idx) BMNOEXCEPT
 Set NULL plain index. More...
 
static unsigned slices () BMNOEXCEPT
 get total number of bit-planes in the vector More...
 
static unsigned stored_slices () BMNOEXCEPT
 Number of stored bit-planes (value planes + extra. More...
 
static unsigned_value_type s2u (value_type v) BMNOEXCEPT
 Convert signed value type to unsigned representation. More...
 
static value_type u2s (unsigned_value_type v) BMNOEXCEPT
 Convert unsigned value type to signed representation. More...
 

Detailed Description

template<typename Val, typename BV, unsigned MAX_SIZE>
class bm::base_sparse_vector< Val, BV, MAX_SIZE >

Base class for bit-transposed(bit-sliced) sparse vector construction.

Keeps the basic housekeeping lements like matrix of sparse elements

Definition at line 335 of file bmbmatrix.h.

Member Enumeration Documentation

◆ bit_planes

template<typename Val , typename BV , unsigned MAX_SIZE>
enum bm::base_sparse_vector::bit_planes
Enumerator
sv_slices 
sv_value_slices 

Definition at line 338 of file bmbmatrix.h.

◆ vector_capacity

template<typename Val , typename BV , unsigned MAX_SIZE>
enum bm::base_sparse_vector::vector_capacity
Enumerator
max_vector_size 

Definition at line 344 of file bmbmatrix.h.

Constructor & Destructor Documentation

◆ base_sparse_vector() [1/2]

template<class Val , class BV , unsigned MAX_SIZE>
bm::base_sparse_vector< Val, BV, MAX_SIZE >::base_sparse_vector ( bm::null_support  null_able,
allocation_policy_type  ap = allocation_policy_type(),
size_type  bv_max_size = bm::id_max,
const allocator_type alloc = allocator_type() 
)

◆ base_sparse_vector() [2/2]

template<typename Val , typename BV , unsigned MAX_SIZE>
bm::base_sparse_vector< Val, BV, MAX_SIZE >::base_sparse_vector ( base_sparse_vector< Val, BV, MAX_SIZE > &&  bsv)
inline

Member Function Documentation

◆ bit_and_rows()

template<typename Val , typename BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::bit_and_rows ( const bvector_type bv)
inlineprotected

Set AND (intersect) operation on all existing bit-slices.

Parameters
bv- argument vector row[i] -= bv

Definition at line 651 of file bmbmatrix.h.

References bm::basic_bmatrix< BV >::bit_and_rows(), and bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_.

◆ bit_sub_rows()

template<typename Val , typename BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::bit_sub_rows ( const bvector_type bv,
bool  use_null 
)
inlineprotected

Set SUB (MINUS) operation on all existing bit-slices.

Parameters
bv- argument vector row[i] -= bv

Definition at line 644 of file bmbmatrix.h.

References bm::basic_bmatrix< BV >::bit_sub_rows(), bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_, and bm::use_null.

◆ calc_stat()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::calc_stat ( typename bvector_type::statistics st) const

Calculates memory statistics.

Function fills statistics structure containing information about how this vector uses memory and estimation of max. amount of memory bvector needs to serialize itself.

Parameters
st- pointer on statistics structure to be filled in.
See also
statistics

Definition at line 1797 of file bmbmatrix.h.

References BM_ASSERT.

◆ clear_all()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::clear_all ( bool  free_mem = true)

resize to zero, free memory

Parameters
free_mem- fully destroys the plane vectors if true

Definition at line 1639 of file bmbmatrix.h.

◆ clear_value_planes_from()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::clear_value_planes_from ( unsigned  plane_idx,
size_type  idx 
)
protected

clear column in all value planes

Parameters
plane_idx- row (plane index to start from)
idx- bit (column) to clear

Definition at line 1813 of file bmbmatrix.h.

◆ copy_from()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::copy_from ( const base_sparse_vector< Val, BV, MAX_SIZE > &  bsv)
protected

◆ copy_range_slices()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::copy_range_slices ( const base_sparse_vector< Val, BV, MAX_SIZE > &  bsv,
typename base_sparse_vector< Val, BV, MAX_SIZE >::size_type  left,
typename base_sparse_vector< Val, BV, MAX_SIZE >::size_type  right,
bm::null_support  slice_null 
)
protected

◆ effective_slices()

template<typename Val , typename BV , unsigned MAX_SIZE>
unsigned bm::base_sparse_vector< Val, BV, MAX_SIZE >::effective_slices ( ) const
inline

Number of effective bit-planes in the value type.

Definition at line 493 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::effective_slices_.

◆ empty()

template<typename Val , typename BV , unsigned MAX_SIZE>
bool bm::base_sparse_vector< Val, BV, MAX_SIZE >::empty ( ) const
inline

return true if empty

Definition at line 400 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::size().

◆ equal()

template<class Val , class BV , unsigned MAX_SIZE>
bool bm::base_sparse_vector< Val, BV, MAX_SIZE >::equal ( const base_sparse_vector< Val, BV, MAX_SIZE > &  sv,
bm::null_support  null_able = bm::use_null 
) const

check if another sparse vector has the same content and size

Parameters
sv- sparse vector for comparison
null_able- flag to consider NULL vector in comparison (default) or compare only value content planes
Returns
true, if it is the same

Definition at line 1840 of file bmbmatrix.h.

References BM_ASSERT, and bm::use_null.

◆ erase_column()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::erase_column ( size_type  idx,
bool  erase_null 
)
protected

erase bit (column) from all planes

Parameters
idx- bit (column) to erase
erase_null- erase the NULL vector

Definition at line 1831 of file bmbmatrix.h.

◆ free_slice()

template<typename Val , typename BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::free_slice ( unsigned  i)
inline

free memory in bit-plane

Definition at line 515 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_, and bm::basic_bmatrix< BV >::destruct_row().

◆ freeze_matr()

template<typename Val , typename BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::freeze_matr ( )
inlineprotected

◆ get_allocator_pool()

template<typename Val , typename BV , unsigned MAX_SIZE>
allocator_pool_type* bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_allocator_pool ( ) const
inline

◆ get_bmatrix() [1/2]

template<typename Val , typename BV , unsigned MAX_SIZE>
bmatrix_type& bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_bmatrix ( )
inline

access to internal bit-matrix

Definition at line 538 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_.

◆ get_bmatrix() [2/2]

template<typename Val , typename BV , unsigned MAX_SIZE>
const bmatrix_type& bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_bmatrix ( ) const
inline

◆ get_create_slice()

template<class Val , class BV , unsigned MAX_SIZE>
base_sparse_vector< Val, BV, MAX_SIZE >::bvector_type_ptr bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_create_slice ( unsigned  i)

get access to bit-plain, function checks and creates a plane

Returns
bit-vector for the bit plain

Definition at line 1730 of file bmbmatrix.h.

◆ get_null_bvect()

template<typename Val , typename BV , unsigned MAX_SIZE>
bvector_type* bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_null_bvect ( )
inline

◆ get_null_bvector()

template<typename Val , typename BV , unsigned MAX_SIZE>
const bvector_type* bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_null_bvector ( ) const
inline

◆ get_null_support()

template<typename Val , typename BV , unsigned MAX_SIZE>
bm::null_support bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_null_support ( ) const
inline

check if container supports NULL (unassigned) values

Definition at line 423 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::is_nullable(), bm::no_null, and bm::use_null.

◆ get_slice()

template<typename Val , typename BV , unsigned MAX_SIZE>
bvector_type_const_ptr bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_slice ( unsigned  i) const
inline

get read-only access to bit-plane

Returns
bit-vector for the bit plane or NULL

Definition at line 476 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_, and bm::basic_bmatrix< BV >::row().

◆ get_slice_mask()

template<class Val , class BV , unsigned MAX_SIZE>
bm::id64_t bm::base_sparse_vector< Val, BV, MAX_SIZE >::get_slice_mask ( unsigned  element_idx) const

return mask of allocated bit-planes 1 in the mask - means bit-plane N is present returns 64-bit unsigned mask for sub 64-bit types (like int) unallocated mask bits will be zero extended

Returns
64-bit mask

Definition at line 1749 of file bmbmatrix.h.

◆ insert_clear_value_planes_from()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::insert_clear_value_planes_from ( unsigned  plane_idx,
size_type  idx 
)
protected

insert false (clear) column in all value planes

Parameters
plane_idx- row (plane index to start from)
idx- bit (column) to clear insert

Definition at line 1822 of file bmbmatrix.h.

◆ insert_null()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::insert_null ( size_type  idx,
bool  not_null 
)
protected

insert (NOT) NULL value

Definition at line 1719 of file bmbmatrix.h.

◆ is_null()

template<class Val , class BV , unsigned MAX_SIZE>
bool bm::base_sparse_vector< Val, BV, MAX_SIZE >::is_null ( size_type  idx) const

test if specified element is NULL

Parameters
idx- element index
Returns
true if it is NULL false if it was assigned or container is not configured to support assignment flags

Definition at line 1709 of file bmbmatrix.h.

Referenced by bm::str_sparse_vector< CharType, BV, STR_SIZE >::const_iterator::is_null(), and print_svector().

◆ is_nullable()

template<typename Val , typename BV , unsigned MAX_SIZE>
bool bm::base_sparse_vector< Val, BV, MAX_SIZE >::is_nullable ( ) const
inline

◆ is_signed()

template<typename Val , typename BV , unsigned MAX_SIZE>
static constexpr bool bm::base_sparse_vector< Val, BV, MAX_SIZE >::is_signed ( )
inlinestaticconstexpr

returns true if value type is signed integral type

Definition at line 412 of file bmbmatrix.h.

◆ keep_range_no_check()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::keep_range_no_check ( size_type  left,
size_type  right,
bm::null_support  slice_null 
)

Definition at line 1677 of file bmbmatrix.h.

References bm::use_null.

◆ mark_null_idx()

template<typename Val , typename BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::mark_null_idx ( unsigned  null_idx)
inline

Set NULL plain index.

Definition at line 544 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_, and bm::basic_bmatrix< BV >::null_idx_.

◆ merge_matr()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::merge_matr ( bmatrix_type bmatr)
protected

Merge plane bvectors from an outside base matrix Note: outside base matrix gets destroyed.

Definition at line 1585 of file bmbmatrix.h.

References BM_ASSERT, bm::basic_bmatrix< BV >::get_null_idx(), bm::basic_bmatrix< BV >::get_row(), and bm::basic_bmatrix< BV >::rows().

◆ optimize()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::optimize ( bm::word_t temp_block = 0,
typename bvector_type::optmode  opt_mode = bvector_type::opt_compress,
typename bvector_type::statistics stat = 0 
)

run memory optimization for all bit-vector rows

Parameters
temp_block- pre-allocated memory block to avoid unnecessary re-allocs
opt_mode- requested compression depth
stat- memory allocation statistics after optimization

Definition at line 1767 of file bmbmatrix.h.

References bm::bv_statistics::add().

◆ optimize_block()

template<typename Val , typename BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::optimize_block ( block_idx_type  nb,
typename BV::optmode  opt_mode 
)
inlineprotected

plane index for the "NOT NULL" flags plane

optimize block in all matrix planes

Definition at line 664 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_, and bm::basic_bmatrix< BV >::optimize_block().

◆ s2u()

template<class Val , class BV , unsigned MAX_SIZE>
base_sparse_vector< Val, BV, MAX_SIZE >::unsigned_value_type bm::base_sparse_vector< Val, BV, MAX_SIZE >::s2u ( value_type  v)
static

Convert signed value type to unsigned representation.

Definition at line 1947 of file bmbmatrix.h.

◆ set_allocator_pool()

template<typename Val , typename BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::set_allocator_pool ( allocator_pool_type pool_ptr)
inline

◆ size()

template<typename Val , typename BV , unsigned MAX_SIZE>
size_type bm::base_sparse_vector< Val, BV, MAX_SIZE >::size ( ) const
inline

◆ slice() [1/2]

template<typename Val , typename BV , unsigned MAX_SIZE>
bvector_type_ptr bm::base_sparse_vector< Val, BV, MAX_SIZE >::slice ( unsigned  i)
inline

get access to bit-plane as is (can return NULL)

Definition at line 500 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_, and bm::basic_bmatrix< BV >::get_row().

◆ slice() [2/2]

template<typename Val , typename BV , unsigned MAX_SIZE>
bvector_type_const_ptr bm::base_sparse_vector< Val, BV, MAX_SIZE >::slice ( unsigned  i) const
inline

◆ slices()

template<typename Val , typename BV , unsigned MAX_SIZE>
static unsigned bm::base_sparse_vector< Val, BV, MAX_SIZE >::slices ( )
inlinestatic

get total number of bit-planes in the vector

Definition at line 482 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::value_bits().

◆ stored_slices()

template<typename Val , typename BV , unsigned MAX_SIZE>
static unsigned bm::base_sparse_vector< Val, BV, MAX_SIZE >::stored_slices ( )
inlinestatic

Number of stored bit-planes (value planes + extra.

Definition at line 487 of file bmbmatrix.h.

References bm::base_sparse_vector< Val, BV, MAX_SIZE >::value_bits().

◆ swap()

template<class Val , class BV , unsigned MAX_SIZE>
void bm::base_sparse_vector< Val, BV, MAX_SIZE >::swap ( base_sparse_vector< Val, BV, MAX_SIZE > &  bsv)

Definition at line 1624 of file bmbmatrix.h.

References bm::xor_swap().

◆ u2s()

template<class Val , class BV , unsigned MAX_SIZE>
base_sparse_vector< Val, BV, MAX_SIZE >::value_type bm::base_sparse_vector< Val, BV, MAX_SIZE >::u2s ( unsigned_value_type  v)
static

Convert unsigned value type to signed representation.

Definition at line 1968 of file bmbmatrix.h.

◆ value_bits()

template<typename Val , typename BV , unsigned MAX_SIZE>
static constexpr unsigned bm::base_sparse_vector< Val, BV, MAX_SIZE >::value_bits ( )
inlinestaticconstexprprotected

Number of total bit-planes in the value type.

Definition at line 657 of file bmbmatrix.h.

Referenced by bm::base_sparse_vector< Val, BV, MAX_SIZE >::slices(), and bm::base_sparse_vector< Val, BV, MAX_SIZE >::stored_slices().

Field Documentation

◆ bmatr_

template<typename Val , typename BV , unsigned MAX_SIZE>
bmatrix_type bm::base_sparse_vector< Val, BV, MAX_SIZE >::bmatr_
protected

◆ effective_slices_

template<typename Val , typename BV , unsigned MAX_SIZE>
unsigned bm::base_sparse_vector< Val, BV, MAX_SIZE >::effective_slices_ =0
protected

◆ is_ro_

template<typename Val , typename BV , unsigned MAX_SIZE>
bool bm::base_sparse_vector< Val, BV, MAX_SIZE >::is_ro_ =false
protected

read-only

Definition at line 681 of file bmbmatrix.h.

Referenced by bm::base_sparse_vector< Val, BV, MAX_SIZE >::freeze_matr().

◆ size_

template<typename Val , typename BV , unsigned MAX_SIZE>
size_type bm::base_sparse_vector< Val, BV, MAX_SIZE >::size_ = 0
protected

◆ slice_mask_

template<typename Val , typename BV , unsigned MAX_SIZE>
unsigned_value_type bm::base_sparse_vector< Val, BV, MAX_SIZE >::slice_mask_ = 0
protected

slice presence bit-mask

Definition at line 678 of file bmbmatrix.h.

Referenced by bm::base_sparse_vector< Val, BV, MAX_SIZE >::base_sparse_vector().


The documentation for this class was generated from the following file: