#include "refcnt.h"
namespace panda {
iptr<weak_storage> Refcnt::get_weak () const {
if (!_weak) _weak = new weak_storage();
return _weak;
}
Refcnt::~Refcnt () {
if (_weak) _weak->valid = false;
}
iptr<atomic_weak_storage> AtomicRefcnt::get_weak () const {
if (!_weak) _weak = new atomic_weak_storage();
return _weak;
}
AtomicRefcnt::~AtomicRefcnt () {
if (_weak) _weak->valid = false;
}
}