#include "Pair.h"

template <class T>
T Pair<T>::munge() const {
  return this->first_ + this->second_;
}

template <class T>
Pair<T> &Pair<T>::operator=(const Pair<T> &rhs) {
  // check for self-assignment and return with no change if found
  // (would be harmless to allow it, but good practice)
  if (this == &rhs) {
    return *this;
  }
  // copy state from rhs & return
  first_ = rhs.first_;
  second_ = rhs.second_;
  return *this;
}