848 references to OperationStatus
ILCompiler.ReadyToRun (2)
ILCompiler.RyuJit (2)
Microsoft.AspNetCore.Antiforgery (2)
Microsoft.AspNetCore.Components.Endpoints (2)
Microsoft.AspNetCore.DataProtection.Abstractions (2)
Microsoft.AspNetCore.Http.Connections (2)
Microsoft.AspNetCore.Identity (4)
Microsoft.AspNetCore.Server.HttpSys (2)
Microsoft.AspNetCore.Server.IIS (2)
Microsoft.AspNetCore.Server.Kestrel.Core (17)
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic (2)
Microsoft.AspNetCore.WebUtilities (2)
Microsoft.CodeAnalysis.CSharp.CodeStyle (1)
Microsoft.CodeAnalysis.CSharp.Features (1)
Microsoft.ML.Tokenizers (101)
Model\BertTokenizer.cs (23)
339public OperationStatus BuildInputsWithSpecialTokens(IEnumerable<int> tokenIds, Span<int> destination, out int valuesWritten, IEnumerable<int>? additionalTokenIds = null)
349return OperationStatus.DestinationTooSmall;
358return OperationStatus.DestinationTooSmall;
367return OperationStatus.DestinationTooSmall;
378return OperationStatus.DestinationTooSmall;
386return OperationStatus.DestinationTooSmall;
391return OperationStatus.Done;
466public OperationStatus GetSpecialTokensMask(IEnumerable<int> tokenIds, Span<int> destination, out int valuesWritten, IEnumerable<int>? additionalTokenIds = null, bool alreadyHasSpecialTokens = false)
478return OperationStatus.DestinationTooSmall;
487return OperationStatus.DestinationTooSmall;
495return OperationStatus.DestinationTooSmall;
506return OperationStatus.DestinationTooSmall;
514return OperationStatus.DestinationTooSmall;
519return OperationStatus.Done;
527return OperationStatus.DestinationTooSmall;
539return OperationStatus.DestinationTooSmall;
545return OperationStatus.Done;
602public OperationStatus CreateTokenTypeIdsFromSequences(IEnumerable<int> tokenIds, Span<int> destination, out int valuesWritten, IEnumerable<int>? additionalTokenIds = null)
615return OperationStatus.DestinationTooSmall;
625return OperationStatus.DestinationTooSmall;
637return OperationStatus.DestinationTooSmall;
644return OperationStatus.DestinationTooSmall;
649return OperationStatus.Done;
Model\BPETokenizer.cs (13)
887public override OperationStatus Decode(IEnumerable<int> ids, Span<char> destination, out int idsConsumed, out int charsWritten)
899public OperationStatus Decode(IEnumerable<int> ids, Span<char> destination, bool considerSpecialTokens, out int idsConsumed, out int charsWritten)
937return OperationStatus.DestinationTooSmall;
966return OperationStatus.DestinationTooSmall;
977return OperationStatus.Done;
980private OperationStatus DecodeByteLevel(IEnumerable<int> ids, Span<char> destination, bool considerSpecialTokens, out int idsConsumed, out int charsWritten)
1012return OperationStatus.InvalidData; // unexpected case
1019return OperationStatus.DestinationTooSmall;
1048return OperationStatus.InvalidData; // unexpected case
1059return OperationStatus.InvalidData; // unexpected case of malformed utf8 sequence
1067return OperationStatus.DestinationTooSmall;
1092return OperationStatus.InvalidData; // encountered unknown id
1095return OperationStatus.Done;
Model\SentencePieceBaseModel.cs (25)
412public virtual OperationStatus Decode(IEnumerable<int> ids, Span<char> destination, bool considerSpecialTokens, out int idsConsumed, out int charsWritten)
425return OperationStatus.Done;
442OperationStatus status = TryDecodeAsSpecialToken(this, current, considerSpecialTokens, buffer, ref charsWritten, out bool isSpecialToken);
443if (status != OperationStatus.Done)
453return OperationStatus.Done;
463return OperationStatus.DestinationTooSmall;
468OperationStatus status = TryDecodeAsSpecialToken(this, current, considerSpecialTokens, buffer, ref charsWritten, out bool isSpecialToken);
469if (status != OperationStatus.Done)
478return OperationStatus.DestinationTooSmall;
489OperationStatus status = TryDecodeAsSpecialToken(this, current, considerSpecialTokens, buffer, ref charsWritten, out bool isSpecialToken);
490if (status != OperationStatus.Done)
499return OperationStatus.DestinationTooSmall;
521return OperationStatus.DestinationTooSmall;
525OperationStatus status = TryDecodeAsSpecialToken(this, current, considerSpecialTokens, buffer, ref charsWritten, out bool isSpecialToken);
526if (status != OperationStatus.Done)
552return OperationStatus.DestinationTooSmall;
562return OperationStatus.DestinationTooSmall;
566OperationStatus status = TryDecodeAsSpecialToken(this, current, considerSpecialTokens, buffer, ref charsWritten, out bool isSpecialToken);
567if (status != OperationStatus.Done)
576return OperationStatus.DestinationTooSmall;
592return OperationStatus.DestinationTooSmall;
618return OperationStatus.Done;
620static OperationStatus TryDecodeAsSpecialToken(SentencePieceBaseModel model, int id, bool considerSpecialTokens, Span<char> buffer, ref int charsWritten, out bool isSpecialToken)
647return OperationStatus.DestinationTooSmall;
654return OperationStatus.Done;
Microsoft.ML.Tokenizers.Tests (60)
BertTokenizerTests.cs (23)
379OperationStatus status = bertTokenizer.BuildInputsWithSpecialTokens(ids1, ids1Span, out int written);
380Assert.Equal(OperationStatus.DestinationTooSmall, status);
385Assert.Equal(OperationStatus.Done, status);
395Assert.Equal(OperationStatus.DestinationTooSmall, status);
400Assert.Equal(OperationStatus.Done, status);
418Assert.Equal(OperationStatus.DestinationTooSmall, status);
423Assert.Equal(OperationStatus.Done, status);
435Assert.Equal(OperationStatus.DestinationTooSmall, status);
440Assert.Equal(OperationStatus.Done, status);
479OperationStatus status = bertTokenizer.GetSpecialTokensMask(ids1, ids1Span, out int written, alreadyHasSpecialTokens: true);
480Assert.Equal(OperationStatus.DestinationTooSmall, status);
485Assert.Equal(OperationStatus.Done, status);
495Assert.Equal(OperationStatus.DestinationTooSmall, status);
500Assert.Equal(OperationStatus.Done, status);
515Assert.Equal(OperationStatus.DestinationTooSmall, status);
520Assert.Equal(OperationStatus.Done, status);
530Assert.Equal(OperationStatus.DestinationTooSmall, status);
535Assert.Equal(OperationStatus.Done, status);
572OperationStatus status = bertTokenizer.CreateTokenTypeIdsFromSequences(ids1, ids1Span, out int written);
573Assert.Equal(OperationStatus.DestinationTooSmall, status);
578Assert.Equal(OperationStatus.Done, status);
588Assert.Equal(OperationStatus.DestinationTooSmall, status);
593Assert.Equal(OperationStatus.Done, status);
BpeTests.cs (7)
333OperationStatus status;
342Assert.Equal(OperationStatus.DestinationTooSmall, status);
352Assert.Equal(OperationStatus.Done, status);
849Assert.Equal(OperationStatus.Done, tokenizer.Decode(ids, destinationBuffer.AsSpan(), considerSpecialTokens: true, out int idsConsumed, out int charsWritten));
852Assert.Equal(OperationStatus.Done, tokenizer.Decode(ids, destinationBuffer.AsSpan(), considerSpecialTokens: false, out idsConsumed, out charsWritten));
855Assert.Equal(OperationStatus.DestinationTooSmall, tokenizer.Decode(ids, destinationBuffer.AsSpan(0, text.Length - 1), considerSpecialTokens: false, out idsConsumed, out charsWritten));
858Assert.Equal(OperationStatus.DestinationTooSmall, tokenizer.Decode(ids, destinationBuffer.AsSpan(0, text.Length), considerSpecialTokens: true, out idsConsumed, out charsWritten));
LlamaTests.cs (12)
302OperationStatus status;
311Assert.Equal(OperationStatus.DestinationTooSmall, status);
321Assert.Equal(OperationStatus.Done, status);
388Assert.Equal(OperationStatus.Done, llamaTokenizer.Decode([llamaTokenizer.EndOfSentenceId], destinationBuffer, considerSpecialTokens: true, out int idsConsumed, out int charactersWritten));
848Assert.Equal(OperationStatus.DestinationTooSmall, tokenizer.Decode(ids, destinationBuffer.AsSpan().Slice(0, i), out idsConsumed, out charactersWritten));
853Assert.Equal(OperationStatus.Done, tokenizer.Decode(ids, destinationBuffer.AsSpan(), out idsConsumed, out charactersWritten));
862Assert.Equal(OperationStatus.DestinationTooSmall, tokenizer.Decode(ids, destinationBuffer.AsSpan().Slice(0, i), considerSpecialTokens: true, out idsConsumed, out charactersWritten));
867Assert.Equal(OperationStatus.Done, tokenizer.Decode(ids, destinationBuffer.AsSpan(), considerSpecialTokens: true, out idsConsumed, out charactersWritten));
887Assert.Equal(OperationStatus.DestinationTooSmall, tokenizerWithSuffix.Decode(ids, destinationBuffer.AsSpan().Slice(0, i), out idsConsumed, out charactersWritten));
892Assert.Equal(OperationStatus.Done, tokenizerWithSuffix.Decode(ids, destinationBuffer.AsSpan(), out idsConsumed, out charactersWritten));
901Assert.Equal(OperationStatus.DestinationTooSmall, tokenizerWithSuffix.Decode(ids, destinationBuffer.AsSpan().Slice(0, i), considerSpecialTokens: true, out idsConsumed, out charactersWritten));
911Assert.Equal(OperationStatus.Done, tokenizerWithSuffix.Decode(ids, destinationBuffer.AsSpan(), considerSpecialTokens: true, out idsConsumed, out charactersWritten));
mscorlib (1)
netstandard (1)
System.IO.Compression (84)
System\IO\Compression\DeflateEncoder.cs (20)
175public OperationStatus Compress(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock)
185return OperationStatus.Done;
190return OperationStatus.Done;
195return OperationStatus.DestinationTooSmall;
215OperationStatus status = errorCode switch
217ZLibNative.ErrorCode.Ok when isFinalBlock => OperationStatus.DestinationTooSmall,
219? OperationStatus.Done
220: OperationStatus.DestinationTooSmall,
221ZLibNative.ErrorCode.StreamEnd => OperationStatus.Done,
223? OperationStatus.DestinationTooSmall
224: OperationStatus.Done,
245public OperationStatus Flush(Span<byte> destination, out int bytesWritten)
254return OperationStatus.Done;
273? OperationStatus.DestinationTooSmall
274: OperationStatus.Done,
275ZLibNative.ErrorCode.StreamEnd => OperationStatus.Done,
277? OperationStatus.DestinationTooSmall
278: OperationStatus.Done,
334OperationStatus status = encoder.Compress(source, destination, out int consumed, out bytesWritten, isFinalBlock: true);
336bool success = status == OperationStatus.Done && consumed == source.Length;
System\IO\Compression\Zstandard\ZstandardStream.Decompress.cs (12)
61private bool TryDecompress(Span<byte> destination, out int bytesWritten, out OperationStatus lastResult)
65OperationStatus status = _decoder.Decompress(_buffer.ActiveSpan, destination, out int bytesConsumed, out bytesWritten);
69if (status == OperationStatus.InvalidData)
74if (status == OperationStatus.Done)
97Debug.Assert(status == OperationStatus.DestinationTooSmall);
105status == OperationStatus.NeedMoreData ||
106(status == OperationStatus.DestinationTooSmall && destination.IsEmpty && _buffer.ActiveLength == 0), $"{nameof(status)} == {status}, {nameof(destination.Length)} == {destination.Length}");
159OperationStatus lastResult;
188if (lastResult != OperationStatus.Done || bytesWritten != 0)
258if (_decoder.Decompress(_buffer.ActiveSpan.Slice(0, ZstdFrameMagicLength), _buffer.AvailableSpan.Slice(0, 1), out int bytesConsumed, out _) == OperationStatus.NeedMoreData)
333OperationStatus lastResult;
362if (lastResult != OperationStatus.Done || bytesWritten != 0)
System.IO.Compression.Brotli (45)
System\IO\Compression\enc\BrotliEncoder.cs (8)
123internal OperationStatus Flush(Memory<byte> destination, out int bytesWritten) => Flush(destination.Span, out bytesWritten);
129public OperationStatus Flush(Span<byte> destination, out int bytesWritten) => Compress(ReadOnlySpan<byte>.Empty, destination, out _, out bytesWritten, BrotliEncoderOperation.Flush);
131internal OperationStatus Compress(ReadOnlyMemory<byte> source, Memory<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock) => Compress(source.Span, destination.Span, out bytesConsumed, out bytesWritten, isFinalBlock);
140public OperationStatus Compress(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock) => Compress(source, destination, out bytesConsumed, out bytesWritten, isFinalBlock ? BrotliEncoderOperation.Finish : BrotliEncoderOperation.Process);
142internal OperationStatus Compress(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten, BrotliEncoderOperation operation)
163return OperationStatus.InvalidData;
175return OperationStatus.Done;
183return OperationStatus.DestinationTooSmall;
System.Memory (1)
System.Net.Http (16)
System.Net.HttpListener (2)
System.Net.NameResolution (13)
System.Net.WebClient (2)
System.Private.CoreLib (355)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Decoder.cs (29)
65public static OperationStatus DecodeFromUtf8(ReadOnlySpan<byte> utf8, Span<byte> bytes, out int bytesConsumed, out int bytesWritten, bool isFinalBlock = true) =>
79OperationStatus status = DecodeFromUtf8(source, destination, out _, out int bytesWritten);
81if (status == OperationStatus.Done)
86if (status == OperationStatus.DestinationTooSmall)
91Debug.Assert(status == OperationStatus.InvalidData);
111OperationStatus status = DecodeFromUtf8(source, destination, out _, out int bytesWritten);
112Debug.Assert(status is OperationStatus.Done or OperationStatus.InvalidData);
120return status == OperationStatus.Done ? result : throw new FormatException(SR.Format_BadBase64Char);
134OperationStatus status = DecodeFromUtf8(source, destination, out _, out bytesWritten);
136if (status == OperationStatus.InvalidData)
141Debug.Assert(status is OperationStatus.Done or OperationStatus.DestinationTooSmall);
142return status == OperationStatus.Done;
160public static OperationStatus DecodeFromUtf8InPlace(Span<byte> buffer, out int bytesWritten) =>
173public static OperationStatus DecodeFromChars(ReadOnlySpan<char> source, Span<byte> destination,
189OperationStatus status = DecodeFromChars(source, destination, out _, out int bytesWritten);
191if (status == OperationStatus.Done)
196if (status == OperationStatus.DestinationTooSmall)
201Debug.Assert(status == OperationStatus.InvalidData);
216OperationStatus status = DecodeFromChars(source, destination, out _, out bytesWritten);
218if (status == OperationStatus.InvalidData)
223Debug.Assert(status is OperationStatus.Done or OperationStatus.DestinationTooSmall);
224return status == OperationStatus.Done;
243OperationStatus status = DecodeFromChars(source, destination, out _, out int bytesWritten);
244Debug.Assert(status is OperationStatus.Done or OperationStatus.InvalidData);
252return status == OperationStatus.Done ? result : throw new FormatException(SR.Format_BadBase64Char);
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Encoder.cs (16)
58/// <returns>It returns the <see cref="OperationStatus"/> enum values:
64public static OperationStatus EncodeToUtf8(ReadOnlySpan<byte> bytes, Span<byte> utf8, out int bytesConsumed, out int bytesWritten, bool isFinalBlock = true) =>
76OperationStatus status = EncodeToUtf8(source, destination, out _, out int bytesWritten);
78if (status == OperationStatus.Done)
83Debug.Assert(status == OperationStatus.DestinationTooSmall);
110OperationStatus status = EncodeToUtf8(source, destination, out _, out bytesWritten);
112return status == OperationStatus.Done;
130public static OperationStatus EncodeToUtf8InPlace(Span<byte> buffer, int dataLength, out int bytesWritten) =>
145OperationStatus status = EncodeToUtf8InPlace(buffer, dataLength, out bytesWritten);
147return status == OperationStatus.Done;
160public static OperationStatus EncodeToChars(ReadOnlySpan<byte> source, Span<char> destination,
173OperationStatus status = EncodeToChars(source, destination, out _, out int charsWritten);
175if (status == OperationStatus.Done)
180Debug.Assert(status == OperationStatus.DestinationTooSmall);
219OperationStatus status = EncodeToChars(source, destination, out _, out charsWritten);
221return status == OperationStatus.Done;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Helper\Base64DecoderHelper.cs (33)
23internal static unsafe OperationStatus DecodeFrom<TBase64Decoder, T>(TBase64Decoder decoder, ReadOnlySpan<T> source, Span<byte> bytes,
32return OperationStatus.Done;
250return OperationStatus.Done;
266return OperationStatus.DestinationTooSmall;
271return OperationStatus.NeedMoreData;
278OperationStatus.InvalidData;
281static OperationStatus InvalidDataFallback(TBase64Decoder decoder, ReadOnlySpan<T> source, Span<byte> bytes, ref int bytesConsumed, ref int bytesWritten, bool isFinalBlock)
286OperationStatus status;
295status = OperationStatus.Done;
319if (status is OperationStatus.Done or OperationStatus.NeedMoreData)
337internal static unsafe OperationStatus DecodeFromUtf8InPlace<TBase64Decoder>(TBase64Decoder decoder, Span<byte> buffer, out int bytesWritten, bool ignoreWhiteSpace)
343return OperationStatus.Done;
500return OperationStatus.Done;
506OperationStatus.InvalidData;
510internal static unsafe OperationStatus DecodeWithWhiteSpaceBlockwise<TBase64Decoder>(TBase64Decoder decoder, ReadOnlySpan<byte> source, Span<byte> bytes, ref int bytesConsumed, ref int bytesWritten, bool isFinalBlock = true)
515OperationStatus status = OperationStatus.Done;
578if (status != OperationStatus.Done)
599return OperationStatus.InvalidData;
615internal static unsafe OperationStatus DecodeWithWhiteSpaceBlockwise<TBase64Decoder>(TBase64Decoder decoder, ReadOnlySpan<ushort> source, Span<byte> bytes, ref int bytesConsumed, ref int bytesWritten, bool isFinalBlock = true)
620OperationStatus status = OperationStatus.Done;
683if (status != OperationStatus.Done)
704return OperationStatus.InvalidData;
757private static unsafe OperationStatus DecodeWithWhiteSpaceFromUtf8InPlace<TBase64Decoder>(TBase64Decoder decoder, Span<byte> source, ref int destIndex, uint sourceIndex)
763OperationStatus status = OperationStatus.Done;
793status = OperationStatus.InvalidData;
811status = OperationStatus.InvalidData;
819if (status != OperationStatus.Done)
1661public OperationStatus DecodeWithWhiteSpaceBlockwiseWrapper<TBase64Decoder>(TBase64Decoder decoder, ReadOnlySpan<byte> utf8,
1878public OperationStatus DecodeWithWhiteSpaceBlockwiseWrapper<TBase64Decoder>(TBase64Decoder decoder, ReadOnlySpan<ushort> source,
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Url\Base64UrlDecoder.cs (29)
66public static OperationStatus DecodeFromUtf8(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock = true) =>
86OperationStatus status = DecodeFromUtf8InPlace<Base64UrlDecoderByte>(default, buffer, out int bytesWritten, ignoreWhiteSpace: true);
90if (status == OperationStatus.InvalidData)
95Debug.Assert(status is OperationStatus.Done);
117OperationStatus status = DecodeFromUtf8(source, destination, out _, out int bytesWritten);
119if (status == OperationStatus.Done)
124if (status == OperationStatus.DestinationTooSmall)
129Debug.Assert(status is OperationStatus.InvalidData);
144OperationStatus status = DecodeFromUtf8(source, destination, out _, out bytesWritten);
146if (status == OperationStatus.InvalidData)
151Debug.Assert(status is OperationStatus.Done or OperationStatus.DestinationTooSmall);
152return status == OperationStatus.Done;
171OperationStatus status = DecodeFromUtf8(source, destination, out _, out int bytesWritten);
172Debug.Assert(status is OperationStatus.Done or OperationStatus.InvalidData);
180return status == OperationStatus.Done ? ret : throw new FormatException(SR.Format_BadBase64Char);
200public static OperationStatus DecodeFromChars(ReadOnlySpan<char> source, Span<byte> destination,
216OperationStatus status = DecodeFromChars(source, destination, out _, out int bytesWritten);
218if (status == OperationStatus.Done)
223if (status == OperationStatus.DestinationTooSmall)
228Debug.Assert(status == OperationStatus.InvalidData);
243OperationStatus status = DecodeFromChars(source, destination, out _, out bytesWritten);
245if (status == OperationStatus.InvalidData)
250return status == OperationStatus.Done;
269OperationStatus status = DecodeFromChars(source, destination, out _, out int bytesWritten);
277return status == OperationStatus.Done ? ret : throw new FormatException(SR.Format_BadBase64Char);
479public OperationStatus DecodeWithWhiteSpaceBlockwiseWrapper<TBase64Decoder>(TBase64Decoder decoder, ReadOnlySpan<byte> utf8, Span<byte> bytes,
564public OperationStatus DecodeWithWhiteSpaceBlockwiseWrapper<TBase64Decoder>(TBase64Decoder decoder, ReadOnlySpan<ushort> source, Span<byte> bytes,
src\runtime\src\libraries\System.Private.CoreLib\src\System\Buffers\Text\Base64Url\Base64UrlEncoder.cs (14)
30public static OperationStatus EncodeToUtf8(ReadOnlySpan<byte> source,
70OperationStatus status = EncodeToUtf8(source, destination, out _, out int bytesWritten);
72if (status == OperationStatus.Done)
77Debug.Assert(status == OperationStatus.DestinationTooSmall);
107public static OperationStatus EncodeToChars(ReadOnlySpan<byte> source, Span<char> destination,
121OperationStatus status = EncodeToChars(source, destination, out _, out int charsWritten);
123if (status == OperationStatus.Done)
128Debug.Assert(status == OperationStatus.DestinationTooSmall);
183OperationStatus status = EncodeToChars(source, destination, out _, out charsWritten);
185return status == OperationStatus.Done;
198OperationStatus status = EncodeToUtf8(source, destination, out _, out bytesWritten);
200return status == OperationStatus.Done;
216OperationStatus status = EncodeToUtf8InPlace(default(Base64UrlEncoderByte), buffer, dataLength, out bytesWritten);
218return status == OperationStatus.Done;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Convert.cs (27)
2463OperationStatus status = Base64.EncodeToChars(source.Slice(0, chunkSize), destination.Slice(writeOffset), out int bytesConsumed, out int charsWritten);
2464Debug.Assert(status == OperationStatus.Done && bytesConsumed == chunkSize);
2536OperationStatus status = Base64.DecodeFromChars(chars, bytes, out _, out bytesWritten);
2537if (status == OperationStatus.Done)
2633/// The span in which to write the converted 8-bit unsigned integers. When this method returns value different than <see cref="OperationStatus.Done"/>,
2639/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
2641public static OperationStatus FromHexString(string source, Span<byte> destination, out int charsConsumed, out int bytesWritten)
2650/// The span in which to write the converted 8-bit unsigned integers. When this method returns value different than <see cref="OperationStatus.Done"/>,
2656/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
2657public static OperationStatus FromHexString(ReadOnlySpan<char> source, Span<byte> destination, out int charsConsumed, out int bytesWritten)
2666return (remainder == 1) ? OperationStatus.NeedMoreData : OperationStatus.Done;
2669OperationStatus result;
2675result = OperationStatus.DestinationTooSmall;
2682result = OperationStatus.NeedMoreData;
2686result = OperationStatus.Done;
2695return OperationStatus.InvalidData;
2706/// The span in which to write the converted 8-bit unsigned integers. When this method returns value different than <see cref="OperationStatus.Done"/>,
2712/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
2713public static OperationStatus FromHexString(ReadOnlySpan<byte> utf8Source, Span<byte> destination, out int bytesConsumed, out int bytesWritten)
2722return (remainder == 1) ? OperationStatus.NeedMoreData : OperationStatus.Done;
2725OperationStatus result;
2731result = OperationStatus.DestinationTooSmall;
2738result = OperationStatus.NeedMoreData;
2742result = OperationStatus.Done;
2751return OperationStatus.InvalidData;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Numerics\INumberBase.cs (11)
323OperationStatus utf8TextStatus = Utf8.ToUtf16(utf8Text, utf16Text, out _, out int utf16TextLength, replaceInvalidSequences: false);
325if (utf8TextStatus != OperationStatus.Done)
505OperationStatus utf8TextStatus = Utf8.ToUtf16(utf8Text, utf16Text, out _, out int utf16TextLength, replaceInvalidSequences: false);
507if (utf8TextStatus != OperationStatus.Done)
590OperationStatus utf8DestinationStatus = Utf8.FromUtf16(utf16Destination, utf8Destination, out _, out bytesWritten, replaceInvalidSequences: false);
598if (utf8DestinationStatus == OperationStatus.Done)
603if (utf8DestinationStatus != OperationStatus.DestinationTooSmall)
631OperationStatus utf8TextStatus = Utf8.ToUtf16(utf8Text, utf16Text, out _, out int utf16TextLength, replaceInvalidSequences: false);
633if (utf8TextStatus != OperationStatus.Done)
678OperationStatus utf8TextStatus = Utf8.ToUtf16(utf8Text, utf16Text, out _, out int utf16TextLength, replaceInvalidSequences: false);
680if (utf8TextStatus != OperationStatus.Done)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Ascii.CaseConversion.cs (32)
25/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
28public static OperationStatus ToUpper(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesWritten)
38/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
41public static OperationStatus ToUpper(ReadOnlySpan<char> source, Span<char> destination, out int charsWritten)
51/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
53public static OperationStatus ToUpper(ReadOnlySpan<byte> source, Span<char> destination, out int charsWritten)
63/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
65public static OperationStatus ToUpper(ReadOnlySpan<char> source, Span<byte> destination, out int bytesWritten)
75/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
78public static OperationStatus ToLower(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesWritten)
88/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
91public static OperationStatus ToLower(ReadOnlySpan<char> source, Span<char> destination, out int charsWritten)
101/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
103public static OperationStatus ToLower(ReadOnlySpan<byte> source, Span<char> destination, out int charsWritten)
113/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
115public static OperationStatus ToLower(ReadOnlySpan<char> source, Span<byte> destination, out int bytesWritten)
123/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
125public static OperationStatus ToLowerInPlace(Span<byte> value, out int bytesWritten)
133/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
135public static OperationStatus ToLowerInPlace(Span<char> value, out int charsWritten)
143/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
145public static OperationStatus ToUpperInPlace(Span<byte> value, out int bytesWritten)
153/// <returns>An <see cref="OperationStatus"/> describing the result of the operation.</returns>
155public static OperationStatus ToUpperInPlace(Span<char> value, out int charsWritten)
158private static unsafe OperationStatus ChangeCase<TFrom, TTo, TCasing>(ReadOnlySpan<TFrom> source, Span<TTo> destination, out int destinationElementsWritten)
169OperationStatus statusToReturnOnSuccess;
174statusToReturnOnSuccess = OperationStatus.Done;
179statusToReturnOnSuccess = OperationStatus.DestinationTooSmall;
189return (numElementsToConvert == numElementsActuallyConverted) ? statusToReturnOnSuccess : OperationStatus.InvalidData;
193private static unsafe OperationStatus ChangeCase<T, TCasing>(Span<T> buffer, out int elementsWritten)
203return elementsWritten == buffer.Length ? OperationStatus.Done : OperationStatus.InvalidData;
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Encoding.Internal.cs (11)
74internal virtual OperationStatus DecodeFirstRune(ReadOnlySpan<byte> bytes, out Rune value, out int bytesConsumed)
80internal virtual OperationStatus EncodeRune(Rune value, Span<byte> bytes, out int bytesWritten)
329if (Rune.DecodeFromUtf16(chars, out Rune firstScalarValue, out int charsConsumedThisIteration) == OperationStatus.NeedMoreData
608case OperationStatus.NeedMoreData:
612goto case OperationStatus.InvalidData; // see comment in GetByteCountWithFallback
621case OperationStatus.InvalidData:
625if (EncodeRune(firstScalarValue, bytes, out _) == OperationStatus.DestinationTooSmall)
928if (DecodeFirstRune(bytes, out Rune firstScalarValue, out int bytesConsumedThisIteration) == OperationStatus.NeedMoreData
1210case OperationStatus.NeedMoreData:
1214goto case OperationStatus.InvalidData; // see comment in GetCharCountWithFallback
1223case OperationStatus.InvalidData:
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Rune.cs (32)
311/// If the source buffer begins with a valid UTF-16 encoded scalar value, returns <see cref="OperationStatus.Done"/>,
316/// If the source buffer is empty or contains only a standalone UTF-16 high surrogate character, returns <see cref="OperationStatus.NeedMoreData"/>,
320/// If the source buffer begins with an ill-formed UTF-16 encoded scalar value, returns <see cref="OperationStatus.InvalidData"/>,
332public static OperationStatus DecodeFromUtf16(ReadOnlySpan<char> source, out Rune result, out int charsConsumed)
343return OperationStatus.Done;
357return OperationStatus.Done;
381return OperationStatus.NeedMoreData;
387return OperationStatus.InvalidData;
395/// If the source buffer begins with a valid UTF-8 encoded scalar value, returns <see cref="OperationStatus.Done"/>,
400/// If the source buffer is empty or contains only a partial UTF-8 subsequence, returns <see cref="OperationStatus.NeedMoreData"/>,
404/// If the source buffer begins with an ill-formed UTF-8 encoded scalar value, returns <see cref="OperationStatus.InvalidData"/>,
416public static OperationStatus DecodeFromUtf8(ReadOnlySpan<byte> source, out Rune result, out int bytesConsumed)
437return OperationStatus.Done;
558return OperationStatus.Done;
565return OperationStatus.NeedMoreData;
572return OperationStatus.InvalidData;
584public static OperationStatus DecodeLastFromUtf16(ReadOnlySpan<char> source, out Rune result, out int charsConsumed)
596return OperationStatus.Done;
613return OperationStatus.Done;
622return OperationStatus.InvalidData;
632return OperationStatus.NeedMoreData;
644public static OperationStatus DecodeLastFromUtf8(ReadOnlySpan<byte> source, out Rune value, out int bytesConsumed)
657return OperationStatus.Done;
709return OperationStatus.InvalidData;
721OperationStatus operationStatus = DecodeFromUtf8(source, out Rune tempRune, out int tempBytesConsumed);
748return OperationStatus.NeedMoreData;
977if (DecodeFromUtf8(utf8Text, out result, out int bytesConsumed) == OperationStatus.Done)
993if (DecodeFromUtf8(utf8Text, out Rune result, out int bytesConsumed) != OperationStatus.Done || bytesConsumed != utf8Text.Length)
1006if (DecodeFromUtf16(s, out Rune result, out int charsConsumed) != OperationStatus.Done || charsConsumed != s.Length)
1017if (DecodeFromUtf16(s, out result, out int charsConsumed) != OperationStatus.Done || charsConsumed != s!.Length)
1029if (DecodeFromUtf16(s, out Rune result, out int charsConsumed) != OperationStatus.Done || charsConsumed != s.Length)
1040if (DecodeFromUtf16(s, out result, out int charsConsumed) != OperationStatus.Done || charsConsumed != s.Length)
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf8.cs (26)
43/// this method will not return <see cref="OperationStatus.InvalidData"/>.
45public static unsafe OperationStatus FromUtf16(ReadOnlySpan<char> source, Span<byte> destination, out int charsRead, out int bytesWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true)
53OperationStatus operationStatus = OperationStatus.Done;
74if (operationStatus <= OperationStatus.DestinationTooSmall
75|| (operationStatus == OperationStatus.NeedMoreData && !isFinalBlock))
86operationStatus = OperationStatus.InvalidData; // status code may have been NeedMoreData - force to be error
97operationStatus = OperationStatus.DestinationTooSmall;
110operationStatus = OperationStatus.Done; // we patched the error - if we're about to break out of the loop this is a success case
129/// this method will not return <see cref="OperationStatus.InvalidData"/>.
131public static unsafe OperationStatus ToUtf16(ReadOnlySpan<byte> source, Span<char> destination, out int bytesRead, out int charsWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true)
144OperationStatus operationStatus = OperationStatus.Done;
165if (operationStatus <= OperationStatus.DestinationTooSmall
166|| (operationStatus == OperationStatus.NeedMoreData && !isFinalBlock))
177operationStatus = OperationStatus.InvalidData; // status code may have been NeedMoreData - force to be error
188operationStatus = OperationStatus.DestinationTooSmall;
204operationStatus = OperationStatus.Done; // we patched the error - if we're about to break out of the loop this is a success case
218internal static unsafe OperationStatus ToUtf16PreservingReplacement(ReadOnlySpan<byte> source, Span<char> destination, out int bytesRead, out int charsWritten, bool replaceInvalidSequences = true, bool isFinalBlock = true)
239OperationStatus operationStatus = OperationStatus.Done;
260if (operationStatus <= OperationStatus.DestinationTooSmall
261|| (operationStatus == OperationStatus.NeedMoreData && !isFinalBlock))
272operationStatus = OperationStatus.InvalidData; // status code may have been NeedMoreData - force to be error
291operationStatus = OperationStatus.DestinationTooSmall;
303operationStatus = OperationStatus.Done; // we patched the error - if we're about to break out of the loop this is a success case
src\runtime\src\libraries\System.Private.CoreLib\src\System\Text\Unicode\Utf8Utility.Transcoding.cs (14)
24public static OperationStatus TranscodeToUtf16(byte* pInputBuffer, int inputLength, char* pOutputBuffer, int outputCharsRemaining, out byte* pInputBufferRemaining, out char* pOutputBufferRemaining)
46return OperationStatus.Done;
818OperationStatus retVal = OperationStatus.Done;
822retVal = OperationStatus.NeedMoreData;
826retVal = OperationStatus.DestinationTooSmall;
830retVal = OperationStatus.InvalidData;
842public static OperationStatus TranscodeToUtf8(char* pInputBuffer, int inputLength, byte* pOutputBuffer, int outputBytesRemaining, out char* pInputBufferRemaining, out byte* pOutputBufferRemaining)
867return OperationStatus.Done;
1532OperationStatus retVal = OperationStatus.Done;
1536retVal = OperationStatus.NeedMoreData;
1540retVal = OperationStatus.DestinationTooSmall;
1544retVal = OperationStatus.InvalidData;
System.Private.Uri (2)
System.Runtime (1)
System.Runtime.Numerics (5)
System.Security.Cryptography (20)
System\Security\Cryptography\Base64Transforms.cs (8)
51OperationStatus status = Base64.EncodeToUtf8(input, output, out int consumed, out int written, isFinalBlock: false);
53Debug.Assert(status == OperationStatus.Done);
76OperationStatus status = Base64.EncodeToUtf8(input, output, out int consumed, out int written, isFinalBlock: true);
79Debug.Assert(status == OperationStatus.Done);
305OperationStatus status = Base64.DecodeFromUtf8(transformBuffer, outputBuffer, out consumed, out written);
307if (status == OperationStatus.Done)
311else if (status == OperationStatus.DestinationTooSmall)
317Debug.Assert(status == OperationStatus.InvalidData);
System.Text.Encodings.Web (48)
System\Text\Encodings\Web\OptimizedInboxTextEncoder.cs (15)
133public OperationStatus Encode(ReadOnlySpan<char> source, Span<char> destination, out int charsConsumed, out int charsWritten, bool isFinalBlock)
236OperationStatus retVal = OperationStatus.Done;
244retVal = OperationStatus.DestinationTooSmall;
248retVal = OperationStatus.NeedMoreData;
252public OperationStatus EncodeUtf8(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock)
304OperationStatus runeDecodeStatus = Rune.DecodeFromUtf8(source.Slice(srcIdx), out Rune scalarValue, out int bytesConsumedJustNow);
305if (runeDecodeStatus != OperationStatus.Done)
307if (!isFinalBlock && runeDecodeStatus == OperationStatus.NeedMoreData)
343OperationStatus retVal = OperationStatus.Done;
351retVal = OperationStatus.DestinationTooSmall;
355retVal = OperationStatus.NeedMoreData;
383OperationStatus opStatus = Rune.DecodeFromUtf8(data, out Rune scalarValue, out int bytesConsumed);
384if (opStatus != OperationStatus.Done) { break; } // bad data found, must escape
System\Text\Encodings\Web\TextEncoder.cs (27)
67if (Rune.DecodeFromUtf16(utf16ScratchBuffer, out Rune nextScalarValue, out int scalarUtf16CodeUnitCount) != OperationStatus.Done)
275/// <returns>An <see cref="OperationStatus"/> describing the result of the encoding operation.</returns>
277public virtual OperationStatus EncodeUtf8(
309return OperationStatus.Done; // memcopied all bytes, nothing more to do
315OperationStatus status = EncodeUtf8Core(utf8Source.Slice(idxOfFirstByteToEncode), utf8Destination.Slice(idxOfFirstByteToEncode), out int innerBytesConsumed, out int innerBytesWritten, isFinalBlock);
322private protected virtual unsafe OperationStatus EncodeUtf8Core(
337OperationStatus opStatus = Rune.DecodeFromUtf8(utf8Source, out Rune scalarValue, out int bytesConsumedJustNow);
338if (opStatus != OperationStatus.Done)
340if (!isFinalBlock && opStatus == OperationStatus.NeedMoreData)
379OperationStatus retVal = OperationStatus.Done;
387retVal = OperationStatus.NeedMoreData;
391retVal = OperationStatus.DestinationTooSmall;
405/// <returns>An <see cref="OperationStatus"/> describing the result of the encoding operation.</returns>
407public virtual OperationStatus Encode(
439return OperationStatus.Done; // memcopied all chars, nothing more to do
445OperationStatus status = EncodeCore(source.Slice(idxOfFirstCharToEncode), destination.Slice(idxOfFirstCharToEncode), out int innerCharsConsumed, out int innerCharsWritten, isFinalBlock);
452private protected virtual OperationStatus EncodeCore(ReadOnlySpan<char> source, Span<char> destination, out int charsConsumed, out int charsWritten, bool isFinalBlock)
459OperationStatus status = Rune.DecodeFromUtf16(source, out Rune scalarValue, out int charsConsumedJustNow);
460if (status != OperationStatus.Done)
462if (!isFinalBlock && status == OperationStatus.NeedMoreData)
495OperationStatus retVal = OperationStatus.Done;
503retVal = OperationStatus.NeedMoreData;
507retVal = OperationStatus.DestinationTooSmall;
565OperationStatus opStatus = Rune.DecodeFromUtf8(utf8Text, out Rune scalarValue, out int bytesConsumed);
566if (opStatus != OperationStatus.Done || WillEncode(scalarValue.Value))
System.Text.Json (48)