diff options
| author | Gareth Rees | 2013-05-31 16:29:26 +0100 |
|---|---|---|
| committer | Gareth Rees | 2013-05-31 16:29:26 +0100 |
| commit | db9328da7a3c506983b8027f094dd5234062fea4 (patch) | |
| tree | 0ff1a55e78e6e5dcac9fef16cbd84458a8f731b7 /mps/code/range.c | |
| parent | 83aff660e27fe56ba6f5c4b898aa00da206c6c9e (diff) | |
| download | emacs-db9328da7a3c506983b8027f094dd5234062fea4.tar.gz emacs-db9328da7a3c506983b8027f094dd5234062fea4.zip | |
Use range objects in the cbs interface instead of base, limit pairs. the idea is that freelist and cbs should offer similar interfaces so that the testing code can be shared.
Copied from Perforce
Change: 182364
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/range.c')
| -rw-r--r-- | mps/code/range.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mps/code/range.c b/mps/code/range.c index 60a8b0da367..4cd61d7b04d 100644 --- a/mps/code/range.c +++ b/mps/code/range.c | |||
| @@ -70,6 +70,22 @@ Bool RangesOverlap(Range range1, Range range2) | |||
| 70 | && RangeBase(range2) < RangeLimit(range1); | 70 | && RangeBase(range2) < RangeLimit(range1); |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | Bool RangesNest(Range outer, Range inner) | ||
| 74 | { | ||
| 75 | AVERT(Range, outer); | ||
| 76 | AVERT(Range, inner); | ||
| 77 | return RangeBase(outer) <= RangeBase(inner) | ||
| 78 | && RangeLimit(inner) <= RangeLimit(outer); | ||
| 79 | } | ||
| 80 | |||
| 81 | Bool RangesEqual(Range range1, Range range2) | ||
| 82 | { | ||
| 83 | AVERT(Range, range1); | ||
| 84 | AVERT(Range, range2); | ||
| 85 | return RangeBase(range1) == RangeBase(range2) | ||
| 86 | && RangeLimit(range1) == RangeLimit(range2); | ||
| 87 | } | ||
| 88 | |||
| 73 | Bool RangeIsAligned(Range range, Align alignment) | 89 | Bool RangeIsAligned(Range range, Align alignment) |
| 74 | { | 90 | { |
| 75 | AVERT(Range, range); | 91 | AVERT(Range, range); |