Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ EncodeCore() [2/2]

void System.Text.Encodings.Web.TextEncoder.EncodeCore ( TextWriter output,
ReadOnlySpan< char > value )
inlineprivateinherited

Definition at line 319 of file TextEncoder.cs.

320 {
321 int val = Math.Max(MaxOutputCharactersPerInputCharacter, 1024);
322 char[] array = ArrayPool<char>.Shared.Rent(Math.Max(value.Length, val));
323 Span<char> destination = array;
324 do
325 {
326 EncodeCore(value, destination, out var charsConsumed, out var charsWritten, isFinalBlock: true);
327 if (charsWritten == 0 || (uint)charsWritten > (uint)destination.Length)
328 {
330 }
331 output.Write(array, 0, charsWritten);
332 value = value.Slice(charsConsumed);
333 }
334 while (!value.IsEmpty);
336 }
static ArrayPool< T > Shared
Definition ArrayPool.cs:7
virtual void Write(char value)
virtual OperationStatus EncodeCore(ReadOnlySpan< char > source, Span< char > destination, out int charsConsumed, out int charsWritten, bool isFinalBlock)
static void ThrowArgumentException_MaxOutputCharsPerInputChar()

References System.array, System.destination, System.Text.Encodings.Web.TextEncoder.EncodeCore(), System.Math.Max(), System.Text.Encodings.Web.TextEncoder.MaxOutputCharactersPerInputCharacter, System.Buffers.ArrayPool< T >.Shared, System.Text.Encodings.Web.TextEncoder.ThrowArgumentException_MaxOutputCharsPerInputChar(), System.Text.Encodings.Web.value, and System.IO.TextWriter.Write().