summaryrefslogtreecommitdiff
path: root/boost/icl/split_interval_set.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/icl/split_interval_set.hpp')
-rw-r--r--boost/icl/split_interval_set.hpp29
1 files changed, 20 insertions, 9 deletions
diff --git a/boost/icl/split_interval_set.hpp b/boost/icl/split_interval_set.hpp
index 452a521fa4..ca0d0222e7 100644
--- a/boost/icl/split_interval_set.hpp
+++ b/boost/icl/split_interval_set.hpp
@@ -104,12 +104,6 @@ public:
/// Constructor for a single interval
explicit split_interval_set(const domain_type& itv): base_type() { this->add(itv); }
- /// Assignment operator
- template<class SubType>
- split_interval_set& operator =
- (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
- { this->assign(src); return *this; }
-
/// Assignment from a base interval_set.
template<class SubType>
void assign(const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
@@ -118,7 +112,16 @@ public:
this->_set.insert(src.begin(), src.end());
}
-# ifndef BOOST_NO_RVALUE_REFERENCES
+ /// Assignment operator for base type
+ template<class SubType>
+ split_interval_set& operator =
+ (const interval_base_set<SubType,DomainT,Compare,Interval,Alloc>& src)
+ {
+ this->assign(src);
+ return *this;
+ }
+
+# ifndef BOOST_ICL_NO_CXX11_RVALUE_REFERENCES
//==========================================================================
//= Move semantics
//==========================================================================
@@ -129,14 +132,22 @@ public:
{}
/// Move assignment operator
- split_interval_set& operator = (split_interval_set&& src)
+ split_interval_set& operator = (split_interval_set src)
{
base_type::operator=(boost::move(src));
return *this;
}
//==========================================================================
-# endif // BOOST_NO_RVALUE_REFERENCES
+# else
+
+ /// Assignment operator
+ split_interval_set& operator = (const split_interval_set& src)
+ {
+ base_type::operator=(src);
+ return *this;
+ }
+# endif // BOOST_ICL_NO_CXX11_RVALUE_REFERENCES
private:
// Private functions that shall be accessible by the baseclass: