BitMagic-C++
bm::compressed_buffer_collection< BV > Class Template Reference

Compressed (sparse collection of objects) More...

#include <bmsparsevec_util.h>

Inheritance diagram for bm::compressed_buffer_collection< BV >:
Collaboration diagram for bm::compressed_buffer_collection< BV >:

Data Structures

struct  statistics
 collection statistics More...
 

Public Types

typedef BV bvector_type
 
typedef serializer< BV >::buffer buffer_type
 
typedef compressed_collection< typename serializer< BV >::buffer, BV > parent_type
 
- Public Types inherited from bm::compressed_collection< serializer< BV >::buffer, BV >
typedef BV bvector_type
 
typedef BV::size_type size_type
 
typedef size_type key_type
 
typedef size_type address_type
 
typedef serializer< BV >::buffer value_type
 
typedef serializer< BV >::buffer mapped_type
 
typedef std::vector< value_typecontainer_type
 
typedef bm::bvps_addr_resolver< bvector_typeaddress_resolver_type
 

Public Member Functions

bool move_buffer (typename parent_type::key_type key, buffer_type &buffer)
 move external buffer into collection
 
void calc_stat (statistics *st) const
 compute statistics on memory consumption
 
- Public Member Functions inherited from bm::compressed_collection< serializer< BV >::buffer, BV >
 compressed_collection ()
 
bool push_back (key_type key, const value_type &val)
 Add new value to compressed collection.
 
const value_typeat (key_type key) const
 find and return const associated value (with bounds/presense checking)
 
value_typeat (key_type key)
 find and return associated value (with bounds/presense checking)
 
void sync ()
 Checkpoint method to prepare collection for reading.
 
void optimize (bm::word_t *temp_block=0)
 perform memory optimizations/compression
 
bool resolve (key_type key, address_type *addr) const
 Resolve key address (index) in the dense vector.
 
const value_typeget (address_type addr) const
 Get access to associated value by resolved address.
 
const address_resolver_typeresolver () const
 Get address resolver.
 
address_resolver_typeresolver ()
 Get address resolver.
 
size_t size () const
 size of collection
 
bool equal (const compressed_collection< serializer< BV >::buffer, BV > &ccoll) const
 perform equality comparison with another collection
 
container_typecontainer ()
 return dense container for direct access (this should be treated as an internal function designed for deserialization)
 

Additional Inherited Members

- Protected Member Functions inherited from bm::compressed_collection< serializer< BV >::buffer, BV >
void throw_range_error (const char *err_msg) const
 
- Protected Attributes inherited from bm::compressed_collection< serializer< BV >::buffer, BV >
address_resolver_type addr_res_
 address resolver
 
container_type dense_vect_
 compressed space container
 
key_type last_add_
 last added element
 

Detailed Description

template<class BV>
class bm::compressed_buffer_collection< BV >

Compressed (sparse collection of objects)

Definition at line 312 of file bmsparsevec_util.h.

Member Typedef Documentation

◆ buffer_type

template<class BV >
serializer<BV>::buffer bm::compressed_buffer_collection< BV >::buffer_type

Definition at line 317 of file bmsparsevec_util.h.

◆ bvector_type

template<class BV >
BV bm::compressed_buffer_collection< BV >::bvector_type

Definition at line 316 of file bmsparsevec_util.h.

◆ parent_type

template<class BV >
compressed_collection<typename serializer<BV>::buffer, BV> bm::compressed_buffer_collection< BV >::parent_type

Definition at line 318 of file bmsparsevec_util.h.

Member Function Documentation

◆ calc_stat()

◆ move_buffer()

template<class BV >
bool bm::compressed_buffer_collection< BV >::move_buffer ( typename parent_type::key_type key,
buffer_type & buffer )
inline

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