11 #ifndef __BlockIterator_h
12 #define __BlockIterator_h
23 current = start_of_first_block;
35 data_size = copy.data_size;
36 block_size = copy.block_size;
37 increment = copy.increment;
44 current = copy.current;
45 end_of_data = copy.end_of_data;
49 void set_data_size (
unsigned size)
54 end_of_data = current + data_size;
57 unsigned get_data_size ()
const {
return data_size; }
59 void set_block_size (
unsigned size)
64 unsigned get_block_size ()
const {
return block_size; }
66 void set_increment (
unsigned step)
76 inline void operator ++ ()
80 if (end_of_data && current == end_of_data)
82 end_of_data += block_size;
83 current += block_size - data_size;
87 inline T operator * ()
const