-
Notifications
You must be signed in to change notification settings - Fork 6
/
StringPool.xml
291 lines (291 loc) · 16.7 KB
/
StringPool.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
<Type Name="StringPool" FullName="Microsoft.Toolkit.HighPerformance.Buffers.StringPool">
<TypeSignature Language="C#" Value="public sealed class StringPool" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit StringPool extends System.Object" />
<TypeSignature Language="DocId" Value="T:Microsoft.Toolkit.HighPerformance.Buffers.StringPool" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class StringPool" />
<TypeSignature Language="F#" Value="type StringPool = class" />
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>
A configurable pool for <see cref="T:System.String" /> instances. This can be used to minimize allocations
when creating multiple <see cref="T:System.String" /> instances from buffers of <see cref="T:System.Char" /> values.
The <see cref="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Char})" /> method provides a best-effort alternative to just creating
a new <see cref="T:System.String" /> instance every time, in order to minimize the number of duplicated instances.
The <see cref="T:Microsoft.Toolkit.HighPerformance.Buffers.StringPool" /> type will internally manage a highly efficient priority queue for the
cached <see cref="T:System.String" /> instances, so that when the full capacity is reached, the least frequently
used values will be automatically discarded to leave room for new values to cache.
</summary>
<remarks>To be added.</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public StringPool ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters />
<Docs>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Toolkit.HighPerformance.Buffers.StringPool" /> class.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public StringPool (int minimumSize);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 minimumSize) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.#ctor(System.Int32)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (minimumSize As Integer)" />
<MemberSignature Language="F#" Value="new Microsoft.Toolkit.HighPerformance.Buffers.StringPool : int -> Microsoft.Toolkit.HighPerformance.Buffers.StringPool" Usage="new Microsoft.Toolkit.HighPerformance.Buffers.StringPool minimumSize" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="minimumSize" Type="System.Int32" />
</Parameters>
<Docs>
<param name="minimumSize">The minimum size for the pool to create.</param>
<summary>
Initializes a new instance of the <see cref="T:Microsoft.Toolkit.HighPerformance.Buffers.StringPool" /> class.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Add">
<MemberSignature Language="C#" Value="public void Add (string value);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Add(string value) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.Add(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub Add (value As String)" />
<MemberSignature Language="F#" Value="member this.Add : string -> unit" Usage="stringPool.Add value" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.String" />
</Parameters>
<Docs>
<param name="value">The input <see cref="T:System.String" /> instance to cache.</param>
<summary>
Stores a <see cref="T:System.String" /> instance in the internal cache.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetOrAdd">
<MemberSignature Language="C#" Value="public string GetOrAdd (ReadOnlySpan<char> span);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetOrAdd(valuetype System.ReadOnlySpan`1<char> span) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Char})" />
<MemberSignature Language="VB.NET" Value="Public Function GetOrAdd (span As ReadOnlySpan(Of Char)) As String" />
<MemberSignature Language="F#" Value="member this.GetOrAdd : ReadOnlySpan<char> -> string" Usage="stringPool.GetOrAdd span" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="span" Type="System.ReadOnlySpan<System.Char>" />
</Parameters>
<Docs>
<param name="span">The input <see cref="T:System.ReadOnlySpan`1" /> with the contents to use.</param>
<summary>
Gets a cached <see cref="T:System.String" /> instance matching the input content, or creates a new one.
</summary>
<returns>A <see cref="T:System.String" /> instance with the contents of <paramref name="span" />, cached if possible.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetOrAdd">
<MemberSignature Language="C#" Value="public string GetOrAdd (string value);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetOrAdd(string value) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Function GetOrAdd (value As String) As String" />
<MemberSignature Language="F#" Value="member this.GetOrAdd : string -> string" Usage="stringPool.GetOrAdd value" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="value" Type="System.String" />
</Parameters>
<Docs>
<param name="value">The input <see cref="T:System.String" /> instance with the contents to use.</param>
<summary>
Gets a cached <see cref="T:System.String" /> instance matching the input content, or stores the input one.
</summary>
<returns>A <see cref="T:System.String" /> instance with the contents of <paramref name="value" />, cached if possible.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetOrAdd">
<MemberSignature Language="C#" Value="public string GetOrAdd (ReadOnlySpan<byte> span, System.Text.Encoding encoding);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance string GetOrAdd(valuetype System.ReadOnlySpan`1<unsigned int8> span, class System.Text.Encoding encoding) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Byte},System.Text.Encoding)" />
<MemberSignature Language="VB.NET" Value="Public Function GetOrAdd (span As ReadOnlySpan(Of Byte), encoding As Encoding) As String" />
<MemberSignature Language="F#" Value="member this.GetOrAdd : ReadOnlySpan<byte> * System.Text.Encoding -> string" Usage="stringPool.GetOrAdd (span, encoding)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="span" Type="System.ReadOnlySpan<System.Byte>" />
<Parameter Name="encoding" Type="System.Text.Encoding" />
</Parameters>
<Docs>
<param name="span">The input <see cref="T:System.ReadOnlySpan`1" /> with the contents to use, in a specified encoding.</param>
<param name="encoding">The <see cref="T:System.Text.Encoding" /> instance to use to decode the contents of <paramref name="span" />.</param>
<summary>
Gets a cached <see cref="T:System.String" /> instance matching the input content (converted to Unicode), or creates a new one.
</summary>
<returns>A <see cref="T:System.String" /> instance with the contents of <paramref name="span" />, cached if possible.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Reset">
<MemberSignature Language="C#" Value="public void Reset ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Reset() cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.Reset" />
<MemberSignature Language="VB.NET" Value="Public Sub Reset ()" />
<MemberSignature Language="F#" Value="member this.Reset : unit -> unit" Usage="stringPool.Reset " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>
Resets the current instance and its associated maps.
</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Shared">
<MemberSignature Language="C#" Value="public static Microsoft.Toolkit.HighPerformance.Buffers.StringPool Shared { get; }" />
<MemberSignature Language="ILAsm" Value=".property class Microsoft.Toolkit.HighPerformance.Buffers.StringPool Shared" />
<MemberSignature Language="DocId" Value="P:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.Shared" />
<MemberSignature Language="VB.NET" Value="Public Shared ReadOnly Property Shared As StringPool" />
<MemberSignature Language="F#" Value="static member Shared : Microsoft.Toolkit.HighPerformance.Buffers.StringPool" Usage="Microsoft.Toolkit.HighPerformance.Buffers.StringPool.Shared" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>Microsoft.Toolkit.HighPerformance.Buffers.StringPool</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the shared <see cref="T:Microsoft.Toolkit.HighPerformance.Buffers.StringPool" /> instance.
</summary>
<value>To be added.</value>
<remarks>
The shared pool provides a singleton, reusable <see cref="T:Microsoft.Toolkit.HighPerformance.Buffers.StringPool" /> instance that
can be accessed directly, and that pools <see cref="T:System.String" /> instances for the entire
process. Since <see cref="T:Microsoft.Toolkit.HighPerformance.Buffers.StringPool" /> is thread-safe, the shared instance can be used
concurrently by multiple threads without the need for manual synchronization.
</remarks>
</Docs>
</Member>
<Member MemberName="Size">
<MemberSignature Language="C#" Value="public int Size { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance int32 Size" />
<MemberSignature Language="DocId" Value="P:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.Size" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Size As Integer" />
<MemberSignature Language="F#" Value="member this.Size : int" Usage="Microsoft.Toolkit.HighPerformance.Buffers.StringPool.Size" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Int32</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the total number of <see cref="T:System.String" /> that can be stored in the current instance.
</summary>
<value>To be added.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="TryGet">
<MemberSignature Language="C#" Value="public bool TryGet (ReadOnlySpan<char> span, out string? value);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool TryGet(valuetype System.ReadOnlySpan`1<char> span, [out] string& value) cil managed" />
<MemberSignature Language="DocId" Value="M:Microsoft.Toolkit.HighPerformance.Buffers.StringPool.TryGet(System.ReadOnlySpan{System.Char},System.String@)" />
<MemberSignature Language="VB.NET" Value="Public Function TryGet (span As ReadOnlySpan(Of Char), ByRef value As String) As Boolean" />
<MemberSignature Language="F#" Value="member this.TryGet : ReadOnlySpan<char> * string -> bool" Usage="stringPool.TryGet (span, value)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Microsoft.Toolkit.HighPerformance</AssemblyName>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>7.1.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="span" Type="System.ReadOnlySpan<System.Char>" />
<Parameter Name="value" Type="System.String" RefType="out">
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.Diagnostics.CodeAnalysis.NotNullWhen(true)]</AttributeName>
<AttributeName Language="F#">[<System.Diagnostics.CodeAnalysis.NotNullWhen(true)>]</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="span">The input <see cref="T:System.ReadOnlySpan`1" /> with the contents to use.</param>
<param name="value">The resulting cached <see cref="T:System.String" /> instance, if present</param>
<summary>
Tries to get a cached <see cref="T:System.String" /> instance matching the input content, if present.
</summary>
<returns>Whether or not the target <see cref="T:System.String" /> instance was found.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>