/Engine/Source/Runtime/Core/Public/GenericPlatform/GenericPlatformString.h
We'll say the encodings are compatible if they're both fixed-width and have the same size. This should be good enough and catches things like UCS2CHAR and WIDECHAR being equivalent. Specializations of this template can be provided for any other special cases. Same size is a minimum requirement.Converts the null-terminated Src string range from SourceEncoding to DestEncoding and writes it to the [Dest, Dest+DestSize) range, including a null terminator. If the Dest range is not big enough to hold the converted output, NULL is returned. In this case, nothing should be assumed about the contents of Dest.
A pointer to one past the last-written element.
template<typename SourceEncoding, typename DestEncoding> static DestEncoding * Convert ( DestEncoding * Dest, int32 DestSize, const SourceEncoding * Src )