|
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 () | |
| bulk_insert_iterator (bvector< Alloc > &bvect, bm::sort_order so=BM_UNKNOWN) BMNOEXCEPT | |
| bulk_insert_iterator (const bulk_insert_iterator &iit) | |
| bulk_insert_iterator (const insert_iterator &iit) | |
| bulk_insert_iterator (bulk_insert_iterator &&iit) BMNOEXCEPT | |
| bulk_insert_iterator & | operator= (const bulk_insert_iterator &ii) |
| bulk_insert_iterator & | operator= (bulk_insert_iterator &&ii) BMNOEXCEPT |
| bulk_insert_iterator & | operator= (size_type n) |
| bulk_insert_iterator & | operator* () |
| bulk_insert_iterator & | operator++ () |
| bulk_insert_iterator & | operator++ (int) |
| void | flush () |
| bvector_type * | get_bvector () const BMNOEXCEPT |
Static Protected Member Functions | |
| static size_type | buf_size_max () BMNOEXCEPT |
Protected Attributes | |
| bvector_type * | bvect_ |
| target bvector | |
| size_type * | buf_ |
| bulk insert buffer | |
| size_type | buf_size_ |
| current buffer size | |
| bm::sort_order | sorted_ |
| sort order hint | |
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.
| typedef bm::bvector<Alloc> bm::bvector< Alloc >::bulk_insert_iterator::bvector_type |
| typedef void bm::bvector< Alloc >::bulk_insert_iterator::difference_type |
| typedef std::output_iterator_tag bm::bvector< Alloc >::bulk_insert_iterator::iterator_category |
| typedef void bm::bvector< Alloc >::bulk_insert_iterator::pointer |
| typedef void bm::bvector< Alloc >::bulk_insert_iterator::reference |
| typedef bvector_type::size_type bm::bvector< Alloc >::bulk_insert_iterator::size_type |
| typedef bvector_type::size_type bm::bvector< Alloc >::bulk_insert_iterator::value_type |
|
inline |
Definition at line 477 of file bm.h.
References bm::BM_UNKNOWN, BMNOEXCEPT, buf_, buf_size_, bvect_, and sorted_.
Referenced by bulk_insert_iterator(), bulk_insert_iterator(), operator*(), operator++(), operator++(), operator=(), operator=(), and operator=().
|
inline |
|
inline |
Definition at line 487 of file bm.h.
References bm::BM_UNKNOWN, BMNOEXCEPT, buf_, buf_size_, bvect_, and bm::bvector< Alloc >::bvector().
|
inline |
|
inline |
Definition at line 506 of file bm.h.
References bm::BM_UNKNOWN, buf_, buf_size_, bvect_, get_bvector(), and sorted_.
|
inline |
Definition at line 514 of file bm.h.
References BMNOEXCEPT, buf_, buf_size_, bulk_insert_iterator(), and sorted_.
|
inlinestaticprotected |
Definition at line 581 of file bm.h.
References BMNOEXCEPT, and bm::set_block_size.
Referenced by operator=().
|
inline |
Flush the internal buffer into target bvector
Definition at line 566 of file bm.h.
References BM_ASSERT, buf_, buf_size_, bvect_, and sorted_.
Referenced by DNA_FingerprintScanner< bm::bvector<> >::BuildParallel(), main(), Set3VL_ValueDemo2(), and ~bulk_insert_iterator().
|
inline |
Definition at line 577 of file bm.h.
References BMNOEXCEPT, and bvect_.
Referenced by bulk_insert_iterator().
|
inline |
Returns *this without doing anything (no-op)
Definition at line 559 of file bm.h.
References bulk_insert_iterator().
|
inline |
Returns *this. This iterator does not move (no-op)
Definition at line 561 of file bm.h.
References bulk_insert_iterator().
|
inline |
Returns *this. This iterator does not move (no-op)
Definition at line 563 of file bm.h.
References bulk_insert_iterator().
|
inline |
Definition at line 533 of file bm.h.
References BMNOEXCEPT, buf_, buf_size_, bulk_insert_iterator(), bvect_, and sorted_.
|
inline |
|
inline |
Definition at line 544 of file bm.h.
References BM_ASSERT, BM_ASSERT_THROW, buf_, buf_size_, buf_size_max(), bulk_insert_iterator(), bvect_, bm::id_max, and sorted_.
|
protected |
bulk insert buffer
Definition at line 592 of file bm.h.
Referenced by bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), flush(), operator=(), operator=(), operator=(), and ~bulk_insert_iterator().
|
protected |
current buffer size
Definition at line 593 of file bm.h.
Referenced by bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), flush(), operator=(), operator=(), and operator=().
|
protected |
target bvector
Definition at line 591 of file bm.h.
Referenced by bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), flush(), get_bvector(), operator=(), operator=(), operator=(), and ~bulk_insert_iterator().
|
protected |
sort order hint
Definition at line 594 of file bm.h.
Referenced by bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), bulk_insert_iterator(), flush(), operator=(), operator=(), and operator=().