Clean up the Range class and associated usages. The code was
authorNathan Binkert <binkertn@umich.edu>
Fri, 22 Oct 2004 05:34:40 +0000 (01:34 -0400)
committerNathan Binkert <binkertn@umich.edu>
Fri, 22 Oct 2004 05:34:40 +0000 (01:34 -0400)
commitb881408ed76a0ad9bd6a3992230b89dcec3a25bd
tree765f012ba50169db14f16763e5297ebd5be0cb27
parentf267dc4a8729179ed99ec591af2ba434cb644755
Clean up the Range class and associated usages.  The code was
never clear about whether the end of the range was inclusive
or exclusive.  Make it inclusive, but also provide a RangeSize()
function that will generate a Range based on a start and a size.
This, in combination with using the comparison operators, makes
almost all usages of the range not care how it is stored.

base/range.cc:
    Make the end of the range inclusive.

    start/end -> first/last
    (end seems too much like end() in stl)
base/range.hh:
    Make the end of the range inclusive.

    Fix all comparison operators so that they work correctly with
    an inclusive range.  Also, when comparing one range to another
    with <, <=, >, >=, we only look at the beginning of the range
    beacuse x <= y should be the same as x < y || x == y.  (This wasn't
    the case before.)

    Add a few functions for making a range:
    RangeSize is start and size
    RangeEx is start and end where end is exclusive
    RangeIn is start and end where end is inclusive

    start/end -> first/last
    (end seems too much like end() in stl)
dev/alpha_console.cc:
dev/baddev.cc:
dev/ide_ctrl.cc:
dev/ns_gige.cc:
dev/pciconfigall.cc:
dev/pcidev.cc:
dev/tsunami_cchip.cc:
dev/tsunami_io.cc:
dev/tsunami_pchip.cc:
dev/uart.cc:
    Use the RangeSize function to create a range.

--HG--
extra : convert_revision : 29a7eb7fce745680f1c77fefff456c2144bc3994
12 files changed:
base/range.cc
base/range.hh
dev/alpha_console.cc
dev/baddev.cc
dev/ide_ctrl.cc
dev/ns_gige.cc
dev/pciconfigall.cc
dev/pcidev.cc
dev/tsunami_cchip.cc
dev/tsunami_io.cc
dev/tsunami_pchip.cc
dev/uart.cc