From a2d246b6b8379f9a74dbc56feefc155f615b5ea4 Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Thu, 16 Oct 2014 05:49:51 -0400 Subject: arch: Use shared_ptr for all Faults This patch takes quite a large step in transitioning from the ad-hoc RefCountingPtr to the c++11 shared_ptr by adopting its use for all Faults. There are no changes in behaviour, and the code modifications are mostly just replacing "new" with "make_shared". --- src/base/types.hh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/base') diff --git a/src/base/types.hh b/src/base/types.hh index 9ef362fa1..c4cb4d988 100644 --- a/src/base/types.hh +++ b/src/base/types.hh @@ -40,6 +40,7 @@ #include #include +#include #include #include "base/refcnt.hh" @@ -179,6 +180,12 @@ typedef int16_t PortID; const PortID InvalidPortID = (PortID)-1; class FaultBase; -typedef RefCountingPtr Fault; +typedef std::shared_ptr Fault; + +#ifndef SWIG // Swig gets really confused by decltype +// Rather than creating a shared_ptr instance and assigning it nullptr, +// we just create an alias. +constexpr decltype(nullptr) NoFault = nullptr; +#endif #endif // __BASE_TYPES_HH__ -- cgit v1.2.3