fix(templates): remove wrong template default parameter for TOptional
This commit is contained in:
parent
700c901c7b
commit
ea3d94f9e2
@ -58,7 +58,7 @@ public:
|
|||||||
FORCEINLINE constexpr explicit (!CConvertibleTo<T&&, OptionalType>) TOptional(T&& InValue)
|
FORCEINLINE constexpr explicit (!CConvertibleTo<T&&, OptionalType>) TOptional(T&& InValue)
|
||||||
: TOptional(InPlace, Forward<T>(InValue))
|
: TOptional(InPlace, Forward<T>(InValue))
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
/** Constructs an object with initial content an object, direct-non-list-initialized from Forward<Ts>(Args).... */
|
/** Constructs an object with initial content an object, direct-non-list-initialized from Forward<Ts>(Args).... */
|
||||||
template <typename... Ts> requires (CConstructibleFrom<OptionalType, Ts...>)
|
template <typename... Ts> requires (CConstructibleFrom<OptionalType, Ts...>)
|
||||||
FORCEINLINE constexpr explicit TOptional(FInPlace, Ts&&... Args)
|
FORCEINLINE constexpr explicit TOptional(FInPlace, Ts&&... Args)
|
||||||
@ -66,7 +66,7 @@ public:
|
|||||||
{
|
{
|
||||||
new (&Value) OptionalType(Forward<Ts>(Args)...);
|
new (&Value) OptionalType(Forward<Ts>(Args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Constructs an object with initial content an object, direct-non-list-initialized from IL, Forward<Ts>(Args).... */
|
/** Constructs an object with initial content an object, direct-non-list-initialized from IL, Forward<Ts>(Args).... */
|
||||||
template <typename U, typename... Ts> requires (CConstructibleFrom<OptionalType, initializer_list<U>, Ts...>)
|
template <typename U, typename... Ts> requires (CConstructibleFrom<OptionalType, initializer_list<U>, Ts...>)
|
||||||
FORCEINLINE constexpr explicit TOptional(FInPlace, initializer_list<U> IL, Ts&&... Args)
|
FORCEINLINE constexpr explicit TOptional(FInPlace, initializer_list<U> IL, Ts&&... Args)
|
||||||
@ -96,7 +96,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Converting copy constructor. */
|
/** Converting copy constructor. */
|
||||||
template <typename T = OptionalType> requires (CConstructibleFrom<OptionalType, const T&> && NAMESPACE_PRIVATE::CTOptionalAllowUnwrappable<T, OptionalType>)
|
template <typename T> requires (CConstructibleFrom<OptionalType, const T&> && NAMESPACE_PRIVATE::CTOptionalAllowUnwrappable<T, OptionalType>)
|
||||||
FORCEINLINE constexpr explicit (!CConvertibleTo<const T&, OptionalType>) TOptional(const TOptional<T>& InValue)
|
FORCEINLINE constexpr explicit (!CConvertibleTo<const T&, OptionalType>) TOptional(const TOptional<T>& InValue)
|
||||||
: bIsValid(InValue.IsValid())
|
: bIsValid(InValue.IsValid())
|
||||||
{
|
{
|
||||||
@ -104,7 +104,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Converting move constructor. */
|
/** Converting move constructor. */
|
||||||
template <typename T = OptionalType> requires (CConstructibleFrom<OptionalType, T&&> && NAMESPACE_PRIVATE::CTOptionalAllowUnwrappable<T, OptionalType>)
|
template <typename T> requires (CConstructibleFrom<OptionalType, T&&> && NAMESPACE_PRIVATE::CTOptionalAllowUnwrappable<T, OptionalType>)
|
||||||
FORCEINLINE constexpr explicit (!CConvertibleTo<T&&, OptionalType>) TOptional(TOptional<T>&& InValue)
|
FORCEINLINE constexpr explicit (!CConvertibleTo<T&&, OptionalType>) TOptional(TOptional<T>&& InValue)
|
||||||
: bIsValid(InValue.IsValid())
|
: bIsValid(InValue.IsValid())
|
||||||
{
|
{
|
||||||
@ -136,7 +136,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (IsValid()) GetValue() = InValue.GetValue();
|
if (IsValid()) GetValue() = InValue.GetValue();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
new (&Value) OptionalType(InValue.GetValue());
|
new (&Value) OptionalType(InValue.GetValue());
|
||||||
bIsValid = true;
|
bIsValid = true;
|
||||||
@ -171,7 +171,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Assigns by copying the state of 'InValue'. */
|
/** Assigns by copying the state of 'InValue'. */
|
||||||
template <typename T = OptionalType> requires (CConstructibleFrom<OptionalType, const T&>
|
template <typename T> requires (CConstructibleFrom<OptionalType, const T&>
|
||||||
&& CAssignableFrom<OptionalType&, const T&> && NAMESPACE_PRIVATE::CTOptionalAllowUnwrappable<T, OptionalType>)
|
&& CAssignableFrom<OptionalType&, const T&> && NAMESPACE_PRIVATE::CTOptionalAllowUnwrappable<T, OptionalType>)
|
||||||
constexpr TOptional& operator=(const TOptional<T>& InValue)
|
constexpr TOptional& operator=(const TOptional<T>& InValue)
|
||||||
{
|
{
|
||||||
@ -192,7 +192,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Assigns by moving the state of 'InValue'. */
|
/** Assigns by moving the state of 'InValue'. */
|
||||||
template <typename T = OptionalType> requires (CConstructibleFrom<OptionalType, T&&>
|
template <typename T> requires (CConstructibleFrom<OptionalType, T&&>
|
||||||
&& CAssignableFrom<OptionalType&, T&&> && NAMESPACE_PRIVATE::CTOptionalAllowUnwrappable<T, OptionalType>)
|
&& CAssignableFrom<OptionalType&, T&&> && NAMESPACE_PRIVATE::CTOptionalAllowUnwrappable<T, OptionalType>)
|
||||||
constexpr TOptional& operator=(TOptional<T>&& InValue)
|
constexpr TOptional& operator=(TOptional<T>&& InValue)
|
||||||
{
|
{
|
||||||
@ -225,9 +225,9 @@ public:
|
|||||||
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Check if the two optional are equivalent. */
|
/** Check if the two optional are equivalent. */
|
||||||
template <typename T = OptionalType> requires (CWeaklyEqualityComparable<OptionalType, T>)
|
template <typename T> requires (CWeaklyEqualityComparable<OptionalType, T>)
|
||||||
NODISCARD friend FORCEINLINE constexpr bool operator==(const TOptional& LHS, const TOptional<T>& RHS)
|
NODISCARD friend FORCEINLINE constexpr bool operator==(const TOptional& LHS, const TOptional<T>& RHS)
|
||||||
{
|
{
|
||||||
if (LHS.IsValid() != RHS.IsValid()) return false;
|
if (LHS.IsValid() != RHS.IsValid()) return false;
|
||||||
@ -236,7 +236,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Check the order relationship between two optional. */
|
/** Check the order relationship between two optional. */
|
||||||
template <typename T = OptionalType> requires (CSynthThreeWayComparable<OptionalType, T>)
|
template <typename T> requires (CSynthThreeWayComparable<OptionalType, T>)
|
||||||
NODISCARD friend FORCEINLINE constexpr partial_ordering operator<=>(const TOptional& LHS, const TOptional<T>& RHS)
|
NODISCARD friend FORCEINLINE constexpr partial_ordering operator<=>(const TOptional& LHS, const TOptional<T>& RHS)
|
||||||
{
|
{
|
||||||
if (LHS.IsValid() != RHS.IsValid()) return partial_ordering::unordered;
|
if (LHS.IsValid() != RHS.IsValid()) return partial_ordering::unordered;
|
||||||
@ -245,14 +245,14 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Check if the optional value is equivalent to 'InValue'. */
|
/** Check if the optional value is equivalent to 'InValue'. */
|
||||||
template <typename T = OptionalType> requires (!CTOptional<T> && CWeaklyEqualityComparable<OptionalType, T>)
|
template <typename T> requires (!CTOptional<T> && CWeaklyEqualityComparable<OptionalType, T>)
|
||||||
NODISCARD FORCEINLINE constexpr bool operator==(const T& InValue) const&
|
NODISCARD FORCEINLINE constexpr bool operator==(const T& InValue) const&
|
||||||
{
|
{
|
||||||
return IsValid() ? GetValue() == InValue : false;
|
return IsValid() ? GetValue() == InValue : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Check that the optional value is in ordered relationship with 'InValue'. */
|
/** Check that the optional value is in ordered relationship with 'InValue'. */
|
||||||
template <typename T = OptionalType> requires (!CTOptional<T> && CSynthThreeWayComparable<OptionalType, T>)
|
template <typename T> requires (!CTOptional<T> && CSynthThreeWayComparable<OptionalType, T>)
|
||||||
NODISCARD FORCEINLINE constexpr partial_ordering operator<=>(const T& InValue) const&
|
NODISCARD FORCEINLINE constexpr partial_ordering operator<=>(const T& InValue) const&
|
||||||
{
|
{
|
||||||
return IsValid() ? SynthThreeWayCompare(GetValue(), InValue) : partial_ordering::unordered;
|
return IsValid() ? SynthThreeWayCompare(GetValue(), InValue) : partial_ordering::unordered;
|
||||||
@ -280,7 +280,7 @@ public:
|
|||||||
|
|
||||||
return *Result;
|
return *Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes the contained object to one constructed from the arguments.
|
* Changes the contained object to one constructed from the arguments.
|
||||||
* First destroys the current contained object (if any) by Reset(),
|
* First destroys the current contained object (if any) by Reset(),
|
||||||
|
Loading…
Reference in New Issue
Block a user