15template <
typename T>
struct TIsOptional;
21template<
typename OptionalType>
41 ULANG_ASSERTF(Result !=
EResult::OK,
"Must not initialize TOptional with EResult::OK without also providing a value.");
51 : _Result(
Value._Result)
59 : _Result(
Value._Result)
72 _Result =
Value._Result;
85 _Result =
Value._Result;
121 _Value.
Get().OptionalDestructOptionalType::~OptionalDestructOptionalType();
136 if (
lhs._Result !=
rhs._Result)
144 return lhs._Value.Get() ==
rhs._Value.Get();
149 if (
lhs._Result !=
rhs._Result)
157 return lhs._Value.Get() !=
rhs._Value.Get();
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define ULANG_FORCEINLINE
Definition Common.h:188
#define ULANG_ASSERTF(expr, format,...)
Definition Common.h:290
Definition VVMEngineEnvironment.h:23
ULANG_FORCEINLINE TRemoveReference< T >::Type && MoveIfPossible(T &&Obj)
Definition References.h:104
EResult
Generic error codes.
Definition Common.h:352
@ Unspecified
Not sure if success or failure.
Definition Optional.h:187
@ Value
Definition Optional.h:187
OptionalType & GetValue()
Definition Optional.h:170
TOptional(OptionalType &&Value)
Definition Optional.h:31
TOptional & operator=(OptionalType &&Value)
Definition Optional.h:104
ULANG_FORCEINLINE EResult GetResult() const
Definition Optional.h:162
const OptionalType & Get(const OptionalType &DefaultValue) const
Definition Optional.h:180
TOptional & operator=(const TOptional &Value)
Definition Optional.h:67
TOptional(const TOptional &Value)
Definition Optional.h:50
void Emplace(ArgsType &&... Args)
Definition Optional.h:127
~TOptional()
Definition Optional.h:44
ULANG_FORCEINLINE bool IsSet() const
Definition Optional.h:161
TOptional(const OptionalType &Value)
Definition Optional.h:26
const OptionalType & GetValue() const
Definition Optional.h:169
TOptional(EResult Result=EResult::Unspecified)
Definition Optional.h:38
const OptionalType & operator*() const
Definition Optional.h:173
TOptional & operator=(TOptional &&Value)
Definition Optional.h:80
friend bool operator!=(const TOptional &lhs, const TOptional &rhs)
Definition Optional.h:147
friend bool operator==(const TOptional &lhs, const TOptional &rhs)
Definition Optional.h:134
TOptional & operator=(const OptionalType &Value)
Definition Optional.h:94
OptionalType * operator->()
Definition Optional.h:177
void Reset()
Definition Optional.h:115
OptionalType & operator*()
Definition Optional.h:174
TOptional(TOptional &&Value)
Definition Optional.h:58
const OptionalType * operator->() const
Definition Optional.h:176
ElementType & Get()
Definition Storage.h:107