16template <
typename OutT,
typename InT>
19 return static_cast<OutT
>(Input);
23template <
typename OutT,
typename InT,
typename... TArgs>
24FORCEINLINE OutT
Convert(
const InT& Input, TArgs... Args)
26 return OutT{Input, Args...};
30template <
typename OutT,
typename InT>
31FORCEINLINE TOptional<OutT>
Convert(
const TOptional<InT>& Input)
35 return TOptional<OutT>{
static_cast<OutT
>(Input.GetValue())};
41template <
typename OutT,
typename InT>
42FORCEINLINE TOptional<OutT>
Convert(
const InT* Input)
46 return TOptional<OutT>{
static_cast<OutT
>(*Input)};
52template <
typename OutT,
typename InT>
53FORCEINLINE TOptional<TArray<OutT>>
Convert(
const TOptional<TArray<InT>>& Input)
57 return TOptional<TArray<OutT>>{Util::Convert<OutT, InT>(Input.GetValue())};
63template <
typename OutT,
typename InT>
64FORCEINLINE TArray<OutT>
Convert(
const TArray<InT>& Input)
67 Output.Reserve(Input.Num());
68 for (
const InT& Value : Input)
70 Output.Emplace(
static_cast<OutT
>(Value));
76template <
typename OutT,
typename InT,
typename... TArgs>
77FORCEINLINE TArray<OutT>
Convert(
const TArray<InT>& Input, TArgs... Args)
80 Output.Reserve(Input.Num());
81 for (
const InT& Value : Input)
83 Output.Emplace(OutT{Value, Args...});
Helpers for DTO conversion.
Definition: Util.h:14
FORCEINLINE OutT Convert(const InT &Input)
Map from one type to an another using direct initialization.
Definition: Util.h:17