40 #ifndef __BASE_CHANNEL_ADDR_HH__ 41 #define __BASE_CHANNEL_ADDR_HH__ 60 explicit constexpr
operator Type()
const {
return a; }
68 :
a(range.removeIntlvBits(_a)) {}
152 : _start(start), _end(end) {}
161 constexpr
bool valid()
const {
return _start <= _end; }
167 return a >= _start && a <= _end;
185 return std::hash<ChannelAddr::Type>{}(
193 #endif // __BASE_CHANNEL_ADDR_HH__
Addr getPA(const AddrRange &range) const
constexpr ChannelAddrRange(ChannelAddr start, ChannelAddr end)
constexpr bool operator==(const ChannelAddr &b) const
constexpr bool operator<(const ChannelAddr &b) const
Overload hash function for BasicBlockRange type.
constexpr ChannelAddr operator>>(const int b) const
Type a
Member holding the actual value.
constexpr ChannelAddr size() const
constexpr bool operator!=(const ChannelAddr &b) const
constexpr ChannelAddr operator-(const Type &b) const
constexpr Type value() const
Converting back to the value type.
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
constexpr ChannelAddrRange()
result_type operator()(argument_type const &a) const noexcept
constexpr bool operator>(const ChannelAddr &b) const
constexpr ChannelAddr operator^(const ChannelAddr &b) const
constexpr ChannelAddr operator+(const Type &b) const
constexpr ChannelAddr end() const
constexpr ChannelAddr operator<<(const int b) const
constexpr ChannelAddr(Type _a)
Explicit constructor assigning a value.
constexpr ChannelAddr operator-(const ChannelAddr &b) const
The ChanneelAddrRange class describes a contiguous range of addresses in a contiguous channel-local a...
Addr addIntlvBits(Addr a) const
This method adds the interleaving bits removed by removeIntlvBits.
constexpr ChannelAddr operator/(const Type &b) const
ChannelAddr(const AddrRange &range, Addr _a)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
ChannelAddr argument_type
constexpr ChannelAddr start() const
constexpr ChannelAddr operator &(const Type b) const
constexpr ChannelAddr operator+(const ChannelAddr &b) const
constexpr bool valid() const
constexpr ChannelAddr operator*(const Type &b) const
constexpr ChannelAddr operator|(const ChannelAddr &b) const
constexpr bool operator>=(const ChannelAddr &b) const
Class holding a guest address in a contiguous channel-local address space.
constexpr bool contains(ChannelAddr a) const
ChannelAddr & operator=(const ChannelAddr &)=default
constexpr bool operator<=(const ChannelAddr &b) const
constexpr ChannelAddr operator|(const Type b) const