template T &Pair::get_first() { return first_; } template T &Pair::get_second() { return first_; } template void Pair::set_first(T ©me) { first_ = copyme; } template void Pair::set_second(T ©me) { second_ = copyme; } template void Pair::Reverse() { // makes *3* copies T tmp = first_; first_ = second_; second_ = tmp; }