From ad3f75dc81efc8818786c32d6190e3ed069b9fc6 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Thu, 16 Oct 2014 05:49:46 -0400 Subject: 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). --- src/base/inet.hh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/base') 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(); } }; -- cgit v1.2.3