#include #include #include #include "Ring3.H" using namespace std; using namespace boost; int main() { vector v (10); for (int i = 0; i < 10; i++) v[i] = i; copy (make_cycle_facade (v.begin(), v.begin(), v.end()), make_cycle_facade (v.begin()+9, v.begin(), v.end()), ostream_iterator (cout, " ")); cout << '\n'; copy (make_cycle_facade (v.begin()-2, v.begin(), v.end()), make_cycle_facade (v.begin()+2, v.begin(), v.end()), ostream_iterator (cout, " ")); cout << '\n'; Ring r (10); copy (v.begin(), v.end(), r.begin()); copy (r.begin(), r.begin()+4, ostream_iterator (cout, " ")); cout << '\n'; copy (r.begin(), r.begin()+10, ostream_iterator (cout, " ")); cout << '\n'; r.shift (2); copy (r.begin(), r.begin()+4, ostream_iterator (cout, " ")); cout << '\n'; r.shift (2); copy (r.begin(), r.begin()+10, ostream_iterator (cout, " ")); cout << '\n'; copy (r.begin(), r.end(), ostream_iterator (cout, " ")); cout << '\n'; for (int i = 0; i < 10; i++) cout << r[i] << ' '; cout << '\n'; r.resize (8); copy (r.begin(), r.end(), ostream_iterator (cout, " ")); cout << '\n'; }