Add proper exhange to payload release
This commit is contained in:
+4
-3
@@ -38,7 +38,8 @@ namespace TestImpact
|
||||
const AZStd::optional<Payload>& GetPayload() const;
|
||||
|
||||
//! Facilitates the client consuming the payload.
|
||||
AZStd::optional<Payload>&& ReleasePayload();
|
||||
//! @note It is valid for a job life cycle to continue after having released its payload.
|
||||
AZStd::optional<Payload> ReleasePayload();
|
||||
|
||||
private:
|
||||
Info m_jobInfo;
|
||||
@@ -66,8 +67,8 @@ namespace TestImpact
|
||||
}
|
||||
|
||||
template<typename JobInfoT, typename JobPayloadT>
|
||||
AZStd::optional<JobPayloadT>&& Job<JobInfoT, JobPayloadT>::ReleasePayload()
|
||||
AZStd::optional<JobPayloadT> Job<JobInfoT, JobPayloadT>::ReleasePayload()
|
||||
{
|
||||
return AZStd::move(m_payload);
|
||||
return AZStd::exchange(m_payload, AZStd::nullopt);
|
||||
}
|
||||
} // namespace TestImpact
|
||||
|
||||
Reference in New Issue
Block a user