24 template<
typename InW
ideCharType>
34 return EncodeImpl(Dest, DestLen, Source, SourceLen,
OutDestLen);
40 return DecodeImpl(Dest, DestLen, Source, SourceLen,
OutDestLen);
133 template<
typename T = W
ideCharType,
typename TEnableIf<sizeof(T) == 4,
char>::Type CharSize = 4>
140 if (DestLen < 3U*SourceLen)
179 template<
typename T = W
ideCharType,
typename TEnableIf<sizeof(T) == 2,
char>::Type CharSize = 2>
183 if (DestLen < 3U*SourceLen)
231 template<
typename T = W
ideCharType,
typename TEnableIf<sizeof(T) == 4,
char>::Type CharSize = 4>
291 if (Dest[
DestIt - 1] != 0)
311 template<
typename T = W
ideCharType,
typename TEnableIf<sizeof(T) == 2,
char>::Type CharSize = 2>
373 if (
DestIt + 1U >= DestLen)
392 template<
typename T = W
ideCharType,
typename TEnableIf<sizeof(T) == 4,
char>::Type CharSize = 4>
407 template<
typename QuantizedType,
typename ElementType>
413 constexpr SIZE_T ElementSize =
sizeof(ElementType);
414 constexpr SIZE_T ElementAlignment =
Align(
alignof(ElementType), 4U);
416 void* ElementStorage =
nullptr;
417 if (Source.ElementCount > 0)
419 ElementStorage =
Context.GetInternalContext()->Alloc(
Align(ElementSize*Source.ElementCount, 4U), ElementAlignment);
420 FMemory::Memcpy(ElementStorage, Source.ElementStorage, ElementSize*Source.ElementCount);
422 Target.ElementCapacityCount = Source.ElementCount;
423 Target.ElementCount = Source.ElementCount;
424 Target.ElementStorage = ElementStorage;
427 template<
typename QuantizedType,
typename ElementType>
430 Context.GetInternalContext()->Free(
Array.ElementStorage);
433 Array = QuantizedType();
436 template<
typename QuantizedType,
typename ElementType>
441 constexpr SIZE_T ElementSize =
sizeof(ElementType);
442 constexpr SIZE_T ElementAlignment =
Align(
alignof(ElementType), 4U);
445 Context.GetInternalContext()->Free(
Array.ElementStorage);
456 template<
typename QuantizedType,
typename ElementType>
483struct FNetSerializeArgs;
484struct FNetDeserializeArgs;
485struct FNetCloneDynamicStateArgs;
486struct FNetFreeDynamicStateArgs;
487struct FNetQuantizeArgs;
488struct FNetDequantizeArgs;
489struct FNetIsEqualArgs;
490struct FNetValidateArgs;
497struct FStringNetSerializerBase
500 static constexpr bool bHasDynamicState =
true;
constexpr T Align(T Val, uint64 Alignment)
Definition AlignmentTemplates.h:18
#define checkSlow(expr)
Definition AssertionMacros.h:332
bool bSuccess
Definition ConvexDecomposition3.cpp:819
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Continue
Definition PrecomputedVolumetricLightmapStreaming.cpp:24
Definition NameTypes.h:617
Definition NetSerializationContext.h:31
Definition StringNetSerializerUtils.h:26
static uint32 GetSafeEncodedBufferLength(uint32 DecodedLen)
Definition StringNetSerializerUtils.h:43
static uint32 GetSafeDecodedBufferLength(uint32 EncodedLen)
Definition StringNetSerializerUtils.h:49
InWideCharType WideCharType
Definition StringNetSerializerUtils.h:30
uint32 Codepoint
Definition StringNetSerializerUtils.h:28
static bool IsValidEncoding(const EncodeType *Encoding, uint32 EncodeLen)
Definition StringNetSerializerUtils.h:64
static bool Encode(EncodeType *Dest, uint32 DestLen, const WideCharType *Source, uint32 SourceLen, uint32 &OutDestLen)
Definition StringNetSerializerUtils.h:32
static bool Decode(WideCharType *Dest, uint32 DestLen, const EncodeType *Source, uint32 SourceLen, uint32 &OutDestLen)
Definition StringNetSerializerUtils.h:38
uint8 EncodeType
Definition StringNetSerializerUtils.h:29
Definition StringNetSerializerUtils.h:19
static void AdjustArraySize(FNetSerializationContext &Context, QuantizedType &Array, uint16 NewElementCount)
Definition StringNetSerializerUtils.h:457
static void CloneDynamicState(FNetSerializationContext &Context, QuantizedType &Target, const QuantizedType &Source)
Definition StringNetSerializerUtils.h:408
static void FreeDynamicState(FNetSerializationContext &Context, QuantizedType &Array)
Definition StringNetSerializerUtils.h:428
static void GrowDynamicState(FNetSerializationContext &Context, QuantizedType &Array, uint16 NewElementCount)
Definition StringNetSerializerUtils.h:437
Definition NetworkVersion.cpp:28
Definition NetworkVersion.cpp:28
const FName GNetError_CorruptString("Corrupt string")
Definition StringNetSerializerUtils.h:11
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160
Definition NetSerializer.h:308
Definition NetSerializer.h:259
Definition NetSerializer.h:194
Definition NetSerializer.h:325
Definition NetSerializer.h:274
Definition NetSerializer.h:243
Definition NetSerializer.h:183
Definition NetSerializer.h:292
Definition StringNetSerializerUtils.h:504
uint16 ElementCapacityCount
Definition StringNetSerializerUtils.h:509
uint32 bIsEncoded
Definition StringNetSerializerUtils.h:506
uint16 ElementCount
Definition StringNetSerializerUtils.h:511
void * ElementStorage
Definition StringNetSerializerUtils.h:512