/// Check if the slice ranges Location location( const range_type& _a, const range_type& _b) { auto _middle = _a.middle(); if (_b.max() < _middle) return LOWER; else if (_b.min() > _middle) return UPPER; return SAME; }
void operator()(const range_type& _a, const range_type& _b, range_type& _i) { _i(std::min(_a.min(),_b.min()),std::max(_a.max(),_b.max())); }