BitMagic-C++
|
Back insert iterator implements buffered insert, faster than generic access assignment. More...
#include <bmsparsevec.h>
Public Types | |
typedef std::output_iterator_tag | iterator_category |
typedef sparse_vector< Val, BV > | sparse_vector_type |
typedef sparse_vector_type * | sparse_vector_type_ptr |
typedef sparse_vector_type::value_type | value_type |
typedef sparse_vector_type::size_type | size_type |
typedef sparse_vector_type::bvector_type | bvector_type |
typedef bvector_type::allocator_type | allocator_type |
typedef bvector_type::allocator_type::allocator_pool_type | allocator_pool_type |
typedef bm::byte_buffer< allocator_type > | buffer_type |
typedef void | difference_type |
typedef void | pointer |
typedef void | reference |
Public Member Functions | |
back_insert_iterator () | |
back_insert_iterator (sparse_vector_type *sv) | |
back_insert_iterator (const back_insert_iterator &bi) | |
back_insert_iterator & | operator= (const back_insert_iterator &bi) |
~back_insert_iterator () | |
back_insert_iterator & | operator= (value_type v) |
push value to the vector | |
back_insert_iterator & | operator* () |
noop | |
back_insert_iterator & | operator++ () |
noop | |
back_insert_iterator & | operator++ (int) |
noop | |
void | add (value_type v) |
add value to the container | |
void | add_null () |
add NULL (no-value) to the container | |
void | add_null (size_type count) |
add a series of consequitve NULLs (no-value) to the container | |
bool | empty () const |
return true if insertion buffer is empty | |
void | flush () |
flush the accumulated buffer | |
bvector_type * | get_null_bvect () const BMNOEXCEPT |
Get access to not-null vector. | |
size_type | add_value_no_null (value_type v) |
add value to the buffer without changing the NULL vector | |
void | disable_set_null () BMNOEXCEPT |
Reconfшпгку back inserter not to touch the NULL vector. | |
Protected Types | |
typedef bvector_type::block_idx_type | block_idx_type |
Back insert iterator implements buffered insert, faster than generic access assignment.
Limitations for buffered inserter:
Definition at line 251 of file bmsparsevec.h.
typedef bvector_type::allocator_type::allocator_pool_type bm::sparse_vector< Val, BV >::back_insert_iterator::allocator_pool_type |
Definition at line 263 of file bmsparsevec.h.
typedef bvector_type::allocator_type bm::sparse_vector< Val, BV >::back_insert_iterator::allocator_type |
Definition at line 262 of file bmsparsevec.h.
|
protected |
Definition at line 332 of file bmsparsevec.h.
typedef bm::byte_buffer<allocator_type> bm::sparse_vector< Val, BV >::back_insert_iterator::buffer_type |
Definition at line 264 of file bmsparsevec.h.
typedef sparse_vector_type::bvector_type bm::sparse_vector< Val, BV >::back_insert_iterator::bvector_type |
Definition at line 261 of file bmsparsevec.h.
typedef void bm::sparse_vector< Val, BV >::back_insert_iterator::difference_type |
Definition at line 266 of file bmsparsevec.h.
typedef std::output_iterator_tag bm::sparse_vector< Val, BV >::back_insert_iterator::iterator_category |
Definition at line 255 of file bmsparsevec.h.
typedef void bm::sparse_vector< Val, BV >::back_insert_iterator::pointer |
Definition at line 267 of file bmsparsevec.h.
typedef void bm::sparse_vector< Val, BV >::back_insert_iterator::reference |
Definition at line 268 of file bmsparsevec.h.
typedef sparse_vector_type::size_type bm::sparse_vector< Val, BV >::back_insert_iterator::size_type |
Definition at line 260 of file bmsparsevec.h.
typedef sparse_vector<Val, BV> bm::sparse_vector< Val, BV >::back_insert_iterator::sparse_vector_type |
Definition at line 257 of file bmsparsevec.h.
typedef sparse_vector_type* bm::sparse_vector< Val, BV >::back_insert_iterator::sparse_vector_type_ptr |
Definition at line 258 of file bmsparsevec.h.
typedef sparse_vector_type::value_type bm::sparse_vector< Val, BV >::back_insert_iterator::value_type |
Definition at line 259 of file bmsparsevec.h.
bm::sparse_vector< Val, BV >::back_insert_iterator::back_insert_iterator | ( | ) |
Definition at line 2051 of file bmsparsevec.h.
bm::sparse_vector< Val, BV >::back_insert_iterator::back_insert_iterator | ( | sparse_vector_type * | sv | ) |
bm::sparse_vector< Val, BV >::back_insert_iterator::back_insert_iterator | ( | const back_insert_iterator & | bi | ) |
bm::sparse_vector< Val, BV >::back_insert_iterator::~back_insert_iterator | ( | ) |
Definition at line 2087 of file bmsparsevec.h.
void bm::sparse_vector< Val, BV >::back_insert_iterator::add | ( | value_type | v | ) |
add value to the container
Definition at line 2095 of file bmsparsevec.h.
Referenced by bm::sparse_vector< Val, BV >::back_insert_iterator::operator=().
void bm::sparse_vector< Val, BV >::back_insert_iterator::add_null | ( | ) |
add NULL (no-value) to the container
Definition at line 2137 of file bmsparsevec.h.
References BM_ASSERT.
void bm::sparse_vector< Val, BV >::back_insert_iterator::add_null | ( | size_type | count | ) |
add a series of consequitve NULLs (no-value) to the container
sparse_vector< Val, BV >::size_type bm::sparse_vector< Val, BV >::back_insert_iterator::add_value_no_null | ( | value_type | v | ) |
add value to the buffer without changing the NULL vector
v | - value to push back |
Definition at line 2110 of file bmsparsevec.h.
References BM_ASSERT.
|
inline |
Reconfшпгку back inserter not to touch the NULL vector.
Definition at line 328 of file bmsparsevec.h.
bool bm::sparse_vector< Val, BV >::back_insert_iterator::empty | ( | ) | const |
return true if insertion buffer is empty
Definition at line 2164 of file bmsparsevec.h.
Referenced by bm::sparse_vector< Val, BV >::back_insert_iterator::operator=().
void bm::sparse_vector< Val, BV >::back_insert_iterator::flush | ( | ) |
flush the accumulated buffer
set_not_null_);
Definition at line 2172 of file bmsparsevec.h.
References bm::sparse_vector< Val, BV >::empty(), and bm::set_block_shift.
Referenced by bm::sparse_vector< Val, BV >::back_insert_iterator::operator=().
|
inline |
Get access to not-null vector.
Definition at line 316 of file bmsparsevec.h.
|
inline |
noop
Definition at line 287 of file bmsparsevec.h.
|
inline |
noop
Definition at line 289 of file bmsparsevec.h.
|
inline |
noop
Definition at line 291 of file bmsparsevec.h.
|
inline |
Definition at line 275 of file bmsparsevec.h.
References BM_ASSERT, bm::sparse_vector< Val, BV >::back_insert_iterator::empty(), and bm::sparse_vector< Val, BV >::back_insert_iterator::flush().
|
inline |
push value to the vector
Definition at line 285 of file bmsparsevec.h.
References bm::sparse_vector< Val, BV >::back_insert_iterator::add().