#include <bitmap.h>
Collaboration diagram for atlas::bitmap::BitMap::iterator:

Public Types | |
| typedef std::forward_iterator_tag | iterator_category |
| typedef unsigned long | value_type |
| typedef ptrdiff_t | difference_type |
| typedef const value_type * | pointer |
| typedef const value_type & | reference |
Public Member Functions | |
| iterator () | |
| iterator (const iterator &j) | |
| iterator (const std::vector< unsigned long >::const_iterator &p, unsigned long n, unsigned long c) | |
| ~iterator () | |
| iterator & | operator= (const iterator &i) |
| bool | operator== (const iterator &i) const |
| bool | operator!= (const iterator &i) const |
| bool | operator() () const |
| const value_type & | operator * () const |
| iterator & | operator++ () |
| iterator | operator++ (int) |
Private Attributes | |
| std::vector< unsigned long >::const_iterator | d_chunk |
| unsigned long | d_bitAddress |
| unsigned long | d_capacity |
Because of the nature of a bitmap (as a collection of addresses of set bits), only constant iterators make sense; one cannot "change the value" of an element at a given position because the value _is_ the position. The most delicate operation is the increment, which has to find the position of the next set bit, while avoiding falling off the bitmap if there is no such. Because of this we had to pass the data for the end of the bitmap into the iterator.
Definition at line 232 of file bitmap.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
Definition at line 255 of file bitmap.h. References atlas::bitmap::BitMap::const_iterator. |
|
|
|
|
|
|
|
|
Definition at line 269 of file bitmap.h. References d_bitAddress. |
|
|
|
|
|
Post-increment operator; it should return the value as it was _before_ the incrementation. Definition at line 571 of file bitmap.cpp. |
|
|
The incrementation operator; it has to move the bitAddress to the next set bit, and move the chunk if necessary. Definition at line 516 of file bitmap.cpp. References d_bitAddress, d_capacity, d_chunk, and atlas::bits::firstBit(). |
|
|
Definition at line 506 of file bitmap.cpp. References d_bitAddress, d_capacity, and d_chunk. |
|
|
Definition at line 265 of file bitmap.h. References d_bitAddress. |
|
|
Definition at line 237 of file bitmap.h. Referenced by operator!=(), operator++(), operator=(), and operator==(). |
|
|
Definition at line 238 of file bitmap.h. Referenced by operator++(), and operator=(). |
|
|
Definition at line 236 of file bitmap.h. Referenced by operator++(), and operator=(). |
1.3.9.1