diff --git a/include/boost/detail/ob_compressed_pair.hpp b/include/boost/detail/ob_compressed_pair.hpp index d562722..df8fb64 100644 --- a/include/boost/detail/ob_compressed_pair.hpp +++ b/include/boost/detail/ob_compressed_pair.hpp @@ -104,6 +104,8 @@ public: { init_one::value>::init(val, &_first, &_second); } + compressed_pair_0(const compressed_pair_0& x) + : _first(x._first), _second(x._second) {} first_reference first() { return _first; } first_const_reference first() const { return _first; } @@ -142,6 +144,8 @@ public: { init_one::value>::init(val, &_first, static_cast(this)); } + compressed_pair_1(const compressed_pair_1& x) + : T2(x), _first(x._first) {} first_reference first() { return _first; } first_const_reference first() const { return _first; } @@ -180,6 +184,8 @@ public: { init_one::value>::init(val, static_cast(this), &_second); } + compressed_pair_2(const compressed_pair_2& x) + : T1(x), _second(x._second) {} first_reference first() { return *this; } first_const_reference first() const { return *this; } @@ -216,6 +222,8 @@ public: { init_one::value>::init(val, static_cast(this), static_cast(this)); } + compressed_pair_3(const compressed_pair_3& x) + : T1(x), T2(x) {} first_reference first() { return *this; } first_const_reference first() const { return *this; } @@ -247,6 +255,8 @@ public: compressed_pair_4(first_param_type x, second_param_type) : T1(x) {} // only one single argument constructor since T1 == T2 explicit compressed_pair_4(first_param_type x) : T1(x) {} + compressed_pair_4(const compressed_pair_4& x) + : T1(x){} first_reference first() { return *this; } first_const_reference first() const { return *this; } @@ -453,3 +463,4 @@ inline void swap(compressed_pair& x, compressed_pair& y) #endif // BOOST_OB_COMPRESSED_PAIR_HPP +