Add renderer resource factory contract
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <utility>
|
||||
|
||||
namespace pp::foundation {
|
||||
|
||||
enum class StatusCode {
|
||||
@@ -38,7 +40,7 @@ class Result {
|
||||
public:
|
||||
[[nodiscard]] static constexpr Result success(T value) noexcept
|
||||
{
|
||||
return Result(value, Status::success());
|
||||
return Result(std::move(value), Status::success());
|
||||
}
|
||||
|
||||
[[nodiscard]] static constexpr Result failure(Status status) noexcept
|
||||
@@ -61,6 +63,11 @@ public:
|
||||
return value_;
|
||||
}
|
||||
|
||||
[[nodiscard]] constexpr T& value() noexcept
|
||||
{
|
||||
return value_;
|
||||
}
|
||||
|
||||
[[nodiscard]] constexpr Status status() const noexcept
|
||||
{
|
||||
return status_;
|
||||
@@ -68,7 +75,7 @@ public:
|
||||
|
||||
private:
|
||||
constexpr Result(T value, Status status) noexcept
|
||||
: value_(value)
|
||||
: value_(std::move(value))
|
||||
, status_(status)
|
||||
{
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user