Stream Chat Unreal SDK
Loading...
Searching...
No Matches
Util.h
1
// Copyright 2026 Stream.IO, Inc. All Rights Reserved.
2
3
#pragma once
4
13
namespace
Util
14
{
16
template
<
typename
OutT,
typename
InT>
17
FORCEINLINE OutT
Convert
(
const
InT& Input)
18
{
19
return
static_cast<
OutT
>
(Input);
20
}
21
23
template
<
typename
OutT,
typename
InT,
typename
... TArgs>
24
FORCEINLINE OutT
Convert
(
const
InT& Input, TArgs... Args)
25
{
26
return
OutT{Input, Args...};
27
}
28
30
template
<
typename
OutT,
typename
InT>
31
FORCEINLINE TOptional<OutT>
Convert
(
const
TOptional<InT>& Input)
32
{
33
if
(Input.IsSet())
34
{
35
return
TOptional<OutT>{
static_cast<
OutT
>
(Input.GetValue())};
36
}
37
return
{};
38
}
39
41
template
<
typename
OutT,
typename
InT>
42
FORCEINLINE TOptional<OutT>
Convert
(
const
InT* Input)
43
{
44
if
(Input !=
nullptr
)
45
{
46
return
TOptional<OutT>{
static_cast<
OutT
>
(*Input)};
47
}
48
return
{};
49
}
50
52
template
<
typename
OutT,
typename
InT>
53
FORCEINLINE TOptional<TArray<OutT>>
Convert
(
const
TOptional<TArray<InT>>& Input)
54
{
55
if
(Input.IsSet())
56
{
57
return
TOptional<TArray<OutT>>{
Util::Convert<OutT, InT>
(Input.GetValue())};
58
}
59
return
{};
60
}
61
63
template
<
typename
OutT,
typename
InT>
64
FORCEINLINE TArray<OutT>
Convert
(
const
TArray<InT>& Input)
65
{
66
TArray<OutT> Output;
67
Output.Reserve(Input.Num());
68
for
(
const
InT& Value : Input)
69
{
70
Output.Emplace(
static_cast<
OutT
>
(Value));
71
}
72
return
Output;
73
}
74
76
template
<
typename
OutT,
typename
InT,
typename
... TArgs>
77
FORCEINLINE TArray<OutT>
Convert
(
const
TArray<InT>& Input, TArgs... Args)
78
{
79
TArray<OutT> Output;
80
Output.Reserve(Input.Num());
81
for
(
const
InT& Value : Input)
82
{
83
Output.Emplace(OutT{Value, Args...});
84
}
85
return
Output;
86
}
87
}
// namespace Util
Util
Helpers for DTO conversion.
Definition
Util.h:14
Util::Convert
FORCEINLINE OutT Convert(const InT &Input)
Map from one type to an another using direct initialization.
Definition
Util.h:17
Source
Backend
StreamChatDto
Public
Util.h
Generated by
1.12.0