#include #include #include #include "periodic_iterator.hpp" #include "striding_iterator.hpp" template void print10(Iterator it){ for(int i = 0; i < 10; ++i){ std::cout << *it++ << std::endl; } } int main(){ using namespace boost::assign; std::vector v; v += 0,1,2,3,4; print10(periodic(v.begin(), v.end())); std::cout << "***\n"; print10(periodic(strided(v.begin(), 1), strided(v.end(), 1)) + 2); std::cout << "***\n"; std::copy(v.begin(), v.end(), std::ostream_iterator(std::cout, "\n")); }