#include <deque>
#include <iostream>
using namespace std;
typedef deque<char > CHARDEQUE;
void print_contents (CHARDEQUE deque, char*);
int main(void){
CHARDEQUE a;
a.push_back('A');
a.push_back('B');
a.push_back('C');
a.push_back('D');
print_contents (a,"a");
cout << "max_size of a is " << a.max_size() << endl;
cout << "size of a is " << a.size() << endl;
a.resize(10,'X');
print_contents (a,"a");
cout << "size of a is " << a.size() << endl;
a.resize(5); // resize it to 5
print_contents (a,"a");
cout << "size of a is " <<a.size() << endl;
cout << "max_size of a is still " << a.max_size() << endl;
}
void print_contents (CHARDEQUE deque, char *name){
CHARDEQUE::iterator pdeque;
cout <<"The contents of "<< name <<" : ";
for(pdeque = deque.begin();pdeque != deque.end();pdeque++){
cout << *pdeque <<" ";
}
cout<< endl;
}