<?xml version="1.0"?>
<doc>
    <assembly>
        <name>AssetRipper.Primitives</name>
    </assembly>
    <members>
        <member name="T:AssetRipper.Primitives.Extensions.CharacterExtensions">
            <summary>
            Extensions for <see cref="T:System.Char"/>
            </summary>
        </member>
        <member name="M:AssetRipper.Primitives.Extensions.CharacterExtensions.ToUnityVersionType(System.Char)">
            <summary>
            Parse a character into a Unity Version Type
            </summary>
            <param name="c">The character</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException">No version type for character</exception>
        </member>
        <member name="M:AssetRipper.Primitives.UnityGuid.ReadUInt32LittleEndian(System.ReadOnlySpan{System.Byte},System.Int32)">
            <summary>
            Read little-endian <see cref="T:System.UInt32"/> from <see cref="T:System.ReadOnlySpan`1"/>
            </summary>
            <param name="byteSpan">A span of bytes.</param>
            <param name="index">The ith <see cref="T:System.UInt32"/> in <paramref name="byteSpan"/>.</param>
            <returns></returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityGuid.ConvertSystemOrUnityBytes(System.ReadOnlySpan{System.Byte},System.Span{System.Byte})">
            <summary>
            Converts system bytes to unity bytes, or the reverse
            </summary>
            <param name="input">A 16 byte input span</param>
            <param name="output">A 16 byte output span</param>
            <returns>The same span: <paramref name="input"/></returns>
            <exception cref="T:System.ArgumentException">Span doesn't have 16 elements</exception>
        </member>
        <member name="M:AssetRipper.Primitives.UnityGuid.Md5Hash(System.String)">
            <summary>
            Make a guid by MD5 hashing a string
            </summary>
            <remarks>
            The returned guid is most likely not "valid" by official standards. However, Unity doesn't seem to care.
            </remarks>
            <param name="str">Input string. Can be any length</param>
            <returns>A stable guid corresponding to the input string</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityGuid.Md5Hash(System.ReadOnlySpan{System.Byte})">
            <summary>
            Make a guid by MD5 hashing some input data
            </summary>
            <remarks>
            The returned guid is most likely not "valid" by official standards. However, Unity doesn't seem to care.
            </remarks>
            <param name="input">Input data. Can be any length</param>
            <returns>A stable guid corresponding to the <paramref name="input"/>.</returns>
        </member>
        <member name="P:AssetRipper.Primitives.UnityGuid.MissingReference">
            <summary>
            0x0000000DEADBEEF15DEADF00D0000000
            </summary>
        </member>
        <member name="T:AssetRipper.Primitives.UnityVersion">
            <summary>
            A value type for holding Unity versions
            </summary>
        </member>
        <member name="P:AssetRipper.Primitives.UnityVersion.Major">
            <summary>
            The first number in a Unity version string
            </summary>
        </member>
        <member name="P:AssetRipper.Primitives.UnityVersion.Minor">
            <summary>
            The second number in a Unity version string
            </summary>
        </member>
        <member name="P:AssetRipper.Primitives.UnityVersion.Build">
            <summary>
            The third number in a Unity version string
            </summary>
        </member>
        <member name="P:AssetRipper.Primitives.UnityVersion.Type">
            <summary>
            The letter in a Unity version string
            </summary>
        </member>
        <member name="P:AssetRipper.Primitives.UnityVersion.TypeNumber">
            <summary>
            The last number in a Unity version string
            </summary>
        </member>
        <member name="P:AssetRipper.Primitives.UnityVersion.MinVersion">
            <summary>
            The minimum value this type can have
            </summary>
        </member>
        <member name="P:AssetRipper.Primitives.UnityVersion.MaxVersion">
            <summary>
            The maximum value this type can have
            </summary>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.#ctor(System.UInt16)">
            <summary>
            Construct a new Unity version
            </summary>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.#ctor(System.UInt16,System.UInt16)">
            <summary>
            Construct a new Unity version
            </summary>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.#ctor(System.UInt16,System.UInt16,System.UInt16)">
            <summary>
            Construct a new Unity version
            </summary>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.#ctor(System.UInt16,System.UInt16,System.UInt16,AssetRipper.Primitives.UnityVersionType)">
            <summary>
            Construct a new Unity version
            </summary>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.#ctor(System.UInt16,System.UInt16,System.UInt16,AssetRipper.Primitives.UnityVersionType,System.Byte)">
            <summary>
            Construct a new Unity version
            </summary>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.GetBits">
            <summary>
            Converts this to its binary representation
            </summary>
            <returns>An unsigned long integer having the same bits as this</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.FromBits(System.UInt64)">
            <summary>
            Converts a binary representation into its respective version
            </summary>
            <param name="bits">An unsigned long integer having the relevant bits</param>
            <returns>A new Unity version with the cooresponding bits</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.CompareTo(System.Object)">
            <summary>
            Compare to another object
            </summary>
            <param name="obj">Another object</param>
            <returns>
            1 if this is larger or the other is not a Unity version<br/>
            -1 if this is smaller<br/>
            0 if equal
            </returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.CompareTo(AssetRipper.Primitives.UnityVersion)">
            <summary>
            Compare two Unity versions
            </summary>
            <param name="other">Another Unity version</param>
            <returns>
            1 if this is larger<br/>
            -1 if this is smaller<br/>
            0 if equal
            </returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.Equals(System.Object)">
            <summary>
            Check equality with another object
            </summary>
            <param name="obj">Another object</param>
            <returns>True if they're equal; false otherwise</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.Equals(AssetRipper.Primitives.UnityVersion)">
            <summary>
            Check equality with another Unity version
            </summary>
            <param name="other">Another Unity version</param>
            <returns>True if they're equal; false otherwise</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.GetHashCode">
            <inheritdoc/>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.Max(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            A maximizing function for Unity versions
            </summary>
            <param name="left">A Unity version</param>
            <param name="right">A Unity version</param>
            <returns>The larger Unity version</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.Min(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            A minimizing function for Unity versions
            </summary>
            <param name="left">A Unity version</param>
            <param name="right">A Unity version</param>
            <returns>The smaller Unity version</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.Distance(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            A distance function for measuring version proximity
            </summary>
            <remarks>
            The returned value is ordinal and should not be saved anywhere.
            It's only for runtime comparisons, such as finding the closest version in a list.
            </remarks>
            <param name="left">A Unity version</param>
            <param name="right">A Unity version</param>
            <returns>
            An ordinal number representing the distance between 2 versions. 
            A value of zero means they're equal.
            </returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.GetClosestVersion(AssetRipper.Primitives.UnityVersion[])">
            <summary>
            Get the closest Unity version in an array of versions using <see cref="M:AssetRipper.Primitives.UnityVersion.Distance(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)"/>
            </summary>
            <param name="versions">The Unity version array</param>
            <returns>The closest Unity version</returns>
            <exception cref="T:System.ArgumentNullException">The array is null</exception>
            <exception cref="T:System.ArgumentException">The array is empty</exception>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ChangeMajor(System.UInt16)">
            <summary>
            Change <see cref="P:AssetRipper.Primitives.UnityVersion.Major"/>.
            </summary>
            <param name="value">The new value</param>
            <returns>A new <see cref="T:AssetRipper.Primitives.UnityVersion"/> with the changed value.</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ChangeMinor(System.UInt16)">
            <summary>
            Change <see cref="P:AssetRipper.Primitives.UnityVersion.Minor"/>.
            </summary>
            <param name="value">The new value</param>
            <returns>A new <see cref="T:AssetRipper.Primitives.UnityVersion"/> with the changed value.</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ChangeBuild(System.UInt16)">
            <summary>
            Change <see cref="P:AssetRipper.Primitives.UnityVersion.Build"/>.
            </summary>
            <param name="value">The new value</param>
            <returns>A new <see cref="T:AssetRipper.Primitives.UnityVersion"/> with the changed value.</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ChangeType(AssetRipper.Primitives.UnityVersionType)">
            <summary>
            Change <see cref="P:AssetRipper.Primitives.UnityVersion.Type"/>.
            </summary>
            <param name="value">The new value</param>
            <returns>A new <see cref="T:AssetRipper.Primitives.UnityVersion"/> with the changed value.</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ChangeTypeNumber(System.Byte)">
            <summary>
            Change <see cref="P:AssetRipper.Primitives.UnityVersion.TypeNumber"/>.
            </summary>
            <param name="value">The new value</param>
            <returns>A new <see cref="T:AssetRipper.Primitives.UnityVersion"/> with the changed value.</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.op_Equality(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            Equality operator
            </summary>
            <param name="left">The left Unity version</param>
            <param name="right">The right Unity version</param>
            <returns></returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.op_Inequality(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            Inequality operator
            </summary>
            <param name="left">The left Unity version</param>
            <param name="right">The right Unity version</param>
            <returns></returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.op_GreaterThan(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            Greater than
            </summary>
            <param name="left">The left Unity version</param>
            <param name="right">The right Unity version</param>
            <returns></returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.op_GreaterThanOrEqual(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            Greater than or equal to
            </summary>
            <param name="left">The left Unity version</param>
            <param name="right">The right Unity version</param>
            <returns></returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.op_LessThan(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            Less than
            </summary>
            <param name="left">The left Unity version</param>
            <param name="right">The right Unity version</param>
            <returns></returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.op_LessThanOrEqual(AssetRipper.Primitives.UnityVersion,AssetRipper.Primitives.UnityVersion)">
            <summary>
            Less than or equal to
            </summary>
            <param name="left">The left Unity version</param>
            <param name="right">The right Unity version</param>
            <returns></returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ToString">
            <summary>
            Serialize the version as a string using <see cref="F:AssetRipper.Primitives.UnityVersionFormatFlags.Default"/>.
            </summary>
            <returns>A new string like 2019.4.3f1</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ToString(AssetRipper.Primitives.UnityVersionFormatFlags)">
            <summary>
            Serialize the version as a string
            </summary>
            <param name="flags">The flags to control how the version is formatted</param>
            <returns>A new string containing the formatted version.</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ToString(AssetRipper.Primitives.UnityVersionFormatFlags,System.String)">
            <summary>
            Serialize the version as a string
            </summary>
            <param name="flags">The flags to control how the version is formatted</param>
            <param name="customEngineString">The custom engine string to be appended</param>
            <returns>A new string containing the formatted version.</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.ToStringWithoutType">
            <summary>
            Serialize the version as a string using only <see cref="P:AssetRipper.Primitives.UnityVersion.Major"/>, <see cref="P:AssetRipper.Primitives.UnityVersion.Minor"/>, and <see cref="P:AssetRipper.Primitives.UnityVersion.Build"/>.
            </summary>
            <returns>A new string like 2019.4.3</returns>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.Parse(System.String)">
            <summary>
            Parse a normal Unity version string
            </summary>
            <param name="s">A string to parse</param>
            <returns>The parsed Unity version</returns>
            <exception cref="T:System.ArgumentException">If the string is in an invalid format</exception>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.Parse(System.String,System.String@)">
            <summary>
            Parse a normal Unity version string
            </summary>
            <param name="s">A string to parse</param>
            <param name="customEngine">Not null if this version was generated by a custom Unity Engine.</param>
            <returns>The parsed Unity version</returns>
            <exception cref="T:System.ArgumentException">If the string is in an invalid format</exception>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersion.TryParse(System.String,AssetRipper.Primitives.UnityVersion@,System.String@)">
            <summary>
            Try to parse a normal Unity version string
            </summary>
            <param name="s">A string to parse</param>
            <param name="version">The parsed Unity version</param>
            <param name="customEngine">Not null if this version was generated by a custom Unity Engine.</param>
            <returns>True if parsing was successful</returns>
        </member>
        <member name="T:AssetRipper.Primitives.UnityVersionFormatFlags">
            <summary>
            Flags used when formatting a <see cref="T:AssetRipper.Primitives.UnityVersion"/>
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionFormatFlags.Default">
            <summary>
            The default flags when formatting.
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionFormatFlags.ExcludeType">
            <summary>
            Exclude <see cref="P:AssetRipper.Primitives.UnityVersion.Type"/>, <see cref="P:AssetRipper.Primitives.UnityVersion.TypeNumber"/>, and the custom engine number when formatting.
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionFormatFlags.UseShortChineseFormat">
            <summary>
            Format chinese versions as 2019.4.3c1 rather than 2019.4.3f1c1
            </summary>
            <remarks>
            An example of the long version can be found in 'unity editor resources' and 'unity_builtin_extra' for the <see href="https://unity.cn/release-notes/full/2019/2019.4.40f1">2019.4.40f1c1</see> version.<br/>
            An example of the short version can be found in <see href="https://github.com/AssetRipper/AssetRipper/issues/841"/>.
            </remarks>
        </member>
        <member name="T:AssetRipper.Primitives.UnityVersionType">
            <summary>
            An enumeration representing the letter in a Unity Version string
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionType.Alpha">
            <summary>
            a
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionType.Beta">
            <summary>
            b
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionType.China">
            <summary>
            c
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionType.Final">
            <summary>
            f
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionType.Patch">
            <summary>
            p
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionType.Experimental">
            <summary>
            x
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionType.MinValue">
            <summary>
            The minimum valid value for this enumeration
            </summary>
        </member>
        <member name="F:AssetRipper.Primitives.UnityVersionType.MaxValue">
            <summary>
            The maximum valid value for this enumeration
            </summary>
        </member>
        <member name="T:AssetRipper.Primitives.UnityVersionTypeExtentions">
            <summary>
            Extension methods for <see cref="T:AssetRipper.Primitives.UnityVersionType"/>
            </summary>
        </member>
        <member name="M:AssetRipper.Primitives.UnityVersionTypeExtentions.ToCharacter(AssetRipper.Primitives.UnityVersionType)">
            <summary>
            Convert to the relevant character
            </summary>
            <param name="type">A Unity version type</param>
            <returns>The character this value represents</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">The type is not a valid value</exception>
        </member>
        <member name="T:AssetRipper.Primitives.Utf8String">
            <summary>
            An immutable, thread-safe, representation of UTF8 text data.
            </summary>
            <remarks>
            Conversions to and from <see cref="T:System.String"/> are handled by <see cref="P:System.Text.Encoding.UTF8"/>.
            </remarks>
        </member>
        <member name="M:AssetRipper.Primitives.Utf8String.#ctor">
            <summary>
            The empty string. A shared instance is available in <see cref="P:AssetRipper.Primitives.Utf8String.Empty"/>.
            </summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute">
            <summary>
            Indicates that an API is experimental and it may change in the future.
            </summary>
            <remarks>
            This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental
            feature is used. Authors can use this attribute to ship preview features in their assemblies.
            </remarks>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.ExperimentalAttribute"/> class,
            specifying the ID that the compiler will use when reporting a use of the API the attribute applies to.
            </summary>
            <param name="diagnosticId">The ID that the compiler will use when reporting a use of the API the attribute applies to.</param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.DiagnosticId">
            <summary>
            Gets the ID that the compiler will use when reporting a use of the API the attribute applies to.
            </summary>
            <value>The unique diagnostic ID.</value>
            <remarks>
            The diagnostic ID is shown in build output for warnings and errors.
            <para>This property represents the unique ID that can be used to suppress the warnings or errors, if needed.</para>
            </remarks>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.ExperimentalAttribute.UrlFormat">
            <summary>
            Gets or sets the URL for corresponding documentation.
            The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.
            </summary>
            <value>The format string that represents a URL to corresponding documentation.</value>
            <remarks>An example format string is <c>https://contoso.com/obsoletion-warnings/{0}</c>.</remarks>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.SetsRequiredMembersAttribute">
            <summary>
            Specifies that this constructor sets all required members for the current type,
            and callers do not need to set any required members themselves.
            </summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute">
            <summary>
            Specifies the syntax used in a string.
            </summary>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.#ctor(System.String)">
            <summary>
            Initializes the <see cref="T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute"/> with the identifier of the syntax used.
            </summary>
            <param name="syntax">The syntax identifier.</param>
        </member>
        <member name="M:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.#ctor(System.String,System.Object[])">
            <summary>Initializes the <see cref="T:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute"/> with the identifier of the syntax used.</summary>
            <param name="syntax">The syntax identifier.</param>
            <param name="arguments">Optional arguments associated with the specific syntax employed.</param>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Syntax">
            <summary>Gets the identifier of the syntax used.</summary>
        </member>
        <member name="P:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Arguments">
            <summary>Optional arguments associated with the specific syntax employed.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.CompositeFormat">
            <summary>The syntax identifier for strings containing composite formats for string formatting.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.DateOnlyFormat">
            <summary>The syntax identifier for strings containing date format specifiers.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.DateTimeFormat">
            <summary>The syntax identifier for strings containing date and time format specifiers.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.EnumFormat">
            <summary>The syntax identifier for strings containing <see cref="T:System.Enum"/> format specifiers.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.GuidFormat">
            <summary>The syntax identifier for strings containing <see cref="T:System.Guid"/> format specifiers.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Json">
            <summary>The syntax identifier for strings containing JavaScript Object Notation (JSON).</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.NumericFormat">
            <summary>The syntax identifier for strings containing numeric format specifiers.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Regex">
            <summary>The syntax identifier for strings containing regular expressions.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.TimeOnlyFormat">
            <summary>The syntax identifier for strings containing time format specifiers.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.TimeSpanFormat">
            <summary>The syntax identifier for strings containing <see cref="T:System.TimeSpan"/> format specifiers.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Uri">
            <summary>The syntax identifier for strings containing URIs.</summary>
        </member>
        <member name="F:System.Diagnostics.CodeAnalysis.StringSyntaxAttribute.Xml">
            <summary>The syntax identifier for strings containing XML.</summary>
        </member>
        <member name="T:System.Diagnostics.CodeAnalysis.UnscopedRefAttribute">
            <summary>
            Used to indicate a byref escapes and is not scoped.
            </summary>
            <remarks>
            <para>
            There are several cases where the C# compiler treats a <see langword="ref"/> as implicitly
            <see langword="scoped"/> - where the compiler does not allow the <see langword="ref"/> to escape the method.
            </para>
            <para>
            For example:
            <list type="number">
                <item><see langword="this"/> for <see langword="struct"/> instance methods.</item>
                <item><see langword="ref"/> parameters that refer to <see langword="ref"/> <see langword="struct"/> types.</item>
                <item><see langword="out"/> parameters.</item>
            </list>
            </para>
            <para>
            This attribute is used in those instances where the <see langword="ref"/> should be allowed to escape.
            </para>
            <para>
            Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for
            API authors to understand the lifetime implications of applying this attribute and how it may impact their users.
            </para>
            </remarks>
        </member>
        <member name="M:System.Runtime.CompilerServices.CollectionBuilderAttribute.#ctor(System.Type,System.String)">
            <summary>
            Initialize the attribute to refer to the <paramref name="methodName"/> method on the <paramref name="builderType"/> type.
            </summary>
            <param name="builderType">The type of the builder to use to construct the collection.</param>
            <param name="methodName">The name of the method on the builder to use to construct the collection.</param>
            <remarks>
            <paramref name="methodName"/> must refer to a static method that accepts a single parameter of
            type <see cref="T:System.ReadOnlySpan`1"/> and returns an instance of the collection being built containing
            a copy of the data from that span.  In future releases of .NET, additional patterns may be supported.
            </remarks>
        </member>
        <member name="P:System.Runtime.CompilerServices.CollectionBuilderAttribute.BuilderType">
            <summary>
            Gets the type of the builder to use to construct the collection.
            </summary>
        </member>
        <member name="P:System.Runtime.CompilerServices.CollectionBuilderAttribute.MethodName">
            <summary>
            Gets the name of the method on the builder to use to construct the collection.
            </summary>
            <remarks>
            This should match the metadata name of the target method.
            For example, this might be ".ctor" if targeting the type's constructor.
            </remarks>
        </member>
        <member name="T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute">
            <summary>
            Indicates that compiler support for a particular feature is required for the location where this attribute is applied.
            </summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.#ctor(System.String)">
            <summary>
            Creates a new instance of the <see cref="T:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute"/> type.
            </summary>
            <param name="featureName">The name of the feature to indicate.</param>
        </member>
        <member name="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.FeatureName">
            <summary>
            The name of the compiler feature.
            </summary>
        </member>
        <member name="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.IsOptional">
            <summary>
            If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand <see cref="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.FeatureName"/>.
            </summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.RefStructs">
            <summary>
            The <see cref="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.FeatureName"/> used for the ref structs C# feature.
            </summary>
        </member>
        <member name="F:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.RequiredMembers">
            <summary>
            The <see cref="P:System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute.FeatureName"/> used for the required members C# feature.
            </summary>
        </member>
        <member name="T:System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute">
            <summary>
            Indicates which arguments to a method involving an interpolated string handler should be passed to that handler.
            </summary>
        </member>
        <member name="M:System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute"/> class.
            </summary>
            <param name="argument">The name of the argument that should be passed to the handler.</param>
            <remarks><see langword="null"/> may be used as the name of the receiver in an instance method.</remarks>
        </member>
        <member name="M:System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute.#ctor(System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute"/> class.
            </summary>
            <param name="arguments">The names of the arguments that should be passed to the handler.</param>
            <remarks><see langword="null"/> may be used as the name of the receiver in an instance method.</remarks>
        </member>
        <member name="P:System.Runtime.CompilerServices.InterpolatedStringHandlerArgumentAttribute.Arguments">
            <summary>
            Gets the names of the arguments that should be passed to the handler.
            </summary>
            <remarks><see langword="null"/> may be used as the name of the receiver in an instance method.</remarks>
        </member>
        <member name="T:System.Runtime.CompilerServices.InterpolatedStringHandlerAttribute">
            <summary>
            Indicates the attributed type is to be used as an interpolated string handler.
            </summary>
        </member>
        <member name="T:System.Runtime.CompilerServices.RequiredMemberAttribute">
            <summary>
            Specifies that a type has required members or that a member is required.
            </summary>
        </member>
        <member name="T:System.Runtime.CompilerServices.RequiresLocationAttribute">
            <summary>
            Reserved for use by a compiler for tracking metadata.
            This attribute should not be used by developers in source code.
            </summary>
        </member>
        <member name="M:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute"/> class.
            </summary>
        </member>
        <member name="M:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute"/> class with the specified message.
            </summary>
            <param name="message">An optional message associated with this attribute instance.</param>
        </member>
        <member name="P:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.Message">
            <summary>
            Returns the optional message associated with this attribute instance.
            </summary>
        </member>
        <member name="P:System.Runtime.Versioning.RequiresPreviewFeaturesAttribute.Url">
            <summary>
            Returns the optional URL associated with this attribute instance.
            </summary>
        </member>
    </members>
</doc>
