#ifndef __BASE_ADDR_RANGE_HH__
#define __BASE_ADDR_RANGE_HH__
+#include <list>
#include <vector>
#include "base/bitfield.hh"
#endif // SWIG
};
+/**
+ * Convenience typedef for a collection of address ranges
+ */
+typedef std::list<AddrRange> AddrRangeList;
+
inline AddrRange
RangeEx(Addr start, Addr end)
{ return AddrRange(start, end - 1); }
uint64_t a0 = tc->readIntReg(16);
- AddrRangeIter iter;
bool found = false;
MasterPort &dataPort = tc->getCpuPtr()->getDataPort();
// get the address ranges of the connected slave port
AddrRangeList resp = dataPort.getAddrRanges();
- for (iter = resp.begin(); iter != resp.end(); iter++) {
- if (iter->contains(K0Seg2Phys(a0) & PAddrImplMask))
+ for (const auto &iter : resp) {
+ if (iter.contains(K0Seg2Phys(a0) & PAddrImplMask))
found = true;
}
#ifndef __MEM_PORT_HH__
#define __MEM_PORT_HH__
-#include <list>
-
#include "base/addr_range.hh"
#include "mem/packet.hh"
-/**
- * This typedef is used to clean up getAddrRanges(). It's declared
- * outside the Port object since it's also used by some mem objects.
- * Eventually we should move this typedef to wherever Addr is
- * defined.
- */
-
-typedef std::list<AddrRange> AddrRangeList;
-typedef std::list<AddrRange>::iterator AddrRangeIter;
-typedef std::list<AddrRange>::const_iterator AddrRangeConstIter;
-
class MemObject;
/**
ranges.splice(ranges.begin(),
ruby_port->master_ports[i]->getAddrRanges());
}
- for (AddrRangeConstIter r = ranges.begin(); r != ranges.end(); ++r)
- DPRINTF(RubyPort, "%s\n", r->to_string());
+ for (const auto M5_VAR_USED &r : ranges)
+ DPRINTF(RubyPort, "%s\n", r.to_string());
return ranges;
}