# bm::bvector< Alloc >::insert_iterator Class Reference
[The Main bvector<> Group]

Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces). More...

`#include <bm.h>`

## Public Types

typedef std::output_iterator_tag | iterator_category
typedef unsigned | value_type
typedef void | difference_type
typedef void | pointer
typedef void | reference

## Public Member Functions

| insert_iterator (bvector< Alloc > &bvect)
insert_iterator & | operator= (bm::id_t n)
insert_iterator & | operator* ()
insert_iterator & | operator++ ()
insert_iterator & | operator++ (int)

## Protected Attributes

bm::bvector< Alloc > & | bvect_
bm::id_t | max_bit_

## Detailed Description

### template<class Alloc>
class bm::bvector< Alloc >::insert_iterator

Output iterator iterator designed to set "ON" bits based on input sequence of integers (bit indeces).

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).

Note:
  If you have many bits to set it is a good idea to use output iterator instead of explicitly calling set, because iterator may implement some performance specific tricks to make sure bulk insert is fast.

Definition at line 335 of file bm.h.

## Member Typedef Documentation

template<class Alloc>

typedef void bm::bvector< Alloc >::insert_iterator::difference_type

Definition at line 342 of file bm.h.

template<class Alloc>

typedef std::output_iterator_tag bm::bvector< Alloc >::insert_iterator::iterator_category

Definition at line 339 of file bm.h.

template<class Alloc>

typedef void bm::bvector< Alloc >::insert_iterator::pointer

Definition at line 343 of file bm.h.

template<class Alloc>

typedef void bm::bvector< Alloc >::insert_iterator::reference

Definition at line 344 of file bm.h.

template<class Alloc>

typedef unsigned bm::bvector< Alloc >::insert_iterator::value_type

Definition at line 341 of file bm.h.

## Constructor & Destructor Documentation

template<class Alloc>

bm::bvector< Alloc >::insert_iterator::insert_iterator | ( | bvector< Alloc > & | bvect | ) | `[inline]`

Definition at line 346 of file bm.h.

## Member Function Documentation

template<class Alloc>

insert_iterator& bm::bvector< Alloc >::insert_iterator::operator* | ( |  | ) | `[inline]`

Returns *this without doing anything (no-op)

Definition at line 370 of file bm.h.

template<class Alloc>

insert_iterator& bm::bvector< Alloc >::insert_iterator::operator++ | ( | int |  | ) | `[inline]`

Returns *this. This iterator does not move (no-op)

Definition at line 374 of file bm.h.

template<class Alloc>

insert_iterator& bm::bvector< Alloc >::insert_iterator::operator++ | ( |  | ) | `[inline]`

Returns *this. This iterator does not move (no-op)

Definition at line 372 of file bm.h.

template<class Alloc>

insert_iterator& bm::bvector< Alloc >::insert_iterator::operator= | ( | bm::id_t | n | ) | `[inline]`

Definition at line 352 of file bm.h.

References BM_ASSERT, bm::bvector< Alloc >::insert_iterator::bvect_, bm::id_max, and bm::bvector< Alloc >::insert_iterator::max_bit_.

## Field Documentation

template<class Alloc>

bm::bvector<Alloc>& bm::bvector< Alloc >::insert_iterator::bvect_`[protected]`

Definition at line 377 of file bm.h.

Referenced by bm::bvector< Alloc >::insert_iterator::operator=().

template<class Alloc>

bm::id_t bm::bvector< Alloc >::insert_iterator::max_bit_`[protected]`

Definition at line 378 of file bm.h.

Referenced by bm::bvector< Alloc >::insert_iterator::operator=().

The documentation for this class was generated from the following file:

- bm.h