Use our optional type for storing results of the future.
This commit is contained in:
parent
5eb7864928
commit
5aecd20c56
@ -34,21 +34,21 @@ namespace impl
|
||||
template<typename TValue>
|
||||
struct FutureStorage
|
||||
{
|
||||
std::optional<TValue> value;
|
||||
Optional<TValue> value;
|
||||
|
||||
void setValue(TValue value_) noexcept { value = std::move(value_); }
|
||||
[[nodiscard]] TValue& getValue() noexcept { return value.value(); }
|
||||
[[nodiscard]] TValue& getValue() noexcept { return value.get(); }
|
||||
|
||||
};
|
||||
|
||||
template<typename TValue>
|
||||
struct FutureStorage<TValue&>
|
||||
{
|
||||
std::optional<TValue*> value;
|
||||
|
||||
void setValue(TValue& value_) noexcept { value = &value_; }
|
||||
[[nodiscard]] TValue& getValue() const noexcept { return *value.value(); }
|
||||
};
|
||||
// template<typename TValue>
|
||||
// struct FutureStorage<TValue&>
|
||||
// {
|
||||
// Optional<TValue*> value;
|
||||
//
|
||||
// void setValue(TValue& value_) noexcept { value = &value_; }
|
||||
// [[nodiscard]] TValue& getValue() const noexcept { return *value.get(); }
|
||||
// };
|
||||
|
||||
template<>
|
||||
struct FutureStorage<void>
|
||||
|
Loading…
x
Reference in New Issue
Block a user