#include "cycle_iterator.hpp" #include #include #include #include #include "Ring.H" using namespace std; using namespace boost; int main() { vector v (10); for (int i = 0; i < 10; i++) v[i] = i; cout << "v1: "; copy (make_cycle_iterator (v.begin(), v.end()), make_cycle_iterator (v.begin(), v.end())+9, ostream_iterator (cout, " ")); cout << '\n'; cout << "v2: "; copy (make_cycle_iterator (v.begin(), v.end()), make_cycle_iterator (v.begin(), v.end())+9, ostream_iterator (cout, " ")); cout << '\n'; cout << "v3: "; copy (make_cycle_iterator (v.begin(), v.end()), make_cycle_iterator (v.begin(), v.end())+11, ostream_iterator (cout, " ")); cout << '\n'; Ring r (10); copy (v.begin(), v.end(), r.begin()); cout << "r1: "; copy (r.begin(), r.end(), ostream_iterator (cout, " ")); cout << '\n'; cout << "r2: "; for (int i = 0; i < 10; i++) cout << r[-i] << ' '; cout << '\n'; r.shift(); cout << "shift: "; copy (r.begin(), r.end(), ostream_iterator (cout, " ")); cout << '\n'; Ring s = r; cout << "s: "; copy (s.begin(), s.end(), ostream_iterator (cout, " ")); cout << '\n'; s.Debug(); s.insert (s.begin()+9, 27); cout << "insert: "; copy (s.begin(), s.end(), ostream_iterator (cout, " ")); cout << '\n'; s.Debug(); cout << "resize: "; s.resize (4); copy (s.begin(), s.end(), ostream_iterator (cout, " ")); cout << '\n'; s.Debug(); }