iterator(this_type * rowner) : owner(rowner), v(owner->decode()) { }
iterator operator++(int) { iterator copy = *this; v = owner->decode(); return copy; }
iterator operator++() { v = owner->decode(); return *this; }