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 More... | |
back_insert_iterator & | operator* () |
noop More... | |
back_insert_iterator & | operator++ () |
noop More... | |
back_insert_iterator & | operator++ (int) |
noop More... | |
void | add (value_type v) |
add value to the container More... | |
void | add_null () |
add NULL (no-value) to the container More... | |
void | add_null (size_type count) |
add a series of consequitve NULLs (no-value) to the container More... | |
bool | empty () const |
return true if insertion buffer is empty More... | |
void | flush () |
flush the accumulated buffer More... | |
Protected Member Functions | |
size_type | add_value (value_type v) |
add value to the buffer without changing the NULL vector More... | |
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.
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 2059 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 2086 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 2094 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 2136 of file bmsparsevec.h.
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
|
protected |
add value to the buffer without changing the NULL vector
v | - value to push back |
Definition at line 2109 of file bmsparsevec.h.
References BM_ASSERT.
bool bm::sparse_vector< Val, BV >::back_insert_iterator::empty |
return true if insertion buffer is empty
Definition at line 2162 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
Definition at line 2170 of file bmsparsevec.h.
References bm::sparse_vector< Val, BV >::empty().
Referenced by bm::sparse_vector< Val, BV >::back_insert_iterator::operator=().
|
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().