<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Bcl.Memory</name>
    </assembly>
    <members>
        <member name="M:System.Buffers.Text.Base64Url.GetMaxDecodedLength(System.Int32)">
            <summary>
            Returns the maximum length (in bytes) of the result if you were to decode base 64 encoded text from a span of size <paramref name="base64Length"/>.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">The specified <paramref name="base64Length"/> is less than 0.
            </exception>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.DecodeFromUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Decodes the span of UTF-8 encoded text represented as Base64Url into binary data.
            </summary>
            <param name="source">The input span which contains UTF-8 encoded text in Base64Url that needs to be decoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the decoded binary data.</param>
            <param name="bytesConsumed">When this method returns, contains the number of input bytes consumed during the operation. This can be used to slice the input for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <param name="bytesWritten">When this method returns, contains the number of bytes written into the output span. This can be used to slice the output for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <param name="isFinalBlock"><see langword="true"/> when the input span contains the entirety of data to encode; <see langword="false"/> when more data may follow,
            such as when calling in a loop. Calls with <see langword="false"/> should be followed up with another call where this parameter is <see langword="true"/> call. The default is <see langword="true" />.</param>
            <returns>One of the enumeration values that indicates the success or failure of the operation.</returns>
            <remarks>
            As padding is optional for Base64Url the <paramref name="source"/> length not required to be a multiple of 4 even if <paramref name="isFinalBlock"/> is <see langword="true"/>.
            If the <paramref name="source"/> length is not a multiple of 4 and <paramref name="isFinalBlock"/> is <see langword="true"/> the remainders decoded accordingly:
            - Remainder of 3 bytes - decoded into 2 bytes data, decoding succeeds.
            - Remainder of 2 bytes - decoded into 1 byte data. decoding succeeds.
            - Remainder of 1 byte - will cause OperationStatus.InvalidData result.
            </remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.DecodeFromUtf8InPlace(System.Span{System.Byte})">
            <summary>
            Decodes the span of UTF-8 encoded text in Base64Url into binary data, in-place.
            The decoded binary output is smaller than the text data contained in the input (the operation deflates the data).
            </summary>
            <param name="buffer">The input span which contains the base 64 text data that needs to be decoded.</param>
            <returns>The number of bytes written into <paramref name="buffer"/>. This can be used to slice the output for subsequent calls, if necessary.</returns>
            <exception cref="T:System.FormatException"><paramref name="buffer"/> contains an invalid Base64Url character,
            more than two padding characters, or a non white space character among the padding characters.</exception>
            <remarks>
            As padding is optional for Base64Url the <paramref name="buffer"/> length not required to be a multiple of 4.
            If the <paramref name="buffer"/> length is not a multiple of 4 the remainders decoded accordingly:
            - Remainder of 3 bytes - decoded into 2 bytes data, decoding succeeds.
            - Remainder of 2 bytes - decoded into 1 byte data. decoding succeeds.
            - Remainder of 1 byte - is invalid input, causes FormatException.
            </remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.DecodeFromUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
            <summary>
            Decodes the span of UTF-8 encoded text represented as Base64Url into binary data.
            </summary>
            <param name="source">The input span which contains UTF-8 encoded text in Base64Url that needs to be decoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the decoded binary data.</param>
            <returns>The number of bytes written into <paramref name="destination"/>. This can be used to slice the output for subsequent calls, if necessary.</returns>
            <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination"/> is too small to hold the encoded output.</exception>
            <exception cref="T:System.FormatException"><paramref name="source"/> contains an invalid Base64Url character,
            more than two padding characters, or a non white space character among the padding characters.</exception>
            <remarks>
            As padding is optional for Base64Url the <paramref name="source"/> length not required to be a multiple of 4.
            If the <paramref name="source"/> length is not a multiple of 4 the remainders decoded accordingly:
            - Remainder of 3 bytes - decoded into 2 bytes data, decoding succeeds.
            - Remainder of 2 bytes - decoded into 1 byte data. decoding succeeds.
            - Remainder of 1 byte - is invalid input, causes FormatException.
            </remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.TryDecodeFromUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
            <summary>
            Decodes the span of UTF-8 encoded text represented as Base64Url into binary data.
            </summary>
            <param name="source">The input span which contains UTF-8 encoded text in Base64Url that needs to be decoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the decoded binary data.</param>
            <param name="bytesWritten">When this method returns, contains the number of bytes written into the output span. This can be used to slice the output for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <returns><see langword="true"/> if bytes decoded successfully, otherwise <see langword="false"/>.</returns>
            <exception cref="T:System.FormatException"><paramref name="source"/> contains an invalid Base64Url character,
            more than two padding characters, or a non white space character among the padding characters.</exception>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.DecodeFromUtf8(System.ReadOnlySpan{System.Byte})">
            <summary>
            Decodes the span of UTF-8 encoded text represented as Base64Url into binary data.
            </summary>
            <param name="source">The input span which contains UTF-8 encoded text in Base64Url that needs to be decoded.</param>
            <returns>>A byte array which contains the result of the decoding operation.</returns>
            <exception cref="T:System.FormatException"><paramref name="source"/> contains an invalid Base64Url character,
            more than two padding characters, or a non white space character among the padding characters.</exception>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.DecodeFromChars(System.ReadOnlySpan{System.Char},System.Span{System.Byte},System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Decodes the span of unicode ASCII chars represented as Base64Url into binary data.
            </summary>
            <param name="source">The input span which contains unicode ASCII chars in Base64Url that needs to be decoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the decoded binary data.</param>
            <param name="charsConsumed">When this method returns, contains the number of input chars consumed during the operation. This can be used to slice the input for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <param name="bytesWritten">When this method returns, contains the number of bytes written into the output span. This can be used to slice the output for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <param name="isFinalBlock"><see langword="true"/> when the input span contains the entirety of data to encode; <see langword="false"/> when more data may follow,
            such as when calling in a loop. Calls with <see langword="false"/> should be followed up with another call where this parameter is <see langword="true"/> call. The default is <see langword="true" />.</param>
            <returns>One of the enumeration values that indicates the success or failure of the operation.</returns>
            <remarks>
            As padding is optional for Base64Url the <paramref name="source"/> length not required to be a multiple of 4 even if <paramref name="isFinalBlock"/> is <see langword="true"/>.
            If the <paramref name="source"/> length is not a multiple of 4 and <paramref name="isFinalBlock"/> is <see langword="true"/> the remainders decoded accordingly:
            - Remainder of 3 chars - decoded into 2 bytes data, decoding succeeds.
            - Remainder of 2 chars - decoded into 1 byte data. decoding succeeds.
            - Remainder of 1 char - will cause OperationStatus.InvalidData result.
            </remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.DecodeFromChars(System.ReadOnlySpan{System.Char},System.Span{System.Byte})">
            <summary>
            Decodes the span of unicode ASCII chars represented as Base64Url into binary data.
            </summary>
            <param name="source">The input span which contains ASCII chars in Base64Url that needs to be decoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the decoded binary data.</param>
            <returns>The number of bytes written into the output span. This can be used to slice the output for subsequent calls, if necessary.</returns>
            <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination"/> is too small to hold the encoded output.</exception>
            <exception cref="T:System.FormatException"><paramref name="source"/> contains a invalid Base64Url character,
            more than two padding characters, or a non white space character among the padding characters.</exception>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.TryDecodeFromChars(System.ReadOnlySpan{System.Char},System.Span{System.Byte},System.Int32@)">
            <summary>
            Decodes the span of unicode ASCII chars represented as Base64Url into binary data.
            </summary>
            <param name="source">The input span which contains ASCII chars in Base64Url that needs to be decoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the decoded binary data.</param>
            <param name="bytesWritten">When this method returns, contains the number of bytes written into the output span. This can be used to slice the output for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <returns><see langword="true"/> if bytes decoded successfully, otherwise <see langword="false"/>.</returns>
            <exception cref="T:System.FormatException"><paramref name="source"/> contains an invalid Base64Url character,
            more than two padding characters, or a non white space character among the padding characters.</exception>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.DecodeFromChars(System.ReadOnlySpan{System.Char})">
            <summary>
            Decodes the span of unicode ASCII chars represented as Base64Url into binary data.
            </summary>
            <param name="source">The input span which contains ASCII chars in Base64Url that needs to be decoded.</param>
            <returns>A byte array which contains the result of the decoding operation.</returns>
            <exception cref="T:System.FormatException"><paramref name="source"/> contains a invalid Base64Url character,
            more than two padding characters, or a non white space character among the padding characters.</exception>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.EncodeToUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Encodes the span of binary data into UTF-8 encoded text represented as Base64Url.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the UTF-8 encoded text in Base64Url.</param>
            <param name="bytesConsumed">When this method returns, contains the number of input bytes consumed during the operation. This can be used to slice the input for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <param name="bytesWritten">When this method returns, contains the number of bytes written into the output span. This can be used to slice the output for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <param name="isFinalBlock"><see langword="true"/> when the input span contains the entirety of data to encode; <see langword="false"/> when more data may follow,
            such as when calling in a loop, subsequent calls with <see langword="false"/> should end with <see langword="true"/> call. The default is <see langword="true" />.</param>
            <returns>One of the enumeration values that indicates the success or failure of the operation.</returns>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.GetEncodedLength(System.Int32)">
            <summary>
            Returns the length (in bytes) of the result if you were to encode binary data within a byte span of size <paramref name="bytesLength"/>.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">
            <paramref name="bytesLength"/> is less than 0 or greater than 1610612733.
            </exception>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.EncodeToUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
            <summary>
            Encodes the span of binary data into UTF-8 encoded text represented as Base64Url.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the UTF-8 encoded text in Base64Url.</param>
            <returns>The number of bytes written into the destination span. This can be used to slice the output for subsequent calls, if necessary.</returns>
            <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination"/> is too small to hold the encoded output.</exception>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.EncodeToUtf8(System.ReadOnlySpan{System.Byte})">
            <summary>
            Encodes the span of binary data into UTF-8 encoded text represented as Base64Url.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <returns>The output byte array which contains the result of the operation, i.e. the UTF-8 encoded text in Base64Url.</returns>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.EncodeToChars(System.ReadOnlySpan{System.Byte},System.Span{System.Char},System.Int32@,System.Int32@,System.Boolean)">
            <summary>
            Encodes the span of binary data into unicode ASCII chars represented as Base64Url.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the ASCII chars in Base64Url.</param>
            <param name="bytesConsumed">>When this method returns, contains the number of input bytes consumed during the operation. This can be used to slice the input for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <param name="charsWritten">>When this method returns, contains the number of chars written into the output span. This can be used to slice the output for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <param name="isFinalBlock"><see langword="true"/> when the input span contains the entirety of data to encode; <see langword="false"/> when more data may follow,
            such as when calling in a loop, subsequent calls with <see langword="false"/> should end with <see langword="true"/> call. The default is <see langword="true" />.</param>
            <returns>One of the enumeration values that indicates the success or failure of the operation.</returns>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.EncodeToChars(System.ReadOnlySpan{System.Byte},System.Span{System.Char})">
            <summary>
            Encodes the span of binary data into unicode ASCII chars represented as Base64Url.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the ASCII chars in Base64Url.</param>
            <returns>The number of bytes written into the destination span. This can be used to slice the output for subsequent calls, if necessary.</returns>
            <exception cref="T:System.ArgumentException">The buffer in <paramref name="destination"/> is too small to hold the encoded output.</exception>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.EncodeToChars(System.ReadOnlySpan{System.Byte})">
            <summary>
            Encodes the span of binary data into unicode ASCII chars represented as Base64Url.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <returns>A char array which contains the result of the operation, i.e. the ASCII chars in Base64Url.</returns>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.EncodeToString(System.ReadOnlySpan{System.Byte})">
            <summary>
            Encodes the span of binary data into unicode string represented as Base64Url ASCII chars.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <returns>A string which contains the result of the operation, i.e. the ASCII string in Base64Url.</returns>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.TryEncodeToChars(System.ReadOnlySpan{System.Byte},System.Span{System.Char},System.Int32@)">
            <summary>
            Encodes the span of binary data into unicode ASCII chars represented as Base64Url.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the ASCII chars in Base64Url.</param>
            <param name="charsWritten">When this method returns, contains the number of chars written into the output span. This can be used to slice the output for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <returns><see langword="true"/> if chars encoded successfully, otherwise <see langword="false"/>.</returns>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.TryEncodeToUtf8(System.ReadOnlySpan{System.Byte},System.Span{System.Byte},System.Int32@)">
            <summary>
            Encodes the span of binary data into UTF-8 encoded chars represented as Base64Url.
            </summary>
            <param name="source">The input span which contains binary data that needs to be encoded.</param>
            <param name="destination">The output span which contains the result of the operation, i.e. the UTF-8 encoded text in Base64Url.</param>
            <param name="bytesWritten">When this method returns, contains the number of chars written into the output span. This can be used to slice the output for subsequent calls, if necessary. This parameter is treated as uninitialized.</param>
            <returns><see langword="true"/> if bytes encoded successfully, otherwise <see langword="false"/>.</returns>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.TryEncodeToUtf8InPlace(System.Span{System.Byte},System.Int32,System.Int32@)">
            <summary>
            Encodes the span of binary data (in-place) into UTF-8 encoded text represented as base 64.
            The encoded text output is larger than the binary data contained in the input (the operation inflates the data).
            </summary>
            <param name="buffer">The input span which contains binary data that needs to be encoded.
            It needs to be large enough to fit the result of the operation.</param>
            <param name="dataLength">The amount of binary data contained within the buffer that needs to be encoded
            (and needs to be smaller than the buffer length).</param>
            <param name="bytesWritten">When this method returns, contains the number of bytes written into the buffer. This parameter is treated as uninitialized.</param>
            <returns><see langword="true"/> if bytes encoded successfully, otherwise <see langword="false"/>.</returns>
            <remarks>This implementation of the base64url encoding omits the optional padding characters.</remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.IsValid(System.ReadOnlySpan{System.Char})">
            <summary>Validates that the specified span of text is comprised of valid base-64 encoded data.</summary>
            <param name="base64UrlText">A span of text to validate.</param>
            <returns><see langword="true"/> if <paramref name="base64UrlText"/> contains a valid, decodable sequence of base-64 encoded data; otherwise, <see langword="false"/>.</returns>
            <remarks>
            If the method returns <see langword="true"/>, the same text passed to <see cref="M:System.Buffers.Text.Base64Url.DecodeFromChars(System.ReadOnlySpan{System.Char})"/> and
            <see cref="M:System.Buffers.Text.Base64Url.TryDecodeFromChars(System.ReadOnlySpan{System.Char},System.Span{System.Byte},System.Int32@)"/> would successfully decode (in the case
            of <see cref="M:System.Buffers.Text.Base64Url.TryDecodeFromChars(System.ReadOnlySpan{System.Char},System.Span{System.Byte},System.Int32@)"/> assuming sufficient output space).
            Any amount of whitespace is allowed anywhere in the input, where whitespace is defined as the characters ' ', '\t', '\r', or '\n'.
            </remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.IsValid(System.ReadOnlySpan{System.Char},System.Int32@)">
            <summary>Validates that the specified span of text is comprised of valid base-64 encoded data.</summary>
            <param name="base64UrlText">A span of text to validate.</param>
            <param name="decodedLength">If the method returns true, the number of decoded bytes that will result from decoding the input text.</param>
            <returns><see langword="true"/> if <paramref name="base64UrlText"/> contains a valid, decodable sequence of base-64 encoded data; otherwise, <see langword="false"/>.</returns>
            <remarks>
            If the method returns <see langword="true"/>, the same text passed to <see cref="M:System.Buffers.Text.Base64Url.DecodeFromChars(System.ReadOnlySpan{System.Char})"/> and
            <see cref="M:System.Buffers.Text.Base64Url.TryDecodeFromChars(System.ReadOnlySpan{System.Char},System.Span{System.Byte},System.Int32@)"/> would successfully decode (in the case
            of <see cref="M:System.Buffers.Text.Base64Url.TryDecodeFromChars(System.ReadOnlySpan{System.Char},System.Span{System.Byte},System.Int32@)"/> assuming sufficient output space).
            Any amount of whitespace is allowed anywhere in the input, where whitespace is defined as the characters ' ', '\t', '\r', or '\n'.
            </remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.IsValid(System.ReadOnlySpan{System.Byte})">
            <summary>Validates that the specified span of UTF-8 text is comprised of valid base-64 encoded data.</summary>
            <param name="utf8Base64UrlText">A span of UTF-8 text to validate.</param>
            <returns><see langword="true"/> if <paramref name="utf8Base64UrlText"/> contains a valid, decodable sequence of base-64 encoded data; otherwise, <see langword="false"/>.</returns>
            <remarks>
            where whitespace is defined as the characters ' ', '\t', '\r', or '\n' (as bytes).
            </remarks>
        </member>
        <member name="M:System.Buffers.Text.Base64Url.IsValid(System.ReadOnlySpan{System.Byte},System.Int32@)">
            <summary>Validates that the specified span of UTF-8 text is comprised of valid base-64 encoded data.</summary>
            <param name="utf8Base64UrlText">A span of UTF-8 text to validate.</param>
            <param name="decodedLength">If the method returns true, the number of decoded bytes that will result from decoding the input UTF-8 text.</param>
            <returns><see langword="true"/> if <paramref name="utf8Base64UrlText"/> contains a valid, decodable sequence of base-64 encoded data; otherwise, <see langword="false"/>.</returns>
            <remarks>
            where whitespace is defined as the characters ' ', '\t', '\r', or '\n' (as bytes).
            </remarks>
        </member>
        <member name="P:System.SR.Argument_DestinationTooShort">
            <summary>Destination is too short.</summary>
        </member>
        <member name="P:System.SR.Format_BadBase64Char">
            <summary>The input is not a valid Base64Url string as it contains a non-Base64Url character, more than two padding characters, or an illegal character among the padding characters.</summary>
        </member>
    </members>
</doc>
