...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::compressed_pair<T, T>
// In header: <boost/detail/compressed_pair.hpp> template<typename T> class compressed_pair<T, T> { public: // types typedef T first_type; typedef T second_type; typedef call_traits< first_type >::param_type first_param_type; typedef call_traits< second_type >::param_type second_param_type; typedef call_traits< first_type >::reference first_reference; typedef call_traits< second_type >::reference second_reference; typedef call_traits< first_type >::const_reference first_const_reference; typedef call_traits< second_type >::const_reference second_const_reference; // public member functions compressed_pair(); compressed_pair(first_param_type, second_param_type); explicit compressed_pair(first_param_type); first_reference first(); first_const_reference first() const; second_reference second(); second_const_reference second() const; void swap(::boost::compressed_pair< T, T > &); };