This commit is contained in:
niko
2026-04-10 22:50:51 +02:00
parent 6d1607d5a2
commit f18d448581
17033 changed files with 2863270 additions and 0 deletions
@@ -0,0 +1,47 @@
using System;
using System.Diagnostics.Tracing;
using Cpp2IlInjected;
namespace System.Collections.Concurrent
{
// Token: 0x020005D5 RID: 1493
[Token(Token = "0x20005D5")]
[EventSource]
internal sealed class CDSCollectionETWBCLProvider : EventSource
{
// Token: 0x06002D91 RID: 11665 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D91")]
[Address(RVA = "0x2530A80", Offset = "0x252F880", VA = "0x182530A80")]
private CDSCollectionETWBCLProvider()
{
}
// Token: 0x06002D92 RID: 11666 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D92")]
[Address(RVA = "0x25309B0", Offset = "0x252F7B0", VA = "0x1825309B0")]
[Event(1)]
public void ConcurrentStack_FastPushFailed(int spinCount)
{
}
// Token: 0x06002D93 RID: 11667 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D93")]
[Address(RVA = "0x2530970", Offset = "0x252F770", VA = "0x182530970")]
[Event(2)]
public void ConcurrentStack_FastPopFailed(int spinCount)
{
}
// Token: 0x06002D94 RID: 11668 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D94")]
[Address(RVA = "0x2530930", Offset = "0x252F730", VA = "0x182530930")]
[Event(3)]
public void ConcurrentDictionary_AcquiringAllLocks(int numOfBuckets)
{
}
// Token: 0x040019E7 RID: 6631
[Token(Token = "0x40019E7")]
public static CDSCollectionETWBCLProvider Log;
}
}
@@ -0,0 +1,821 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics;
using Cpp2IlInjected;
namespace System.Collections.Concurrent
{
/// <summary>Represents a thread-safe collection of key/value pairs that can be accessed by multiple threads concurrently.</summary>
/// <typeparam name="TKey">The type of the keys in the dictionary.</typeparam>
/// <typeparam name="TValue">The type of the values in the dictionary.</typeparam>
// Token: 0x020005D6 RID: 1494
[Token(Token = "0x20005D6")]
[DebuggerDisplay("Count = {Count}")]
[DebuggerTypeProxy(typeof(IDictionaryDebugView<, >))]
[Serializable]
public class ConcurrentDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IDictionary, ICollection, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>
{
// Token: 0x06002D96 RID: 11670 RVA: 0x00017D18 File Offset: 0x00015F18
[Token(Token = "0x6002D96")]
[Address(RVA = "0x27A25D0", Offset = "0x27A13D0", VA = "0x1827A25D0")]
private static bool IsValueWriteAtomic()
{
return default(bool);
}
/// <summary>Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> class that is empty, has the default concurrency level, has the default initial capacity, and uses the default comparer for the key type.</summary>
// Token: 0x06002D97 RID: 11671 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D97")]
[Address(RVA = "0x27A7AC0", Offset = "0x27A68C0", VA = "0x1827A7AC0")]
public ConcurrentDictionary()
{
}
// Token: 0x06002D98 RID: 11672 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D98")]
[Address(RVA = "0x27A7E20", Offset = "0x27A6C20", VA = "0x1827A7E20")]
internal ConcurrentDictionary(int concurrencyLevel, int capacity, bool growLockArray, IEqualityComparer<TKey> comparer)
{
}
/// <summary>Attempts to add the specified key and value to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</summary>
/// <param name="key">The key of the element to add.</param>
/// <param name="value">The value of the element to add. The value can be <see langword="null" /> for reference types.</param>
/// <returns>
/// <see langword="true" /> if the key/value pair was added to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> successfully; <see langword="false" /> if the key already exists.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
/// <exception cref="T:System.OverflowException">The dictionary already contains the maximum number of elements (<see cref="F:System.Int32.MaxValue" />).</exception>
// Token: 0x06002D99 RID: 11673 RVA: 0x00017D30 File Offset: 0x00015F30
[Token(Token = "0x6002D99")]
[Address(RVA = "0x27A6610", Offset = "0x27A5410", VA = "0x1827A6610")]
public bool TryAdd(TKey key, TValue value)
{
return default(bool);
}
/// <summary>Determines whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> contains the specified key.</summary>
/// <param name="key">The key to locate in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</param>
/// <returns>
/// <see langword="true" /> if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> contains an element with the specified key; otherwise, <see langword="false" />.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
// Token: 0x06002D9A RID: 11674 RVA: 0x00017D48 File Offset: 0x00015F48
[Token(Token = "0x6002D9A")]
[Address(RVA = "0x279F9D0", Offset = "0x279E7D0", VA = "0x18279F9D0", Slot = "36")]
public bool ContainsKey(TKey key)
{
return default(bool);
}
/// <summary>Attempts to remove and return the value that has the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</summary>
/// <param name="key">The key of the element to remove and return.</param>
/// <param name="value">When this method returns, contains the object removed from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />, or the default value of the <see langword="TValue" /> type if <paramref name="key" /> does not exist.</param>
/// <returns>
/// <see langword="true" /> if the object was removed successfully; otherwise, <see langword="false" />.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
// Token: 0x06002D9B RID: 11675 RVA: 0x00017D60 File Offset: 0x00015F60
[Token(Token = "0x6002D9B")]
[Address(RVA = "0x27A79C0", Offset = "0x27A67C0", VA = "0x1827A79C0")]
public bool TryRemove(TKey key, out TValue value)
{
return default(bool);
}
// Token: 0x06002D9C RID: 11676 RVA: 0x00017D78 File Offset: 0x00015F78
[Token(Token = "0x6002D9C")]
[Address(RVA = "0x27A7330", Offset = "0x27A6130", VA = "0x1827A7330")]
private bool TryRemoveInternal(TKey key, out TValue value, bool matchValue, TValue oldValue)
{
return default(bool);
}
/// <summary>Attempts to get the value associated with the specified key from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</summary>
/// <param name="key">The key of the value to get.</param>
/// <param name="value">When this method returns, contains the object from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> that has the specified key, or the default value of the type if the operation failed.</param>
/// <returns>
/// <see langword="true" /> if the key was found in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />; otherwise, <see langword="false" />.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
// Token: 0x06002D9D RID: 11677 RVA: 0x00017D90 File Offset: 0x00015F90
[Token(Token = "0x6002D9D")]
[Address(RVA = "0x27A6BD0", Offset = "0x27A59D0", VA = "0x1827A6BD0", Slot = "37")]
public bool TryGetValue(TKey key, out TValue value)
{
return default(bool);
}
// Token: 0x06002D9E RID: 11678 RVA: 0x00017DA8 File Offset: 0x00015FA8
[Token(Token = "0x6002D9E")]
[Address(RVA = "0x27A6750", Offset = "0x27A5550", VA = "0x1827A6750")]
private bool TryGetValueInternal(TKey key, int hashcode, out TValue value)
{
return default(bool);
}
/// <summary>Removes all keys and values from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</summary>
// Token: 0x06002D9F RID: 11679 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002D9F")]
[Address(RVA = "0x279F790", Offset = "0x279E590", VA = "0x18279F790", Slot = "27")]
public void Clear()
{
}
// Token: 0x06002DA0 RID: 11680 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DA0")]
[Address(RVA = "0x27A2CE0", Offset = "0x27A1AE0", VA = "0x1827A2CE0", Slot = "17")]
void ICollection<KeyValuePair<TKey, TValue>>.CopyTo(KeyValuePair<TKey, TValue>[] array, int index)
{
}
/// <summary>Copies the key and value pairs stored in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> to a new array.</summary>
/// <returns>A new array containing a snapshot of key and value pairs copied from the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</returns>
// Token: 0x06002DA1 RID: 11681 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DA1")]
[Address(RVA = "0x27A5280", Offset = "0x27A4080", VA = "0x1827A5280")]
public KeyValuePair<TKey, TValue>[] ToArray()
{
return null;
}
// Token: 0x06002DA2 RID: 11682 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DA2")]
[Address(RVA = "0x27A01E0", Offset = "0x279EFE0", VA = "0x1827A01E0")]
private void CopyToPairs(KeyValuePair<TKey, TValue>[] array, int index)
{
}
// Token: 0x06002DA3 RID: 11683 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DA3")]
[Address(RVA = "0x279FBD0", Offset = "0x279E9D0", VA = "0x18279FBD0")]
private void CopyToEntries(DictionaryEntry[] array, int index)
{
}
// Token: 0x06002DA4 RID: 11684 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DA4")]
[Address(RVA = "0x279FD70", Offset = "0x279EB70", VA = "0x18279FD70")]
private void CopyToObjects(object[] array, int index)
{
}
/// <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</summary>
/// <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</returns>
// Token: 0x06002DA5 RID: 11685 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DA5")]
[Address(RVA = "0x27A0410", Offset = "0x279F210", VA = "0x1827A0410", Slot = "19")]
public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
{
return null;
}
// Token: 0x06002DA6 RID: 11686 RVA: 0x00017DC0 File Offset: 0x00015FC0
[Token(Token = "0x6002DA6")]
[Address(RVA = "0x27A54F0", Offset = "0x27A42F0", VA = "0x1827A54F0")]
private bool TryAddInternal(TKey key, int hashcode, TValue value, bool updateIfExists, bool acquireLock, out TValue resultingValue)
{
return default(bool);
}
/// <summary>Gets or sets the value associated with the specified key.</summary>
/// <param name="key">The key of the value to get or set.</param>
/// <returns>The value of the key/value pair at the specified index.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
/// <exception cref="T:System.Collections.Generic.KeyNotFoundException">The property is retrieved and <paramref name="key" /> does not exist in the collection.</exception>
// Token: 0x17000707 RID: 1799
[Token(Token = "0x17000707")]
public TValue this[TKey key]
{
[Token(Token = "0x6002DA7")]
[Address(RVA = "0x3446810", Offset = "0x3445610", VA = "0x183446810", Slot = "38")]
get
{
return null;
}
[Token(Token = "0x6002DA8")]
[Address(RVA = "0x27A8960", Offset = "0x27A7760", VA = "0x1827A8960", Slot = "5")]
set
{
}
}
// Token: 0x06002DA9 RID: 11689 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DA9")]
[Address(RVA = "0x27A4EB0", Offset = "0x27A3CB0", VA = "0x1827A4EB0")]
private static void ThrowKeyNotFoundException()
{
}
// Token: 0x06002DAA RID: 11690 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DAA")]
[Address(RVA = "0x27A4FB0", Offset = "0x27A3DB0", VA = "0x1827A4FB0")]
private static void ThrowKeyNullException()
{
}
/// <summary>Gets the number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</summary>
/// <returns>The number of key/value pairs contained in the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</returns>
/// <exception cref="T:System.OverflowException">The dictionary already contains the maximum number of elements (<see cref="F:System.Int32.MaxValue" />).</exception>
// Token: 0x17000708 RID: 1800
// (get) Token: 0x06002DAB RID: 11691 RVA: 0x00017DD8 File Offset: 0x00015FD8
[Token(Token = "0x17000708")]
public int Count
{
[Token(Token = "0x6002DAB")]
[Address(RVA = "0x27A8180", Offset = "0x27A6F80", VA = "0x1827A8180", Slot = "41")]
get
{
return 0;
}
}
// Token: 0x06002DAC RID: 11692 RVA: 0x00017DF0 File Offset: 0x00015FF0
[Token(Token = "0x6002DAC")]
[Address(RVA = "0x27A0350", Offset = "0x279F150", VA = "0x1827A0350")]
private int GetCountInternal()
{
return 0;
}
/// <summary>Adds a key/value pair to the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> by using the specified function if the key does not already exist. Returns the new value, or the existing value if the key exists.</summary>
/// <param name="key">The key of the element to add.</param>
/// <param name="valueFactory">The function used to generate a value for the key.</param>
/// <returns>The value for the key. This will be either the existing value for the key if the key is already in the dictionary, or the new value if the key was not in the dictionary.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> or <paramref name="valueFactory" /> is <see langword="null" />.</exception>
/// <exception cref="T:System.OverflowException">The dictionary already contains the maximum number of elements (<see cref="F:System.Int32.MaxValue" />).</exception>
// Token: 0x06002DAD RID: 11693 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DAD")]
[Address(RVA = "0x27A0AB0", Offset = "0x279F8B0", VA = "0x1827A0AB0")]
public TValue GetOrAdd(TKey key, Func<TKey, TValue> valueFactory)
{
return null;
}
/// <summary>Gets a value that indicates whether the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> is empty.</summary>
/// <returns>
/// <see langword="true" /> if the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> is empty; otherwise, <see langword="false" />.</returns>
// Token: 0x17000709 RID: 1801
// (get) Token: 0x06002DAE RID: 11694 RVA: 0x00017E08 File Offset: 0x00016008
[Token(Token = "0x17000709")]
public bool IsEmpty
{
[Token(Token = "0x6002DAE")]
[Address(RVA = "0x27A8450", Offset = "0x27A7250", VA = "0x1827A8450")]
get
{
return default(bool);
}
}
// Token: 0x06002DAF RID: 11695 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DAF")]
[Address(RVA = "0x27A3150", Offset = "0x27A1F50", VA = "0x1827A3150", Slot = "9")]
void IDictionary<TKey, TValue>.Add(TKey key, TValue value)
{
}
// Token: 0x06002DB0 RID: 11696 RVA: 0x00017E20 File Offset: 0x00016020
[Token(Token = "0x6002DB0")]
[Address(RVA = "0x27A3210", Offset = "0x27A2010", VA = "0x1827A3210", Slot = "10")]
bool IDictionary<TKey, TValue>.Remove(TKey key)
{
return default(bool);
}
/// <summary>Gets a collection containing the keys in the <see cref="T:System.Collections.Generic.Dictionary`2" />.</summary>
/// <returns>A collection of keys in the <see cref="T:System.Collections.Generic.Dictionary`2" />.</returns>
// Token: 0x1700070A RID: 1802
// (get) Token: 0x06002DB1 RID: 11697 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x1700070A")]
public ICollection<TKey> Keys
{
[Token(Token = "0x6002DB1")]
[Address(RVA = "0x27A32B0", Offset = "0x27A20B0", VA = "0x1827A32B0", Slot = "6")]
get
{
return null;
}
}
// Token: 0x1700070B RID: 1803
// (get) Token: 0x06002DB2 RID: 11698 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x1700070B")]
IEnumerable<TKey> IReadOnlyDictionary<TKey, TValue>.Keys
{
[Token(Token = "0x6002DB2")]
[Address(RVA = "0x27A32B0", Offset = "0x27A20B0", VA = "0x1827A32B0", Slot = "39")]
get
{
return null;
}
}
/// <summary>Gets a collection that contains the values in the <see cref="T:System.Collections.Generic.Dictionary`2" />.</summary>
/// <returns>A collection that contains the values in the <see cref="T:System.Collections.Generic.Dictionary`2" />.</returns>
// Token: 0x1700070C RID: 1804
// (get) Token: 0x06002DB3 RID: 11699 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x1700070C")]
public ICollection<TValue> Values
{
[Token(Token = "0x6002DB3")]
[Address(RVA = "0x27A32E0", Offset = "0x27A20E0", VA = "0x1827A32E0", Slot = "7")]
get
{
return null;
}
}
// Token: 0x1700070D RID: 1805
// (get) Token: 0x06002DB4 RID: 11700 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x1700070D")]
IEnumerable<TValue> IReadOnlyDictionary<TKey, TValue>.Values
{
[Token(Token = "0x6002DB4")]
[Address(RVA = "0x27A32E0", Offset = "0x27A20E0", VA = "0x1827A32E0", Slot = "40")]
get
{
return null;
}
}
// Token: 0x06002DB5 RID: 11701 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DB5")]
[Address(RVA = "0x27A2770", Offset = "0x27A1570", VA = "0x1827A2770", Slot = "14")]
void ICollection<KeyValuePair<TKey, TValue>>.Add(KeyValuePair<TKey, TValue> keyValuePair)
{
}
// Token: 0x06002DB6 RID: 11702 RVA: 0x00017E38 File Offset: 0x00016038
[Token(Token = "0x6002DB6")]
[Address(RVA = "0x27A29B0", Offset = "0x27A17B0", VA = "0x1827A29B0", Slot = "16")]
bool ICollection<KeyValuePair<TKey, TValue>>.Contains(KeyValuePair<TKey, TValue> keyValuePair)
{
return default(bool);
}
// Token: 0x1700070E RID: 1806
// (get) Token: 0x06002DB7 RID: 11703 RVA: 0x00017E50 File Offset: 0x00016050
[Token(Token = "0x1700070E")]
bool ICollection<KeyValuePair<TKey, TValue>>.IsReadOnly
{
[Token(Token = "0x6002DB7")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "13")]
get
{
return default(bool);
}
}
// Token: 0x06002DB8 RID: 11704 RVA: 0x00017E68 File Offset: 0x00016068
[Token(Token = "0x6002DB8")]
[Address(RVA = "0x27A3000", Offset = "0x27A1E00", VA = "0x1827A3000", Slot = "18")]
bool ICollection<KeyValuePair<TKey, TValue>>.Remove(KeyValuePair<TKey, TValue> keyValuePair)
{
return default(bool);
}
/// <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</summary>
/// <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</returns>
// Token: 0x06002DB9 RID: 11705 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DB9")]
[Address(RVA = "0x27A4E80", Offset = "0x27A3C80", VA = "0x1827A4E80", Slot = "20")]
IEnumerator IEnumerable.GetEnumerator()
{
return null;
}
/// <summary>Adds the specified key and value to the dictionary.</summary>
/// <param name="key">The object to use as the key.</param>
/// <param name="value">The object to use as the value.</param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="key" /> is of a type that is not assignable to the key type of the <see cref="T:System.Collections.Generic.Dictionary`2" />.
/// -or-
/// <paramref name="value" /> is of a type that is not assignable to the type of values in the <see cref="T:System.Collections.Generic.Dictionary`2" />.
/// -or-
/// A value with the same key already exists in the <see cref="T:System.Collections.Generic.Dictionary`2" />.</exception>
/// <exception cref="T:System.OverflowException">The dictionary already contains the maximum number of elements (<see cref="F:System.Int32.MaxValue" />).</exception>
// Token: 0x06002DBA RID: 11706 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DBA")]
[Address(RVA = "0x27A3B10", Offset = "0x27A2910", VA = "0x1827A3B10", Slot = "26")]
void IDictionary.Add(object key, object value)
{
}
/// <summary>Gets a value that indicates the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key.</summary>
/// <param name="key">The key to locate in the <see cref="T:System.Collections.Generic.IDictionary`2" />.</param>
/// <returns>
/// <see langword="true" /> if the <see cref="T:System.Collections.Generic.IDictionary`2" /> contains an element with the specified key; otherwise, <see langword="false" />.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
// Token: 0x06002DBB RID: 11707 RVA: 0x00017E80 File Offset: 0x00016080
[Token(Token = "0x6002DBB")]
[Address(RVA = "0x27A4110", Offset = "0x27A2F10", VA = "0x1827A4110", Slot = "25")]
bool IDictionary.Contains(object key)
{
return default(bool);
}
/// <summary>Provides a <see cref="T:System.Collections.IDictionaryEnumerator" /> for the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
/// <returns>A <see cref="T:System.Collections.IDictionaryEnumerator" /> for the <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
// Token: 0x06002DBC RID: 11708 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DBC")]
[Address(RVA = "0x27A4280", Offset = "0x27A3080", VA = "0x1827A4280", Slot = "30")]
IDictionaryEnumerator IDictionary.GetEnumerator()
{
return null;
}
/// <summary>Gets a value that indicates whether the <see cref="T:System.Collections.Generic.IDictionary`2" /> has a fixed size.</summary>
/// <returns>
/// <see langword="true" /> if the <see cref="T:System.Collections.Generic.IDictionary`2" /> has a fixed size; otherwise, <see langword="false" />. For <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />, this property always returns <see langword="false" />.</returns>
// Token: 0x1700070F RID: 1807
// (get) Token: 0x06002DBD RID: 11709 RVA: 0x00017E98 File Offset: 0x00016098
[Token(Token = "0x1700070F")]
bool IDictionary.IsFixedSize
{
[Token(Token = "0x6002DBD")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "29")]
get
{
return default(bool);
}
}
/// <summary>Gets a value that indicates whether the <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only.</summary>
/// <returns>
/// <see langword="true" /> if the <see cref="T:System.Collections.Generic.IDictionary`2" /> is read-only; otherwise, <see langword="false" />. For <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />, this property always returns <see langword="false" />.</returns>
// Token: 0x17000710 RID: 1808
// (get) Token: 0x06002DBE RID: 11710 RVA: 0x00017EB0 File Offset: 0x000160B0
[Token(Token = "0x17000710")]
bool IDictionary.IsReadOnly
{
[Token(Token = "0x6002DBE")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "28")]
get
{
return default(bool);
}
}
/// <summary>Gets an <see cref="T:System.Collections.ICollection" /> that contains the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.</summary>
/// <returns>An interface that contains the keys of the <see cref="T:System.Collections.Generic.IDictionary`2" />.</returns>
// Token: 0x17000711 RID: 1809
// (get) Token: 0x06002DBF RID: 11711 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x17000711")]
ICollection IDictionary.Keys
{
[Token(Token = "0x6002DBF")]
[Address(RVA = "0x27A32B0", Offset = "0x27A20B0", VA = "0x1827A32B0", Slot = "23")]
get
{
return null;
}
}
/// <summary>Removes the element with the specified key from the <see cref="T:System.Collections.IDictionary" />.</summary>
/// <param name="key">The key of the element to remove.</param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
// Token: 0x06002DC0 RID: 11712 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DC0")]
[Address(RVA = "0x27A4300", Offset = "0x27A3100", VA = "0x1827A4300", Slot = "31")]
void IDictionary.Remove(object key)
{
}
/// <summary>Gets an <see cref="T:System.Collections.ICollection" /> that contains the values in the <see cref="T:System.Collections.IDictionary" />.</summary>
/// <returns>An interface that contains the values in the <see cref="T:System.Collections.IDictionary" />.</returns>
// Token: 0x17000712 RID: 1810
// (get) Token: 0x06002DC1 RID: 11713 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x17000712")]
ICollection IDictionary.Values
{
[Token(Token = "0x6002DC1")]
[Address(RVA = "0x27A32E0", Offset = "0x27A20E0", VA = "0x1827A32E0", Slot = "24")]
get
{
return null;
}
}
/// <summary>Gets or sets the value associated with the specified key.</summary>
/// <param name="key">The key of the value to get or set.</param>
/// <returns>The value associated with the specified key, or <see langword="null" /> if <paramref name="key" /> is not in the dictionary or <paramref name="key" /> is of a type that is not assignable to the key type of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</returns>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="key" /> is <see langword="null" />.</exception>
/// <exception cref="T:System.ArgumentException">A value is being assigned, and <paramref name="key" /> is of a type that is not assignable to the key type or the value type of the <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" />.</exception>
// Token: 0x17000713 RID: 1811
[Token(Token = "0x17000713")]
object IDictionary.this[object key]
{
[Token(Token = "0x6002DC2")]
[Address(RVA = "0x27A4600", Offset = "0x27A3400", VA = "0x1827A4600", Slot = "21")]
get
{
return null;
}
[Token(Token = "0x6002DC3")]
[Address(RVA = "0x27A4BF0", Offset = "0x27A39F0", VA = "0x1827A4BF0", Slot = "22")]
set
{
}
}
/// <summary>Copies the elements of the <see cref="T:System.Collections.ICollection" /> to an array, starting at the specified array index.</summary>
/// <param name="array">The one-dimensional array that is the destination of the elements copied from the <see cref="T:System.Collections.ICollection" />. The array must have zero-based indexing.</param>
/// <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="array" /> is <see langword="null" />.</exception>
/// <exception cref="T:System.ArgumentOutOfRangeException">
/// <paramref name="index" /> is less than 0.</exception>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="index" /> is equal to or greater than the length of the <paramref name="array" />.
/// -or-
/// The number of elements in the source <see cref="T:System.Collections.ICollection" /> is greater than the available space from <paramref name="index" /> to the end of the destination <paramref name="array" />.</exception>
// Token: 0x06002DC4 RID: 11716 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DC4")]
[Address(RVA = "0x27A36B0", Offset = "0x27A24B0", VA = "0x1827A36B0", Slot = "32")]
void ICollection.CopyTo(Array array, int index)
{
}
/// <summary>Gets a value that indicates whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized with the SyncRoot.</summary>
/// <returns>
/// <see langword="true" /> if access to the <see cref="T:System.Collections.ICollection" /> is synchronized (thread safe); otherwise, <see langword="false" />. For <see cref="T:System.Collections.Concurrent.ConcurrentDictionary`2" /> this property always returns <see langword="false" />.</returns>
// Token: 0x17000714 RID: 1812
// (get) Token: 0x06002DC5 RID: 11717 RVA: 0x00017EC8 File Offset: 0x000160C8
[Token(Token = "0x17000714")]
bool ICollection.IsSynchronized
{
[Token(Token = "0x6002DC5")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "35")]
get
{
return default(bool);
}
}
/// <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />. This property is not supported.</summary>
/// <returns>Always returns null.</returns>
/// <exception cref="T:System.NotSupportedException">This property is not supported.</exception>
// Token: 0x17000715 RID: 1813
// (get) Token: 0x06002DC6 RID: 11718 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x17000715")]
object ICollection.SyncRoot
{
[Token(Token = "0x6002DC6")]
[Address(RVA = "0x27A3AB0", Offset = "0x27A28B0", VA = "0x1827A3AB0", Slot = "34")]
get
{
return null;
}
}
// Token: 0x06002DC7 RID: 11719 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DC7")]
[Address(RVA = "0x27A1C70", Offset = "0x27A0A70", VA = "0x1827A1C70")]
private void GrowTable(ConcurrentDictionary<TKey, TValue>.Tables tables)
{
}
// Token: 0x06002DC8 RID: 11720 RVA: 0x00017EE0 File Offset: 0x000160E0
[Token(Token = "0x6002DC8")]
[Address(RVA = "0x27A0340", Offset = "0x279F140", VA = "0x1827A0340")]
private static int GetBucket(int hashcode, int bucketCount)
{
return 0;
}
// Token: 0x06002DC9 RID: 11721 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DC9")]
[Address(RVA = "0x27A0320", Offset = "0x279F120", VA = "0x1827A0320")]
private static void GetBucketAndLockNo(int hashcode, out int bucketNo, out int lockNo, int bucketCount, int lockCount)
{
}
// Token: 0x17000716 RID: 1814
// (get) Token: 0x06002DCA RID: 11722 RVA: 0x00017EF8 File Offset: 0x000160F8
[Token(Token = "0x17000716")]
private static int DefaultConcurrencyLevel
{
[Token(Token = "0x6002DCA")]
[Address(RVA = "0x27A8270", Offset = "0x27A7070", VA = "0x1827A8270")]
get
{
return 0;
}
}
// Token: 0x06002DCB RID: 11723 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DCB")]
[Address(RVA = "0x279F160", Offset = "0x279DF60", VA = "0x18279F160")]
private void AcquireAllLocks(ref int locksAcquired)
{
}
// Token: 0x06002DCC RID: 11724 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DCC")]
[Address(RVA = "0x279F410", Offset = "0x279E210", VA = "0x18279F410")]
private void AcquireLocks(int fromInclusive, int toExclusive, ref int locksAcquired)
{
}
// Token: 0x06002DCD RID: 11725 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DCD")]
[Address(RVA = "0x27A26F0", Offset = "0x27A14F0", VA = "0x1827A26F0")]
private void ReleaseLocks(int fromInclusive, int toExclusive)
{
}
// Token: 0x06002DCE RID: 11726 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DCE")]
[Address(RVA = "0x27A07F0", Offset = "0x279F5F0", VA = "0x1827A07F0")]
private ReadOnlyCollection<TKey> GetKeys()
{
return null;
}
// Token: 0x06002DCF RID: 11727 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DCF")]
[Address(RVA = "0x27A0ED0", Offset = "0x279FCD0", VA = "0x1827A0ED0")]
private ReadOnlyCollection<TValue> GetValues()
{
return null;
}
// Token: 0x040019E8 RID: 6632
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019E8")]
private ConcurrentDictionary<TKey, TValue>.Tables _tables;
// Token: 0x040019E9 RID: 6633
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019E9")]
private IEqualityComparer<TKey> _comparer;
// Token: 0x040019EA RID: 6634
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019EA")]
private readonly bool _growLockArray;
// Token: 0x040019EB RID: 6635
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019EB")]
private int _budget;
// Token: 0x040019EC RID: 6636
[Token(Token = "0x40019EC")]
private static readonly bool s_isValueWriteAtomic;
// Token: 0x020005D7 RID: 1495
[Token(Token = "0x20005D7")]
private sealed class Tables
{
// Token: 0x06002DD1 RID: 11729 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DD1")]
[Address(RVA = "0x27AEC60", Offset = "0x27ADA60", VA = "0x1827AEC60")]
internal Tables(ConcurrentDictionary<TKey, TValue>.Node[] buckets, object[] locks, int[] countPerLock)
{
}
// Token: 0x040019ED RID: 6637
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019ED")]
internal readonly ConcurrentDictionary<TKey, TValue>.Node[] _buckets;
// Token: 0x040019EE RID: 6638
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019EE")]
internal readonly object[] _locks;
// Token: 0x040019EF RID: 6639
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019EF")]
internal int[] _countPerLock;
}
// Token: 0x020005D8 RID: 1496
[Token(Token = "0x20005D8")]
[Serializable]
private sealed class Node
{
// Token: 0x06002DD2 RID: 11730 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DD2")]
[Address(RVA = "0x27AEB80", Offset = "0x27AD980", VA = "0x1827AEB80")]
internal Node(TKey key, TValue value, int hashcode, ConcurrentDictionary<TKey, TValue>.Node next)
{
}
// Token: 0x040019F0 RID: 6640
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019F0")]
internal readonly TKey _key;
// Token: 0x040019F1 RID: 6641
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019F1")]
internal TValue _value;
// Token: 0x040019F2 RID: 6642
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019F2")]
internal ConcurrentDictionary<TKey, TValue>.Node _next;
// Token: 0x040019F3 RID: 6643
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019F3")]
internal readonly int _hashcode;
}
// Token: 0x020005D9 RID: 1497
[Token(Token = "0x20005D9")]
[Serializable]
private sealed class DictionaryEnumerator : IDictionaryEnumerator, IEnumerator
{
// Token: 0x06002DD3 RID: 11731 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DD3")]
[Address(RVA = "0x27A9CC0", Offset = "0x27A8AC0", VA = "0x1827A9CC0")]
internal DictionaryEnumerator(ConcurrentDictionary<TKey, TValue> dictionary)
{
}
// Token: 0x17000717 RID: 1815
// (get) Token: 0x06002DD4 RID: 11732 RVA: 0x00017F10 File Offset: 0x00016110
[Token(Token = "0x17000717")]
public DictionaryEntry Entry
{
[Token(Token = "0x6002DD4")]
[Address(RVA = "0x27AA0A0", Offset = "0x27A8EA0", VA = "0x1827AA0A0", Slot = "6")]
get
{
return default(DictionaryEntry);
}
}
// Token: 0x17000718 RID: 1816
// (get) Token: 0x06002DD5 RID: 11733 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x17000718")]
public object Key
{
[Token(Token = "0x6002DD5")]
[Address(RVA = "0x27AA520", Offset = "0x27A9320", VA = "0x1827AA520", Slot = "4")]
get
{
return null;
}
}
// Token: 0x17000719 RID: 1817
// (get) Token: 0x06002DD6 RID: 11734 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x17000719")]
public object Value
{
[Token(Token = "0x6002DD6")]
[Address(RVA = "0x27AA8A0", Offset = "0x27A96A0", VA = "0x1827AA8A0", Slot = "5")]
get
{
return null;
}
}
// Token: 0x1700071A RID: 1818
// (get) Token: 0x06002DD7 RID: 11735 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x1700071A")]
public object Current
{
[Token(Token = "0x6002DD7")]
[Address(RVA = "0x27A9DA0", Offset = "0x27A8BA0", VA = "0x1827A9DA0", Slot = "8")]
get
{
return null;
}
}
// Token: 0x06002DD8 RID: 11736 RVA: 0x00017F28 File Offset: 0x00016128
[Token(Token = "0x6002DD8")]
[Address(RVA = "0x27A9AE0", Offset = "0x27A88E0", VA = "0x1827A9AE0", Slot = "7")]
public bool MoveNext()
{
return default(bool);
}
// Token: 0x06002DD9 RID: 11737 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DD9")]
[Address(RVA = "0x27A9C70", Offset = "0x27A8A70", VA = "0x1827A9C70", Slot = "9")]
public void Reset()
{
}
// Token: 0x040019F4 RID: 6644
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019F4")]
private IEnumerator<KeyValuePair<TKey, TValue>> _enumerator;
}
}
}
@@ -0,0 +1,341 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Collections.Concurrent
{
/// <summary>Represents a thread-safe first in-first out (FIFO) collection.</summary>
/// <typeparam name="T">The type of the elements contained in the queue.</typeparam>
// Token: 0x020005DC RID: 1500
[Token(Token = "0x20005DC")]
[DebuggerDisplay("Count = {Count}")]
[DebuggerTypeProxy(typeof(IProducerConsumerCollectionDebugView<>))]
[Serializable]
public class ConcurrentQueue<T> : IEnumerable<T>, IEnumerable, ICollection, IReadOnlyCollection<T>
{
/// <summary>Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> class.</summary>
// Token: 0x06002DE0 RID: 11744 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DE0")]
[Address(RVA = "0x3447D00", Offset = "0x3446B00", VA = "0x183447D00")]
public ConcurrentQueue()
{
}
/// <summary>Copies the elements of the <see cref="T:System.Collections.ICollection" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.</summary>
/// <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentBag`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
/// <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="array" /> is a null reference (Nothing in Visual Basic).</exception>
/// <exception cref="T:System.ArgumentOutOfRangeException">
/// <paramref name="index" /> is less than zero.</exception>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="array" /> is multidimensional. -or- <paramref name="array" /> does not have zero-based indexing. -or- <paramref name="index" /> is equal to or greater than the length of the <paramref name="array" /> -or- The number of elements in the source <see cref="T:System.Collections.ICollection" /> is greater than the available space from <paramref name="index" /> to the end of the destination <paramref name="array" />. -or- The type of the source <see cref="T:System.Collections.ICollection" /> cannot be cast automatically to the type of the destination <paramref name="array" />.</exception>
// Token: 0x06002DE1 RID: 11745 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DE1")]
[Address(RVA = "0x3447650", Offset = "0x3446450", VA = "0x183447650", Slot = "6")]
void ICollection.CopyTo(Array array, int index)
{
}
/// <summary>Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized with the SyncRoot.</summary>
/// <returns>Always returns <see langword="false" /> to indicate access is not synchronized.</returns>
// Token: 0x1700071D RID: 1821
// (get) Token: 0x06002DE2 RID: 11746 RVA: 0x00017F70 File Offset: 0x00016170
[Token(Token = "0x1700071D")]
bool ICollection.IsSynchronized
{
[Token(Token = "0x6002DE2")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "9")]
get
{
return default(bool);
}
}
/// <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />. This property is not supported.</summary>
/// <returns>Returns null (Nothing in Visual Basic).</returns>
/// <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported.</exception>
// Token: 0x1700071E RID: 1822
// (get) Token: 0x06002DE3 RID: 11747 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x1700071E")]
object ICollection.SyncRoot
{
[Token(Token = "0x6002DE3")]
[Address(RVA = "0x3447770", Offset = "0x3446570", VA = "0x183447770", Slot = "8")]
get
{
return null;
}
}
/// <summary>Returns an enumerator that iterates through a collection.</summary>
/// <returns>An <see cref="T:System.Collections.IEnumerator" /> that can be used to iterate through the collection.</returns>
// Token: 0x06002DE4 RID: 11748 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DE4")]
[Address(RVA = "0x34477D0", Offset = "0x34465D0", VA = "0x1834477D0", Slot = "5")]
IEnumerator IEnumerable.GetEnumerator()
{
return null;
}
/// <summary>Copies the elements stored in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> to a new array.</summary>
/// <returns>A new array containing a snapshot of elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</returns>
// Token: 0x06002DE5 RID: 11749 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DE5")]
[Address(RVA = "0x3447820", Offset = "0x3446620", VA = "0x183447820", Slot = "11")]
public T[] ToArray()
{
return null;
}
/// <summary>Gets the number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</summary>
/// <returns>The number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</returns>
// Token: 0x1700071F RID: 1823
// (get) Token: 0x06002DE6 RID: 11750 RVA: 0x00017F88 File Offset: 0x00016188
[Token(Token = "0x1700071F")]
public int Count
{
[Token(Token = "0x6002DE6")]
[Address(RVA = "0x3447DD0", Offset = "0x3446BD0", VA = "0x183447DD0", Slot = "10")]
get
{
return 0;
}
}
// Token: 0x06002DE7 RID: 11751 RVA: 0x00017FA0 File Offset: 0x000161A0
[Token(Token = "0x6002DE7")]
[Address(RVA = "0x34470B0", Offset = "0x3445EB0", VA = "0x1834470B0")]
private static int GetCount(ConcurrentQueue<T>.Segment s, int head, int tail)
{
return 0;
}
// Token: 0x06002DE8 RID: 11752 RVA: 0x00017FB8 File Offset: 0x000161B8
[Token(Token = "0x6002DE8")]
[Address(RVA = "0x3447190", Offset = "0x3445F90", VA = "0x183447190")]
private static long GetCount(ConcurrentQueue<T>.Segment head, int headHead, ConcurrentQueue<T>.Segment tail, int tailTail)
{
return 0L;
}
/// <summary>Copies the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> elements to an existing one-dimensional <see cref="T:System.Array" />, starting at the specified array index.</summary>
/// <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
/// <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="array" /> is a null reference (Nothing in Visual Basic).</exception>
/// <exception cref="T:System.ArgumentOutOfRangeException">
/// <paramref name="index" /> is less than zero.</exception>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="index" /> is equal to or greater than the length of the <paramref name="array" /> -or- The number of elements in the source <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> is greater than the available space from <paramref name="index" /> to the end of the destination <paramref name="array" />.</exception>
// Token: 0x06002DE9 RID: 11753 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DE9")]
[Address(RVA = "0x3446A60", Offset = "0x3445860", VA = "0x183446A60", Slot = "12")]
public void CopyTo(T[] array, int index)
{
}
/// <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</summary>
/// <returns>An enumerator for the contents of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</returns>
// Token: 0x06002DEA RID: 11754 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DEA")]
[Address(RVA = "0x3447360", Offset = "0x3446160", VA = "0x183447360", Slot = "4")]
public IEnumerator<T> GetEnumerator()
{
return null;
}
// Token: 0x06002DEB RID: 11755 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DEB")]
[Address(RVA = "0x34474F0", Offset = "0x34462F0", VA = "0x1834474F0")]
private void SnapForObservation(out ConcurrentQueue<T>.Segment head, out int headHead, out ConcurrentQueue<T>.Segment tail, out int tailTail)
{
}
// Token: 0x06002DEC RID: 11756 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DEC")]
[Address(RVA = "0x3447400", Offset = "0x3446200", VA = "0x183447400")]
private T GetItemWhenAvailable(ConcurrentQueue<T>.Segment segment, int i)
{
return null;
}
// Token: 0x06002DED RID: 11757 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002DED")]
[Address(RVA = "0x3447000", Offset = "0x3445E00", VA = "0x183447000")]
private IEnumerator<T> Enumerate(ConcurrentQueue<T>.Segment head, int headHead, ConcurrentQueue<T>.Segment tail, int tailTail)
{
return null;
}
/// <summary>Adds an object to the end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />.</summary>
/// <param name="item">The object to add to the end of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" />. The value can be a null reference (Nothing in Visual Basic) for reference types.</param>
// Token: 0x06002DEE RID: 11758 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DEE")]
[Address(RVA = "0x3446F70", Offset = "0x3445D70", VA = "0x183446F70")]
public void Enqueue(T item)
{
}
// Token: 0x06002DEF RID: 11759 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DEF")]
[Address(RVA = "0x3446D10", Offset = "0x3445B10", VA = "0x183446D10")]
private void EnqueueSlow(T item)
{
}
/// <summary>Tries to remove and return the object at the beginning of the concurrent queue.</summary>
/// <param name="result">When this method returns, if the operation was successful, <paramref name="result" /> contains the object removed. If no object was available to be removed, the value is unspecified.</param>
/// <returns>
/// <see langword="true" /> if an element was removed and returned from the beginning of the <see cref="T:System.Collections.Concurrent.ConcurrentQueue`1" /> successfully; otherwise, <see langword="false" />.</returns>
// Token: 0x06002DF0 RID: 11760 RVA: 0x00017FD0 File Offset: 0x000161D0
[Token(Token = "0x6002DF0")]
[Address(RVA = "0x3447C70", Offset = "0x3446A70", VA = "0x183447C70")]
public bool TryDequeue(out T result)
{
return default(bool);
}
// Token: 0x06002DF1 RID: 11761 RVA: 0x00017FE8 File Offset: 0x000161E8
[Token(Token = "0x6002DF1")]
[Address(RVA = "0x3447AC0", Offset = "0x34468C0", VA = "0x183447AC0")]
private bool TryDequeueSlow(out T item)
{
return default(bool);
}
// Token: 0x040019FB RID: 6651
[Token(Token = "0x40019FB")]
private const int InitialSegmentLength = 32;
// Token: 0x040019FC RID: 6652
[Token(Token = "0x40019FC")]
private const int MaxSegmentLength = 1048576;
// Token: 0x040019FD RID: 6653
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019FD")]
private object _crossSegmentLock;
// Token: 0x040019FE RID: 6654
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019FE")]
private ConcurrentQueue<T>.Segment _tail;
// Token: 0x040019FF RID: 6655
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x40019FF")]
private ConcurrentQueue<T>.Segment _head;
// Token: 0x020005DD RID: 1501
[Token(Token = "0x20005DD")]
[DebuggerDisplay("Capacity = {Capacity}")]
private sealed class Segment
{
// Token: 0x06002DF2 RID: 11762 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DF2")]
[Address(RVA = "0x3448E60", Offset = "0x3447C60", VA = "0x183448E60")]
public Segment(int boundedLength)
{
}
// Token: 0x17000720 RID: 1824
// (get) Token: 0x06002DF3 RID: 11763 RVA: 0x00018000 File Offset: 0x00016200
[Token(Token = "0x17000720")]
internal int Capacity
{
[Token(Token = "0x6002DF3")]
[Address(RVA = "0x40DB30", Offset = "0x40C930", VA = "0x18040DB30")]
get
{
return 0;
}
}
// Token: 0x17000721 RID: 1825
// (get) Token: 0x06002DF4 RID: 11764 RVA: 0x00018018 File Offset: 0x00016218
[Token(Token = "0x17000721")]
internal int FreezeOffset
{
[Token(Token = "0x6002DF4")]
[Address(RVA = "0x3448F20", Offset = "0x3447D20", VA = "0x183448F20")]
get
{
return 0;
}
}
// Token: 0x06002DF5 RID: 11765 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DF5")]
[Address(RVA = "0x3448AB0", Offset = "0x34478B0", VA = "0x183448AB0")]
internal void EnsureFrozenForEnqueues()
{
}
// Token: 0x06002DF6 RID: 11766 RVA: 0x00018030 File Offset: 0x00016230
[Token(Token = "0x6002DF6")]
[Address(RVA = "0x3448B50", Offset = "0x3447950", VA = "0x183448B50")]
public bool TryDequeue(out T item)
{
return default(bool);
}
// Token: 0x06002DF7 RID: 11767 RVA: 0x00018048 File Offset: 0x00016248
[Token(Token = "0x6002DF7")]
[Address(RVA = "0x3448D20", Offset = "0x3447B20", VA = "0x183448D20")]
public bool TryEnqueue(T item)
{
return default(bool);
}
// Token: 0x04001A00 RID: 6656
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A00")]
internal readonly ConcurrentQueue<T>.Segment.Slot[] _slots;
// Token: 0x04001A01 RID: 6657
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A01")]
internal readonly int _slotsMask;
// Token: 0x04001A02 RID: 6658
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A02")]
internal PaddedHeadAndTail _headAndTail;
// Token: 0x04001A03 RID: 6659
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A03")]
internal bool _preservedForObservation;
// Token: 0x04001A04 RID: 6660
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A04")]
internal bool _frozenForEnqueues;
// Token: 0x04001A05 RID: 6661
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A05")]
internal ConcurrentQueue<T>.Segment _nextSegment;
// Token: 0x020005DE RID: 1502
[Token(Token = "0x20005DE")]
[DebuggerDisplay("Item = {Item}, SequenceNumber = {SequenceNumber}")]
[StructLayout(3)]
internal struct Slot
{
// Token: 0x04001A06 RID: 6662
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A06")]
public T Item;
// Token: 0x04001A07 RID: 6663
[global::Cpp2IlInjected.FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A07")]
public int SequenceNumber;
}
}
}
}
@@ -0,0 +1,210 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using Cpp2IlInjected;
namespace System.Collections.Concurrent
{
/// <summary>Represents a thread-safe last in-first out (LIFO) collection.</summary>
/// <typeparam name="T">The type of the elements contained in the stack.</typeparam>
// Token: 0x020005E1 RID: 1505
[Token(Token = "0x20005E1")]
[DebuggerDisplay("Count = {Count}")]
[DebuggerTypeProxy(typeof(IProducerConsumerCollectionDebugView<>))]
[Serializable]
public class ConcurrentStack<T> : IEnumerable<T>, IEnumerable, ICollection, IReadOnlyCollection<T>
{
/// <summary>Initializes a new instance of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" /> class.</summary>
// Token: 0x06002DFE RID: 11774 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002DFE")]
[Address(RVA = "0x118F5A0", Offset = "0x118E3A0", VA = "0x18118F5A0")]
public ConcurrentStack()
{
}
/// <summary>Gets the number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />.</summary>
/// <returns>The number of elements contained in the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />.</returns>
// Token: 0x17000724 RID: 1828
// (get) Token: 0x06002DFF RID: 11775 RVA: 0x00018078 File Offset: 0x00016278
[Token(Token = "0x17000724")]
public int Count
{
[Token(Token = "0x6002DFF")]
[Address(RVA = "0x3448A20", Offset = "0x3447820", VA = "0x183448A20", Slot = "10")]
get
{
return 0;
}
}
/// <summary>Gets a value indicating whether access to the <see cref="T:System.Collections.ICollection" /> is synchronized with the SyncRoot.</summary>
/// <returns>Always returns <see langword="false" /> to indicate access is not synchronized.</returns>
// Token: 0x17000725 RID: 1829
// (get) Token: 0x06002E00 RID: 11776 RVA: 0x00018090 File Offset: 0x00016290
[Token(Token = "0x17000725")]
bool ICollection.IsSynchronized
{
[Token(Token = "0x6002E00")]
[Address(RVA = "0x403930", Offset = "0x402730", VA = "0x180403930", Slot = "9")]
get
{
return default(bool);
}
}
/// <summary>Gets an object that can be used to synchronize access to the <see cref="T:System.Collections.ICollection" />. This property is not supported.</summary>
/// <returns>Returns null (Nothing in Visual Basic).</returns>
/// <exception cref="T:System.NotSupportedException">The SyncRoot property is not supported</exception>
// Token: 0x17000726 RID: 1830
// (get) Token: 0x06002E01 RID: 11777 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x17000726")]
object ICollection.SyncRoot
{
[Token(Token = "0x6002E01")]
[Address(RVA = "0x34484E0", Offset = "0x34472E0", VA = "0x1834484E0", Slot = "8")]
get
{
return null;
}
}
/// <summary>Removes all objects from the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />.</summary>
// Token: 0x06002E02 RID: 11778 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002E02")]
[Address(RVA = "0x34480D0", Offset = "0x3446ED0", VA = "0x1834480D0")]
public void Clear()
{
}
/// <summary>Copies the elements of the <see cref="T:System.Collections.ICollection" /> to an <see cref="T:System.Array" />, starting at a particular <see cref="T:System.Array" /> index.</summary>
/// <param name="array">The one-dimensional <see cref="T:System.Array" /> that is the destination of the elements copied from the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />. The <see cref="T:System.Array" /> must have zero-based indexing.</param>
/// <param name="index">The zero-based index in <paramref name="array" /> at which copying begins.</param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="array" /> is a null reference (Nothing in Visual Basic).</exception>
/// <exception cref="T:System.ArgumentOutOfRangeException">
/// <paramref name="index" /> is less than zero.</exception>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="array" /> is multidimensional. -or- <paramref name="array" /> does not have zero-based indexing. -or- <paramref name="index" /> is equal to or greater than the length of the <paramref name="array" /> -or- The number of elements in the source <see cref="T:System.Collections.ICollection" /> is greater than the available space from <paramref name="index" /> to the end of the destination <paramref name="array" />. -or- The type of the source <see cref="T:System.Collections.ICollection" /> cannot be cast automatically to the type of the destination <paramref name="array" />.</exception>
// Token: 0x06002E03 RID: 11779 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002E03")]
[Address(RVA = "0x34483B0", Offset = "0x34471B0", VA = "0x1834483B0", Slot = "6")]
void ICollection.CopyTo(Array array, int index)
{
}
/// <summary>Inserts an object at the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />.</summary>
/// <param name="item">The object to push onto the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />. The value can be a null reference (Nothing in Visual Basic) for reference types.</param>
// Token: 0x06002E04 RID: 11780 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002E04")]
[Address(RVA = "0x34482D0", Offset = "0x34470D0", VA = "0x1834482D0")]
public void Push(T item)
{
}
// Token: 0x06002E05 RID: 11781 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002E05")]
[Address(RVA = "0x34481C0", Offset = "0x3446FC0", VA = "0x1834481C0")]
private void PushCore(ConcurrentStack<T>.Node head, ConcurrentStack<T>.Node tail)
{
}
/// <summary>Attempts to pop and return the object at the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />.</summary>
/// <param name="result">When this method returns, if the operation was successful, <paramref name="result" /> contains the object removed. If no object was available to be removed, the value is unspecified.</param>
/// <returns>true if an element was removed and returned from the top of the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" /> successfully; otherwise, false.</returns>
// Token: 0x06002E06 RID: 11782 RVA: 0x000180A8 File Offset: 0x000162A8
[Token(Token = "0x6002E06")]
[Address(RVA = "0x3448980", Offset = "0x3447780", VA = "0x183448980")]
public bool TryPop(out T result)
{
return default(bool);
}
// Token: 0x06002E07 RID: 11783 RVA: 0x000180C0 File Offset: 0x000162C0
[Token(Token = "0x6002E07")]
[Address(RVA = "0x3448690", Offset = "0x3447490", VA = "0x183448690")]
private bool TryPopCore(out T result)
{
return default(bool);
}
// Token: 0x06002E08 RID: 11784 RVA: 0x000180D8 File Offset: 0x000162D8
[Token(Token = "0x6002E08")]
[Address(RVA = "0x3448700", Offset = "0x3447500", VA = "0x183448700")]
private int TryPopCore(int count, out ConcurrentStack<T>.Node poppedHead)
{
return 0;
}
// Token: 0x06002E09 RID: 11785 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002E09")]
[Address(RVA = "0x3448590", Offset = "0x3447390", VA = "0x183448590")]
private List<T> ToList()
{
return null;
}
// Token: 0x06002E0A RID: 11786 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002E0A")]
[Address(RVA = "0x34485E0", Offset = "0x34473E0", VA = "0x1834485E0")]
private List<T> ToList(ConcurrentStack<T>.Node curr)
{
return null;
}
/// <summary>Returns an enumerator that iterates through the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />.</summary>
/// <returns>An enumerator for the <see cref="T:System.Collections.Concurrent.ConcurrentStack`1" />.</returns>
// Token: 0x06002E0B RID: 11787 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002E0B")]
[Address(RVA = "0x3448170", Offset = "0x3446F70", VA = "0x183448170", Slot = "4")]
public IEnumerator<T> GetEnumerator()
{
return null;
}
// Token: 0x06002E0C RID: 11788 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002E0C")]
[Address(RVA = "0x34480F0", Offset = "0x3446EF0", VA = "0x1834480F0")]
private IEnumerator<T> GetEnumerator(ConcurrentStack<T>.Node head)
{
return null;
}
/// <summary>Returns an enumerator that iterates through a collection.</summary>
/// <returns>An <see cref="T:System.Collections.IEnumerator" /> that can be used to iterate through the collection.</returns>
// Token: 0x06002E0D RID: 11789 RVA: 0x00002082 File Offset: 0x00000282
[Token(Token = "0x6002E0D")]
[Address(RVA = "0x3448540", Offset = "0x3447340", VA = "0x183448540", Slot = "5")]
IEnumerator IEnumerable.GetEnumerator()
{
return null;
}
// Token: 0x04001A19 RID: 6681
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A19")]
private ConcurrentStack<T>.Node _head;
// Token: 0x020005E2 RID: 1506
[Token(Token = "0x20005E2")]
[Serializable]
private class Node
{
// Token: 0x06002E0E RID: 11790 RVA: 0x00002050 File Offset: 0x00000250
[Token(Token = "0x6002E0E")]
[Address(RVA = "0x3448A70", Offset = "0x3447870", VA = "0x183448A70")]
internal Node(T value)
{
}
// Token: 0x04001A1A RID: 6682
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A1A")]
internal readonly T _value;
// Token: 0x04001A1B RID: 6683
[FieldOffset(Offset = "0x0")]
[Token(Token = "0x4001A1B")]
internal ConcurrentStack<T>.Node _next;
}
}
}
@@ -0,0 +1,11 @@
using System;
using Cpp2IlInjected;
namespace System.Collections.Concurrent
{
// Token: 0x020005DB RID: 1499
[Token(Token = "0x20005DB")]
internal sealed class IDictionaryDebugView<K, V>
{
}
}
@@ -0,0 +1,11 @@
using System;
using Cpp2IlInjected;
namespace System.Collections.Concurrent
{
// Token: 0x020005E4 RID: 1508
[Token(Token = "0x20005E4")]
internal sealed class IProducerConsumerCollectionDebugView<T>
{
}
}
@@ -0,0 +1,24 @@
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
namespace System.Collections.Concurrent
{
// Token: 0x020005E0 RID: 1504
[Token(Token = "0x20005E0")]
[DebuggerDisplay("Head = {Head}, Tail = {Tail}")]
[StructLayout(2, Pack = 1, Size = 384)]
internal struct PaddedHeadAndTail
{
// Token: 0x04001A17 RID: 6679
[global::Cpp2IlInjected.FieldOffset(Offset = "0x80")]
[Token(Token = "0x4001A17")]
public int Head;
// Token: 0x04001A18 RID: 6680
[global::Cpp2IlInjected.FieldOffset(Offset = "0x100")]
[Token(Token = "0x4001A18")]
public int Tail;
}
}