Mercurial > hg > vamp-build-and-test
diff DEPENDENCIES/generic/include/boost/icl/interval_base_set.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
line wrap: on
line diff
--- a/DEPENDENCIES/generic/include/boost/icl/interval_base_set.hpp Fri Sep 04 12:01:02 2015 +0100 +++ b/DEPENDENCIES/generic/include/boost/icl/interval_base_set.hpp Mon Sep 07 11:12:49 2015 +0100 @@ -168,13 +168,6 @@ BOOST_CONCEPT_ASSERT((LessThanComparableConcept<DomainT>)); } - /** Assignment operator */ - interval_base_set& operator = (const interval_base_set& src) - { - this->_set = src._set; - return *this; - } - # ifndef BOOST_ICL_NO_CXX11_RVALUE_REFERENCES //========================================================================== //= Move semantics @@ -188,13 +181,22 @@ } /** Move assignment operator */ - interval_base_set& operator = (interval_base_set&& src) - { + interval_base_set& operator = (interval_base_set src) + { //call by value sice 'src' is a "sink value" this->_set = boost::move(src._set); return *this; } //========================================================================== +# else + + /** Copy assignment operator */ + interval_base_set& operator = (const interval_base_set& src) + { + this->_set = src._set; + return *this; + } + # endif // BOOST_ICL_NO_CXX11_RVALUE_REFERENCES /** swap the content of containers */ @@ -497,6 +499,7 @@ interval_base_set<SubType,DomainT,Compare,Interval,Alloc> ::_add(const segment_type& addend) { + typedef typename interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::iterator iterator; if(icl::is_empty(addend)) return this->_set.end(); @@ -505,7 +508,10 @@ if(insertion.second) return that()->handle_inserted(insertion.first); else - return that()->add_over(addend, insertion.first); + { + iterator last_ = prior(this->_set.upper_bound(addend)); + return that()->add_over(addend, last_); + } } template <class SubType, class DomainT, ICL_COMPARE Compare, ICL_INTERVAL(ICL_COMPARE) Interval, ICL_ALLOC Alloc> @@ -513,7 +519,8 @@ interval_base_set<SubType,DomainT,Compare,Interval,Alloc> ::_add(iterator prior_, const segment_type& addend) { - if(icl::is_empty(addend)) + typedef typename interval_base_set<SubType,DomainT,Compare,Interval,Alloc>::iterator iterator; + if(icl::is_empty(addend)) return prior_; iterator insertion = this->_set.insert(prior_, addend); @@ -521,7 +528,10 @@ if(*insertion == addend) return that()->handle_inserted(insertion); else - return that()->add_over(addend); + { + iterator last_ = prior(this->_set.upper_bound(addend)); + return that()->add_over(addend, last_); + } } //==============================================================================