Commit from my local branch develop-iterator
First commit transform iterator implementation.
Add two test cases with transform iterator.
This commit only has the implementation of transform iterator.
No functions are modified.