0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-06-13 07:28:58 +02:00

ircd::util: Fix move support for the unique_iterator.

This commit is contained in:
Jason Volk 2017-10-25 09:28:27 -07:00
parent 4a44d0368a
commit bc3e4e3fce

View file

@ -1022,13 +1022,23 @@ struct unique_iterator
{}
unique_iterator(const unique_iterator &) = delete;
unique_iterator(unique_iterator &&o)
unique_iterator(unique_iterator &&o) noexcept
:c{std::move(o.c)}
,it{std::move(o.it)}
{
o.c = nullptr;
}
unique_iterator &operator=(const unique_iterator &) = delete;
unique_iterator &operator=(unique_iterator &&o) noexcept
{
this->~unique_iterator();
c = std::move(o.c);
it = std::move(o.it);
o.c = nullptr;
return *this;
}
~unique_iterator() noexcept
{
if(c)