Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ReadFirstRuneFromUtf16Buffer()

static int System.Text.Rune.ReadFirstRuneFromUtf16Buffer ( ReadOnlySpan< char > input)
inlinestaticpackage

Definition at line 432 of file Rune.cs.

433 {
434 if (input.IsEmpty)
435 {
436 return -1;
437 }
438 uint num = input[0];
439 if (UnicodeUtility.IsSurrogateCodePoint(num))
440 {
441 if (!UnicodeUtility.IsHighSurrogateCodePoint(num))
442 {
443 return -1;
444 }
445 if (input.Length <= 1)
446 {
447 return -1;
448 }
449 uint num2 = input[1];
450 if (!UnicodeUtility.IsLowSurrogateCodePoint(num2))
451 {
452 return -1;
453 }
454 num = UnicodeUtility.GetScalarFromUtf16SurrogatePair(num, num2);
455 }
456 return (int)num;
457 }

References System.Text.UnicodeUtility.GetScalarFromUtf16SurrogatePair(), System.input, System.Text.UnicodeUtility.IsHighSurrogateCodePoint(), System.Text.UnicodeUtility.IsLowSurrogateCodePoint(), and System.Text.UnicodeUtility.IsSurrogateCodePoint().

Referenced by System.Text.SpanRuneEnumerator.MoveNext().