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".
This commit is contained in:
@@ -40,6 +40,7 @@
|
||||
#include <inttypes.h>
|
||||
|
||||
#include <cassert>
|
||||
#include <memory>
|
||||
#include <ostream>
|
||||
|
||||
#include "base/refcnt.hh"
|
||||
@@ -179,6 +180,12 @@ typedef int16_t PortID;
|
||||
const PortID InvalidPortID = (PortID)-1;
|
||||
|
||||
class FaultBase;
|
||||
typedef RefCountingPtr<FaultBase> Fault;
|
||||
typedef std::shared_ptr<FaultBase> 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__
|
||||
|
||||
Reference in New Issue
Block a user