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)
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.
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>
typedef serializer<BV>::buffer bm::compressed_buffer_collection< BV >::buffer_type

Definition at line 317 of file bmsparsevec_util.h.

◆ bvector_type

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

Definition at line 316 of file bmsparsevec_util.h.

◆ parent_type

template<class BV>
typedef 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: