prefix_ bool senf::PacketInterpreterBase::release()
{
- if (impl_)
+ if (impl_)
// This call will set impl_ to 0 if we just removed the last reference ...
impl_->release();
return intrusive_refcount_t<PacketInterpreterBase>::release() && !impl_;
prefix_ void senf::PacketInterpreterBase::assignImpl(detail::PacketImpl * impl)
{
- SENF_ASSERT(!impl_);
+ SENF_ASSERT(!impl_, "Internal failure: PacketInterpreter added to two Packets");
impl_ = impl;
impl_->add_ref(refcount());
}
prefix_ void senf::PacketInterpreterBase::releaseImpl()
{
- SENF_ASSERT(impl_);
+ SENF_ASSERT(impl_, "Internal failure: release of lone PacketInterpreter");
refcount_t refc (refcount());
if (refc) {
impl_->release(refc);