%{ #include %} // Ideal, especially for the simple/primitive types, would be to represent // pair as a C struct with the 2 fields, but for now we use the simplest // possible implementation, with the accessor functions required to work with // the fields. namespace std { template struct pair { typedef T first_type; typedef U second_type; pair(); pair(T first, U second); pair(const pair& other); template pair(const pair &other); T first; U second; }; }