mirror of
https://github.com/matrix-construct/construct
synced 2024-10-04 22:58:52 +02:00
ircd::util: Fix move support for the unique_iterator.
This commit is contained in:
parent
4a44d0368a
commit
bc3e4e3fce
1 changed files with 11 additions and 1 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue