From: Curtis Dunham Date: Tue, 3 Feb 2015 19:25:58 +0000 (-0500) Subject: base: add an accessor and operators ==,!= to address ranges X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f0a764edc6dd9c844a1514a005f0695a9149b58a;p=gem5.git base: add an accessor and operators ==,!= to address ranges --- diff --git a/src/base/addr_range.hh b/src/base/addr_range.hh index 57db8db71..2a20863b4 100644 --- a/src/base/addr_range.hh +++ b/src/base/addr_range.hh @@ -226,6 +226,11 @@ class AddrRange */ Addr start() const { return _start; } + /** + * Get the end address of the range. + */ + Addr end() const { return _end; } + /** * Get a string representation of the range. This could * alternatively be implemented as a operator<<, but at the moment @@ -363,6 +368,22 @@ class AddrRange return intlvMatch < r.intlvMatch; } + bool operator==(const AddrRange& r) const + { + if (_start != r._start) return false; + if (_end != r._end) return false; + if (intlvBits != r.intlvBits) return false; + if (intlvBits != 0) { + if (intlvHighBit != r.intlvHighBit) return false; + if (intlvMatch != r.intlvMatch) return false; + } + return true; + } + + bool operator!=(const AddrRange& r) const + { + return !(*this == r); + } #endif // SWIG };