|
BitMagic-C++
|
Compressed (sparse collection of objects). More...
#include <bmsparsevec_util.h>


Public Types | |
| typedef BV | bvector_type |
| typedef BV::size_type | size_type |
| typedef size_type | key_type |
| typedef size_type | address_type |
| typedef Value | value_type |
| typedef Value | mapped_type |
| typedef std::vector< value_type > | container_type |
| typedef bm::bvps_addr_resolver< bvector_type > | address_resolver_type |
Public Member Functions | |
| compressed_collection () | |
| bool | push_back (key_type key, const value_type &val) |
| Add new value to compressed collection. | |
| const value_type & | at (key_type key) const |
| find and return const associated value (with bounds/presense checking) | |
| value_type & | at (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_type & | get (address_type addr) const |
| Get access to associated value by resolved address. | |
| const address_resolver_type & | resolver () const |
| Get address resolver. | |
| address_resolver_type & | resolver () |
| Get address resolver. | |
| size_t | size () const |
| size of collection | |
| bool | equal (const compressed_collection< Value, BV > &ccoll) const |
| perform equality comparison with another collection | |
| container_type & | container () |
| return dense container for direct access (this should be treated as an internal function designed for deserialization) | |
Protected Member Functions | |
| void | throw_range_error (const char *err_msg) const |
Protected Attributes | |
| address_resolver_type | addr_res_ |
| address resolver | |
| container_type | dense_vect_ |
| compressed space container | |
| key_type | last_add_ |
| last added element | |
Compressed (sparse collection of objects).
Definition at line 226 of file bmsparsevec_util.h.
| typedef bm::bvps_addr_resolver<bvector_type> bm::compressed_collection< Value, BV >::address_resolver_type |
Definition at line 236 of file bmsparsevec_util.h.
| typedef size_type bm::compressed_collection< Value, BV >::address_type |
Definition at line 232 of file bmsparsevec_util.h.
| typedef BV bm::compressed_collection< Value, BV >::bvector_type |
Definition at line 229 of file bmsparsevec_util.h.
| typedef std::vector<value_type> bm::compressed_collection< Value, BV >::container_type |
Definition at line 235 of file bmsparsevec_util.h.
| typedef size_type bm::compressed_collection< Value, BV >::key_type |
Definition at line 231 of file bmsparsevec_util.h.
| typedef Value bm::compressed_collection< Value, BV >::mapped_type |
Definition at line 234 of file bmsparsevec_util.h.
| typedef BV::size_type bm::compressed_collection< Value, BV >::size_type |
Definition at line 230 of file bmsparsevec_util.h.
| typedef Value bm::compressed_collection< Value, BV >::value_type |
Definition at line 233 of file bmsparsevec_util.h.
| bm::compressed_collection< Value, BV >::compressed_collection | ( | ) |
| compressed_collection< Value, BV >::value_type & bm::compressed_collection< Value, BV >::at | ( | key_type | key | ) |
find and return associated value (with bounds/presense checking)
Definition at line 684 of file bmsparsevec_util.h.
References addr_res_, dense_vect_, and throw_range_error().
| const compressed_collection< Value, BV >::value_type & bm::compressed_collection< Value, BV >::at | ( | key_type | key | ) | const |
find and return const associated value (with bounds/presense checking)
Definition at line 669 of file bmsparsevec_util.h.
References addr_res_, get(), and throw_range_error().
|
inline |
return dense container for direct access (this should be treated as an internal function designed for deserialization)
Definition at line 296 of file bmsparsevec_util.h.
| bool bm::compressed_collection< Value, BV >::equal | ( | const compressed_collection< Value, BV > & | ccoll | ) | const |
perform equality comparison with another collection
Definition at line 711 of file bmsparsevec_util.h.
References addr_res_, BM_ASSERT, compressed_collection(), dense_vect_, and bm::bvps_addr_resolver< BV >::get_bvector().
| const compressed_collection< Value, BV >::value_type & bm::compressed_collection< Value, BV >::get | ( | address_type | addr | ) | const |
Get access to associated value by resolved address.
Definition at line 660 of file bmsparsevec_util.h.
References dense_vect_.
Referenced by at().
| void bm::compressed_collection< Value, BV >::optimize | ( | bm::word_t * | temp_block = 0 | ) |
perform memory optimizations/compression
Definition at line 639 of file bmsparsevec_util.h.
References addr_res_.
| bool bm::compressed_collection< Value, BV >::push_back | ( | key_type | key, |
| const value_type & | val ) |
Add new value to compressed collection.
Must be added in sorted key order (growing).
Unsorted will not be added!
Definition at line 610 of file bmsparsevec_util.h.
References addr_res_, BM_ASSERT, dense_vect_, and last_add_.
| bool bm::compressed_collection< Value, BV >::resolve | ( | key_type | key, |
| address_type * | addr ) const |
Resolve key address (index) in the dense vector.
Definition at line 647 of file bmsparsevec_util.h.
References addr_res_.
|
inline |
Get address resolver.
Definition at line 283 of file bmsparsevec_util.h.
|
inline |
Get address resolver.
Definition at line 279 of file bmsparsevec_util.h.
|
inline |
size of collection
Definition at line 287 of file bmsparsevec_util.h.
| void bm::compressed_collection< Value, BV >::sync | ( | ) |
Checkpoint method to prepare collection for reading.
Definition at line 631 of file bmsparsevec_util.h.
References addr_res_.
|
protected |
Definition at line 699 of file bmsparsevec_util.h.
References BM_ASSERT_THROW.
|
protected |
address resolver
Definition at line 302 of file bmsparsevec_util.h.
Referenced by at(), at(), equal(), optimize(), push_back(), resolve(), and sync().
|
protected |
compressed space container
Definition at line 303 of file bmsparsevec_util.h.
Referenced by at(), equal(), get(), and push_back().
|
protected |
last added element
Definition at line 304 of file bmsparsevec_util.h.
Referenced by compressed_collection(), and push_back().