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

◆ TryParseTimeSpanLittleG()

static bool System.Buffers.Text.Utf8Parser.TryParseTimeSpanLittleG ( ReadOnlySpan< byte > source,
out TimeSpan value,
out int bytesConsumed )
inlinestaticprivate

Definition at line 3881 of file Utf8Parser.cs.

3882 {
3883 TimeSpanSplitter timeSpanSplitter = default(TimeSpanSplitter);
3884 if (!timeSpanSplitter.TrySplitTimeSpan(source, periodUsedToSeparateDay: false, out bytesConsumed))
3885 {
3886 value = default(TimeSpan);
3887 return false;
3888 }
3889 bool isNegative = timeSpanSplitter.IsNegative;
3890 bool flag;
3891 switch (timeSpanSplitter.Separators)
3892 {
3893 case 0u:
3894 flag = TryCreateTimeSpan(isNegative, timeSpanSplitter.V1, 0u, 0u, 0u, 0u, out value);
3895 break;
3896 case 16777216u:
3897 flag = TryCreateTimeSpan(isNegative, 0u, timeSpanSplitter.V1, timeSpanSplitter.V2, 0u, 0u, out value);
3898 break;
3899 case 16842752u:
3900 flag = TryCreateTimeSpan(isNegative, 0u, timeSpanSplitter.V1, timeSpanSplitter.V2, timeSpanSplitter.V3, 0u, out value);
3901 break;
3902 case 16843008u:
3903 flag = TryCreateTimeSpan(isNegative, timeSpanSplitter.V1, timeSpanSplitter.V2, timeSpanSplitter.V3, timeSpanSplitter.V4, 0u, out value);
3904 break;
3905 case 16843264u:
3906 flag = TryCreateTimeSpan(isNegative, 0u, timeSpanSplitter.V1, timeSpanSplitter.V2, timeSpanSplitter.V3, timeSpanSplitter.V4, out value);
3907 break;
3908 case 16843010u:
3909 flag = TryCreateTimeSpan(isNegative, timeSpanSplitter.V1, timeSpanSplitter.V2, timeSpanSplitter.V3, timeSpanSplitter.V4, timeSpanSplitter.V5, out value);
3910 break;
3911 default:
3912 value = default(TimeSpan);
3913 flag = false;
3914 break;
3915 }
3916 if (!flag)
3917 {
3918 bytesConsumed = 0;
3919 return false;
3920 }
3921 return true;
3922 }
static bool TryCreateTimeSpan(bool isNegative, uint days, uint hours, uint minutes, uint seconds, uint fraction, out TimeSpan timeSpan)

References System.Buffers.Text.Utf8Parser.TimeSpanSplitter.IsNegative, System.Buffers.Text.Utf8Parser.TimeSpanSplitter.Separators, System.source, System.Buffers.Text.Utf8Parser.TryCreateTimeSpan(), System.Buffers.Text.Utf8Parser.TimeSpanSplitter.TrySplitTimeSpan(), System.Buffers.Text.Utf8Parser.TimeSpanSplitter.V1, System.Buffers.Text.Utf8Parser.TimeSpanSplitter.V2, System.Buffers.Text.Utf8Parser.TimeSpanSplitter.V3, System.Buffers.Text.Utf8Parser.TimeSpanSplitter.V4, System.Buffers.Text.Utf8Parser.TimeSpanSplitter.V5, and System.value.

Referenced by System.Buffers.Text.Utf8Parser.TryParse().