diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2014-10-16 05:49:46 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2014-10-16 05:49:46 -0400 |
commit | ad3f75dc81efc8818786c32d6190e3ed069b9fc6 (patch) | |
tree | f3f0e2a55a3fbcd554fb8d4f110e41991de03ae9 /src/base | |
parent | 4e67ab6663f8f4960a1078546906746877f87e1a (diff) | |
download | gem5-ad3f75dc81efc8818786c32d6190e3ed069b9fc6.tar.xz |
dev: Use shared_ptr for EthPacketData
This patch transitions the EthPacketData from the ad-hoc
RefCountingPtr to the c++11 shared_ptr. There are no changes in
behaviour, and the code modifications are mainly replacing "new" with
"make_shared".
The bool casting operator for the shared_ptr is explicit, and we must
therefore either cast it, compare it to NULL (p != nullptr), double
negate it (!!p) or do a (p ? true : false).
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/inet.hh | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/base/inet.hh b/src/base/inet.hh index 5130a072c..07bbdc3b4 100644 --- a/src/base/inet.hh +++ b/src/base/inet.hh @@ -182,7 +182,7 @@ class EthPtr const EthPacketPtr packet() const { return p; } EthPacketPtr packet() { return p; } bool operator!() const { return !p; } - operator bool() const { return p; } + operator bool() const { return (p != nullptr); } int off() const { return 0; } int pstart() const { return off() + ((const EthHdr*)p->data)->size(); } }; @@ -324,7 +324,7 @@ class IpPtr const EthPacketPtr packet() const { return p; } EthPacketPtr packet() { return p; } bool operator!() const { return !p; } - operator bool() const { return p; } + operator bool() const { return (p != nullptr); } int off() const { return (sizeof(eth_hdr) + ((eth_hdr_vlan) ? 4 : 0)); } int pstart() const { return (off() + get()->size()); } }; @@ -440,7 +440,7 @@ class Ip6Ptr const EthPacketPtr packet() const { return p; } EthPacketPtr packet() { return p; } bool operator!() const { return !p; } - operator bool() const { return p; } + operator bool() const { return (p != nullptr); } int off() const { return sizeof(eth_hdr) + ((eth_hdr_vlan) ? 4 : 0); } int pstart() const { return off() + get()->size(); } }; @@ -576,7 +576,7 @@ class TcpPtr const EthPacketPtr packet() const { return p; } EthPacketPtr packet() { return p; } bool operator!() const { return !p; } - operator bool() const { return p; } + operator bool() const { return (p != nullptr); } int off() const { return _off; } int pstart() const { return off() + get()->size(); } }; @@ -671,7 +671,7 @@ class UdpPtr const EthPacketPtr packet() const { return p; } EthPacketPtr packet() { return p; } bool operator!() const { return !p; } - operator bool() const { return p; } + operator bool() const { return (p != nullptr); } int off() const { return _off; } int pstart() const { return off() + get()->size(); } }; |