otherwise vector::push_back() will use the copy ctor if it resizes,
to enforce its strong exception guarantee.
Signed-off-by: Kefu Chai <kchai@redhat.com>
bdout << "ptr " << this << " get " << _raw << bendl;
}
}
- buffer::ptr::ptr(ptr&& p) : _raw(p._raw), _off(p._off), _len(p._len)
+ buffer::ptr::ptr(ptr&& p) noexcept : _raw(p._raw), _off(p._off), _len(p._len)
{
p._raw = nullptr;
p._off = p._len = 0;
}
return *this;
}
- buffer::ptr& buffer::ptr::operator= (ptr&& p)
+ buffer::ptr& buffer::ptr::operator= (ptr&& p) noexcept
{
release();
buffer::raw *raw = p._raw;
ptr(unsigned l);
ptr(const char *d, unsigned l);
ptr(const ptr& p);
- ptr(ptr&& p);
+ ptr(ptr&& p) noexcept;
ptr(const ptr& p, unsigned o, unsigned l);
ptr& operator= (const ptr& p);
- ptr& operator= (ptr&& p);
+ ptr& operator= (ptr&& p) noexcept;
~ptr() {
release();
}