Added transform iterator
conditional iterator should not allow non-const dereferencing