Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Class template compressed_pair<T, T>

boost::compressed_pair<T, T>


// In header: <boost/detail/compressed_pair.hpp>

template<typename T> 
class compressed_pair<T, T> {
  // 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;

  // construct/copy/destruct
  compressed_pair(first_param_type, second_param_type);
  explicit compressed_pair(first_param_type);

  // public member functions
  first_reference first();
  first_const_reference first() const;
  second_reference second();
  second_const_reference second() const;
  void swap(::boost::compressed_pair< T, T > &);


compressed_pair public construct/copy/destruct

  1. compressed_pair();
  2. compressed_pair(first_param_type x, second_param_type y);
  3. explicit compressed_pair(first_param_type x);

compressed_pair public member functions

  1. first_reference first();
  2. first_const_reference first() const;
  3. second_reference second();
  4. second_const_reference second() const;
  5. void swap(::boost::compressed_pair< T, T > & y);