This program illustrates how to display the name of the underlying type represented by each typedef defined by a deque class. To get a good feel for what this program shows you, you should change the meaning of TrialType a couple of times, re-building and re-running after each change. You will also need to change the call to the random generator that produces the component values of the deque. Press Enter to continue ... Size of q = 5 Contents of q: A C E G I Press Enter to continue ... deque::size_type is equivalent to the following type: unsigned int If i is of type deque::size_type and i = q.max_size(); then the value of i is 4294967295, for the given q. Press Enter to continue ... deque::difference_type is equivalent to the following type: int If d is of type deque::differencee_type and d = q.end()-q.begin(); then the value of d is 5, for the given q. Press Enter to continue ... deque::reference is equivalent to the following type: char If r is of type deque::reference and r = q[3]; then the value of r is G, for the given q. Press Enter to continue ... deque::const_reference is equivalent to the following type: char If r_c is of type deque::const_reference and r_c = q[3]; then the value of r is G, for the given q. Press Enter to continue ... deque::iterator is equivalent to the following type: class std::_Deque_iterator,1> If itr is of type deque::iterator and itr = begin()+2; then the value pointed to by itr is E, for the given q. Press Enter to continue ... deque::const_iterator is equivalent to the following type: class std::_Deque_const_iterator,1> If itr_c is of type deque::const_iterator and itr_c = begin()+1; then the value pointed to by itr_c is C, for the given q. Press Enter to continue ... deque::reverse_iterator is equivalent to the following type: class std::reverse_iterator,1> > If itr_r is of type deque::reverse_iterator and itr_r = rbegin()+1; then the value pointed to by itr_r is G, for the given q. Press Enter to continue ... deque::const_reverse_iterator is equivalent to the following type: class std::reverse_iterator,1> > If itr_cr is of type deque::const_reverse_iterator and itr_cr = rend()-2; then the value pointed to by itr_cr is C, for the given q. Press Enter to continue ... deque::pointer is equivalent to the following type: char * If ptr is of type deque::pointer and ptr = &q[3]; then the value pointed to by ptr is G, for the given q. Press Enter to continue ... deque::const_pointer is equivalent to the following type: char const * If ptr_c is of type deque::const_pointer and ptr_c = &q[1]; then the value pointed to by ptr_c is C, for the given q. Press Enter to continue ... deque::value_type is equivalent to the following type: char Press Enter to continue ... deque::allocator_type is equivalent to the following type: char Press Enter to continue ...