Require rvalue for Handle::Unmanage
This commit is contained in:
parent
b4dcec2e1c
commit
830db57c01
@ -592,7 +592,7 @@ namespace spades {
|
||||
}
|
||||
}
|
||||
|
||||
return map.Unmanage();
|
||||
return std::move(map).Unmanage();
|
||||
}
|
||||
} // namespace client
|
||||
} // namespace spades
|
||||
|
@ -142,7 +142,7 @@ namespace spades {
|
||||
SPAssert(result);
|
||||
|
||||
if (result->gameMap) {
|
||||
return result->gameMap.Unmanage();
|
||||
return std::move(result->gameMap).Unmanage();
|
||||
} else {
|
||||
std::rethrow_exception(result->exceptionThrown);
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ namespace spades {
|
||||
if (ptr)
|
||||
ptr->AddRef();
|
||||
}
|
||||
Handle(Handle<T> &&h) : ptr(h.MaybeUnmanage()) {}
|
||||
Handle(Handle<T> &&h) : ptr(std::move(h).MaybeUnmanage()) {}
|
||||
Handle(T &ref) : ptr{&ref} { ptr->AddRef(); }
|
||||
Handle(stmp::optional<T &> ref) : ptr{ref.get_pointer()} { if (ptr)
|
||||
ptr->AddRef();
|
||||
@ -158,7 +158,7 @@ namespace spades {
|
||||
* Convert a `Handle` to a raw pointer, transfering the ownership.
|
||||
* Throws an exception if the `Handle` is null.
|
||||
*/
|
||||
T *Unmanage() {
|
||||
T *Unmanage() && {
|
||||
SPAssert(ptr != NULL);
|
||||
T *p = ptr;
|
||||
ptr = NULL;
|
||||
@ -167,7 +167,7 @@ namespace spades {
|
||||
/**
|
||||
* Convert a `Handle` to a raw pointer, transfering the ownership.
|
||||
*/
|
||||
T *MaybeUnmanage() {
|
||||
T *MaybeUnmanage() && {
|
||||
T *p = ptr;
|
||||
ptr = NULL;
|
||||
return p;
|
||||
|
@ -79,7 +79,7 @@ namespace spades {
|
||||
inPixels += pitch;
|
||||
}
|
||||
}
|
||||
return bmp.Unmanage();
|
||||
return std::move(bmp).Unmanage();
|
||||
} catch (...) {
|
||||
throw;
|
||||
}
|
||||
|
@ -124,6 +124,6 @@ namespace spades {
|
||||
voxelModel->ForceMaterial(*meta.forceMaterial);
|
||||
}
|
||||
|
||||
return voxelModel.Unmanage();
|
||||
return std::move(voxelModel).Unmanage();
|
||||
}
|
||||
} // namespace spades
|
||||
|
@ -72,7 +72,7 @@ namespace spades {
|
||||
} catch (...) {
|
||||
throw;
|
||||
}
|
||||
return bmp.Unmanage();
|
||||
return std::move(bmp).Unmanage();
|
||||
}
|
||||
|
||||
void GLFlatMapRenderer::GameMapChanged(int x, int y, int z, client::GameMap *map) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user