BitMagic-C++
|
Output iterator iterator designed to set "ON" bits based on input sequence of integers. More...
#include <bm.h>
Public Types | |
typedef std::output_iterator_tag | iterator_category |
typedef bm::bvector< Alloc > | bvector_type |
typedef bvector_type::size_type | size_type |
typedef bvector_type::size_type | value_type |
typedef void | difference_type |
typedef void | pointer |
typedef void | reference |
Public Member Functions | |
bulk_insert_iterator () BMNOEXCEPT | |
~bulk_insert_iterator () | |
More... | |
bulk_insert_iterator (bvector< Alloc > &bvect, bm::sort_order so=BM_UNKNOWN) BMNOEXCEPT | |
More... | |
bulk_insert_iterator (const bulk_insert_iterator &iit) | |
More... | |
bulk_insert_iterator (const insert_iterator &iit) | |
More... | |
bulk_insert_iterator (bulk_insert_iterator &&iit) BMNOEXCEPT | |
More... | |
bulk_insert_iterator & | operator= (const bulk_insert_iterator &ii) |
More... | |
bulk_insert_iterator & | operator= (bulk_insert_iterator &&ii) BMNOEXCEPT |
More... | |
bulk_insert_iterator & | operator= (size_type n) |
More... | |
bulk_insert_iterator & | operator* () |
More... | |
bulk_insert_iterator & | operator++ () |
More... | |
bulk_insert_iterator & | operator++ (int) |
More... | |
void | flush () |
More... | |
bvector_type * | get_bvector () const BMNOEXCEPT |
More... | |
Static Protected Member Functions | |
static size_type | buf_size_max () BMNOEXCEPT |
More... | |
Protected Attributes | |
bvector_type * | bvect_ |
target bvector More... | |
size_type * | buf_ |
bulk insert buffer More... | |
size_type | buf_size_ |
current buffer size More... | |
bm::sort_order | sorted_ |
sort order hint More... | |
Output iterator iterator designed to set "ON" bits based on input sequence of integers.
STL container can be converted to bvector using this iterator Insert iterator guarantees the vector will be dynamically resized (set_bit does not do that).
The difference from the canonical insert iterator, is that bulk insert implements internal buffering, which needs to flushed (or flushed automatically when goes out of scope). Buffering creates a delayed effect, which needs to be taken into account.
|
inlinestaticprotected |
Definition at line 581 of file bm.h.
References bm::set_block_size.
Referenced by bm::bvector< Alloc >::bulk_insert_iterator::operator=().
|
inline |
Flush the internal buffer into target bvector
Definition at line 566 of file bm.h.
References BM_ASSERT, bm::bvector< Alloc >::bulk_insert_iterator::buf_, bm::bvector< Alloc >::bulk_insert_iterator::buf_size_, bm::bvector< Alloc >::bulk_insert_iterator::bvect_, bm::bvector< Alloc >::import(), bm::bvector< Alloc >::bulk_insert_iterator::sorted_, and bm::bvector< Alloc >::sync_size().
Referenced by DNA_FingerprintScanner::BuildParallel(), main(), Set3VL_ValueDemo2(), and bm::bvector< Alloc >::bulk_insert_iterator::~bulk_insert_iterator().
|
inline |
Definition at line 577 of file bm.h.
References bm::bvector< Alloc >::bulk_insert_iterator::bvect_.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 544 of file bm.h.
References BM_ASSERT, BM_ASSERT_THROW, bm::bvector< Alloc >::bulk_insert_iterator::buf_, bm::bvector< Alloc >::bulk_insert_iterator::buf_size_, bm::bvector< Alloc >::bulk_insert_iterator::buf_size_max(), bm::bvector< Alloc >::bulk_insert_iterator::bvect_, bm::id_max, bm::bvector< Alloc >::import(), and bm::bvector< Alloc >::bulk_insert_iterator::sorted_.
|
protected |
bulk insert buffer
Definition at line 592 of file bm.h.
Referenced by bm::bvector< Alloc >::bulk_insert_iterator::bulk_insert_iterator(), bm::bvector< Alloc >::bulk_insert_iterator::flush(), bm::bvector< Alloc >::bulk_insert_iterator::operator=(), and bm::bvector< Alloc >::bulk_insert_iterator::~bulk_insert_iterator().
|
protected |
current buffer size
Definition at line 593 of file bm.h.
Referenced by bm::bvector< Alloc >::bulk_insert_iterator::bulk_insert_iterator(), bm::bvector< Alloc >::bulk_insert_iterator::flush(), and bm::bvector< Alloc >::bulk_insert_iterator::operator=().
|
protected |
target bvector
Definition at line 591 of file bm.h.
Referenced by bm::bvector< Alloc >::bulk_insert_iterator::bulk_insert_iterator(), bm::bvector< Alloc >::bulk_insert_iterator::flush(), bm::bvector< Alloc >::bulk_insert_iterator::get_bvector(), bm::bvector< Alloc >::bulk_insert_iterator::operator=(), and bm::bvector< Alloc >::bulk_insert_iterator::~bulk_insert_iterator().
|
protected |
sort order hint
Definition at line 594 of file bm.h.
Referenced by bm::bvector< Alloc >::bulk_insert_iterator::bulk_insert_iterator(), bm::bvector< Alloc >::bulk_insert_iterator::flush(), and bm::bvector< Alloc >::bulk_insert_iterator::operator=().