| Index: net/quic/core/interval.h
|
| diff --git a/net/quic/core/interval.h b/net/quic/core/interval.h
|
| index ef4661c760bf61f644f254298bc9eb25846b7d73..d29694e598bc054a22a5ebae9ad4498e3295c40e 100644
|
| --- a/net/quic/core/interval.h
|
| +++ b/net/quic/core/interval.h
|
| @@ -157,19 +157,6 @@ class Interval {
|
| // to represent that interval, and returns true iff *this was modified.
|
| bool SpanningUnion(const Interval& i);
|
|
|
| - // Determines the difference between two intervals by finding all points that
|
| - // are contained in *this but not in i, coalesces those points into the
|
| - // largest possible contiguous intervals, and appends those intervals to the
|
| - // *difference vector. Intuitively this can be thought of as "erasing" i from
|
| - // *this. This will either completely erase *this (leaving nothing behind),
|
| - // partially erase some of *this from the left or right side (leaving some
|
| - // residual behind), or erase a hole in the middle of *this (leaving behind an
|
| - // interval on either side). Therefore, 0, 1, or 2 intervals will be appended
|
| - // to *difference. The method returns true iff the intersection of *this and i
|
| - // is non-empty. The caller owns the vector and the Interval* pointers
|
| - // inside it. The difference vector is required to be non-null.
|
| - bool Difference(const Interval& i, std::vector<Interval*>* difference) const;
|
| -
|
| // Determines the difference between two intervals as in
|
| // Difference(Interval&, vector*), but stores the results directly in out
|
| // parameters rather than dynamically allocating an Interval* and appending
|
| @@ -266,53 +253,6 @@ bool Interval<T>::SpanningUnion(const Interval& i) {
|
|
|
| template <typename T>
|
| bool Interval<T>::Difference(const Interval& i,
|
| - std::vector<Interval*>* difference) const {
|
| - if (Empty()) {
|
| - // <empty> - <i> = <empty>
|
| - return false;
|
| - }
|
| - if (i.Empty()) {
|
| - // <this> - <empty> = <this>
|
| - difference->push_back(new Interval(*this));
|
| - return false;
|
| - }
|
| - if (min() < i.max() && min() >= i.min() && max() > i.max()) {
|
| - // [------ this ------)
|
| - // [------ i ------)
|
| - // [-- result ---)
|
| - difference->push_back(new Interval(i.max(), max()));
|
| - return true;
|
| - }
|
| - if (max() > i.min() && max() <= i.max() && min() < i.min()) {
|
| - // [------ this ------)
|
| - // [------ i ------)
|
| - // [- result -)
|
| - difference->push_back(new Interval(min(), i.min()));
|
| - return true;
|
| - }
|
| - if (min() < i.min() && max() > i.max()) {
|
| - // [------- this --------)
|
| - // [---- i ----)
|
| - // [ R1 ) [ R2 )
|
| - // There are two results: R1 and R2.
|
| - difference->push_back(new Interval(min(), i.min()));
|
| - difference->push_back(new Interval(i.max(), max()));
|
| - return true;
|
| - }
|
| - if (min() >= i.min() && max() <= i.max()) {
|
| - // [--- this ---)
|
| - // [------ i --------)
|
| - // Intersection is <this>, so difference yields the empty interval.
|
| - // Nothing is appended to *difference.
|
| - return true;
|
| - }
|
| - // No intersection. Append <this>.
|
| - difference->push_back(new Interval(*this));
|
| - return false;
|
| -}
|
| -
|
| -template <typename T>
|
| -bool Interval<T>::Difference(const Interval& i,
|
| Interval* lo,
|
| Interval* hi) const {
|
| // Initialize *lo and *hi to empty
|
|
|