29#ifndef INCLUDED_MDDS_REF_PAIR_HPP
30#define INCLUDED_MDDS_REF_PAIR_HPP
34namespace mdds {
namespace detail {
36template<
typename T1,
typename T2>
39 using first_type =
typename std::add_lvalue_reference<T1>::type;
40 using second_type =
typename std::add_lvalue_reference<T2>::type;
45 ref_pair(first_type _first, second_type _second) : first(_first), second(_second)
50 bool operator==(
const std::pair<
typename std::decay<T1>::type,
typename std::decay<T2>::type>& other)
const
52 return first == other.first && second == other.second;
55 bool operator!=(
const std::pair<
typename std::decay<T1>::type,
typename std::decay<T2>::type>& other)
const
57 return !operator==(other);
60 bool operator==(
const ref_pair& other)
const
62 return first == other.first && second == other.second;
65 bool operator!=(
const ref_pair& other)
const
67 return !operator==(other);
Definition: ref_pair.hpp:38