The TR1
Tuple type provides a default constructor, a constructor that takes
initializers for all of its elements, a copy constructor, and a converting
copy constructor. The details of the various constructors are described
in this section.