Removed the predicate path, then reworked the unit tests. Finally added split & join, along with unit tests
Added iterator adapter scheme, used this to adapt for reverse and skip. Added complexity estimation scheme. Added unit tests for iterator adapter
Added unit tests for skip and reverse; made skip and reverse commutative operations. Added unit tests. Added iterator_adapter.cpp to check header is stand-alone.
Moved tests into range2_main.cpp, updated range2.cpp to be a simple inclusion to chek for header file standalone-ness
Simplified function skip by adding make_skip_iterator_impl that handles NotPresent in an appropriate way
Updated visibility of types in range2.h, updated location of make_iterator to sit with the other make_ functions
Added a gitignore file