// Demonstrating the STL deque push_back and // push_front functions #include #include #include #include #include // for reverse using namespace std; template Container make(const char s[]) { return Container(&s[0], &s[strlen(s)]); } int main() { deque deque1 = make< deque >("Bjarne Stroustrup"), deque2; deque::iterator i; cout << "Demonstrating deque push_back function" << endl; for (i = deque1.begin(); i != deque1.end(); ++i) deque2.push_back(*i); assert (deque1 == deque2); deque1 = make< deque >("Bjarne Stroustrup"); deque2 = make< deque >(""); cout << "Demonstrating deque push_front function" << endl; for (i = deque1.begin(); i != deque1.end(); ++i) deque2.push_front(*i); assert (deque2 == make< deque >("purtsuortS enrajB")); // Show that deque2 is the reverse of deque1 by using // STL generic reverse function to reverse deque1: reverse(deque1.begin(), deque1.end()); assert (deque2 == deque1); cout << " --- Ok." << endl; return 0; }