@@ -3,7 +3,7 @@ title: Class AbstractPolylineDecoder<TPolyline, TCoordinate>
33body :
44- api1 : Class AbstractPolylineDecoder<TPolyline, TCoordinate>
55 id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2
6- src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L22
6+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L24
77 metadata :
88 uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2
99 commentId : T:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2
@@ -54,23 +54,23 @@ body:
5454- h2 : Constructors
5555- api3 : AbstractPolylineDecoder()
5656 id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2__ctor
57- src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L27
57+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L31
5858 metadata :
5959 uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.#ctor
6060 commentId : M:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.#ctor
6161- markdown : Initializes a new instance of the <xref href="PolylineAlgorithm.Abstraction.AbstractPolylineDecoder%602" data-throw-if-not-resolved="false"></xref> class with default encoding options.
6262- code : protected AbstractPolylineDecoder()
6363- api3 : AbstractPolylineDecoder(PolylineEncodingOptions)
6464 id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2__ctor_PolylineAlgorithm_PolylineEncodingOptions_
65- src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L39
65+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L43
6666 metadata :
6767 uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.#ctor(PolylineAlgorithm.PolylineEncodingOptions)
6868 commentId : M:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.#ctor(PolylineAlgorithm.PolylineEncodingOptions)
6969- markdown : Initializes a new instance of the <xref href="PolylineAlgorithm.Abstraction.AbstractPolylineDecoder%602" data-throw-if-not-resolved="false"></xref> class with the specified encoding options.
70- - code : protected AbstractPolylineDecoder(PolylineEncodingOptions options )
70+ - code : protected AbstractPolylineDecoder(PolylineEncodingOptions encodingOptions )
7171- h4 : Parameters
7272- parameters :
73- - name : options
73+ - name : encodingOptions
7474 type :
7575 - text : PolylineEncodingOptions
7676 url : PolylineAlgorithm.PolylineEncodingOptions.html
@@ -80,11 +80,11 @@ body:
8080 - type :
8181 - text : ArgumentNullException
8282 url : https://learn.microsoft.com/dotnet/api/system.argumentnullexception
83- description : Thrown when <code class="paramref">options </code> is <a href="https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null">null</a>
83+ description : Thrown when <code class="paramref">encodingOptions </code> is <a href="https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null">null</a>
8484- h2 : Properties
8585- api3 : Options
8686 id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2_Options
87- src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L49
87+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L52
8888 metadata :
8989 uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.Options
9090 commentId : P:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.Options
@@ -98,32 +98,28 @@ body:
9898- h2 : Methods
9999- api3 : CreateCoordinate(double, double)
100100 id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2_CreateCoordinate_System_Double_System_Double_
101- src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L151
101+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L183
102102 metadata :
103103 uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.CreateCoordinate(System.Double,System.Double)
104104 commentId : M:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.CreateCoordinate(System.Double,System.Double)
105- - markdown : Creates a coordinate instance from the given latitude and longitude values.
106105- code : protected abstract TCoordinate CreateCoordinate(double latitude, double longitude)
107106- h4 : Parameters
108107- parameters :
109108 - name : latitude
110109 type :
111110 - text : double
112111 url : https://learn.microsoft.com/dotnet/api/system.double
113- description : The latitude value.
114112 - name : longitude
115113 type :
116114 - text : double
117115 url : https://learn.microsoft.com/dotnet/api/system.double
118- description : The longitude value.
119116- h4 : Returns
120117- parameters :
121118 - type :
122119 - TCoordinate
123- description : A coordinate instance of type <code class="typeparamref">TCoordinate</code>.
124120- api3 : Decode(TPolyline)
125121 id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2_Decode__0_
126- src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L69
122+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L72
127123 metadata :
128124 uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.Decode(`0)
129125 commentId : M:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.Decode(`0)
@@ -156,22 +152,62 @@ body:
156152 description : Thrown when <code class="paramref">polyline</code> is empty.
157153 - type :
158154 - text : InvalidPolylineException
159- url : PolylineAlgorithm.InvalidPolylineException.html
155+ url : PolylineAlgorithm.Diagnostics. InvalidPolylineException.html
160156 description : Thrown when the polyline format is invalid or malformed at a specific position.
161- - api3 : GetReadOnlyMemory(ref TPolyline)
157+ - api3 : Decode(TPolyline, CancellationToken)
158+ id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2_Decode__0_System_Threading_CancellationToken_
159+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L84
160+ metadata :
161+ uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.Decode(`0,System.Threading.CancellationToken)
162+ commentId : M:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.Decode(`0,System.Threading.CancellationToken)
163+ - markdown : Decodes an encoded polyline with cancellation support.
164+ - code : public IEnumerable<TCoordinate> Decode(TPolyline polyline, CancellationToken cancellationToken)
165+ - h4 : Parameters
166+ - parameters :
167+ - name : polyline
168+ type :
169+ - TPolyline
170+ description : The encoded polyline.
171+ - name : cancellationToken
172+ type :
173+ - text : CancellationToken
174+ url : https://learn.microsoft.com/dotnet/api/system.threading.cancellationtoken
175+ description : Cancellation token.
176+ - h4 : Returns
177+ - parameters :
178+ - type :
179+ - text : IEnumerable
180+ url : https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1
181+ - <
182+ - TCoordinate
183+ - ' >'
184+ description : Decoded coordinates.
185+ - h4 : Exceptions
186+ - parameters :
187+ - type :
188+ - text : ArgumentNullException
189+ url : https://learn.microsoft.com/dotnet/api/system.argumentnullexception
190+ description : ' '
191+ - type :
192+ - text : ArgumentException
193+ url : https://learn.microsoft.com/dotnet/api/system.argumentexception
194+ description : ' '
195+ - type :
196+ - text : InvalidPolylineException
197+ url : PolylineAlgorithm.Diagnostics.InvalidPolylineException.html
198+ description : ' '
199+ - api3 : GetReadOnlyMemory(in TPolyline)
162200 id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2_GetReadOnlyMemory__0__
163- src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L136
201+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L180
164202 metadata :
165203 uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.GetReadOnlyMemory(`0@)
166204 commentId : M:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.GetReadOnlyMemory(`0@)
167- - markdown : Converts the provided polyline instance into a <xref href="System.ReadOnlyMemory%601" data-throw-if-not-resolved="false"></xref> for decoding.
168- - code : protected abstract ReadOnlyMemory<char> GetReadOnlyMemory(ref TPolyline polyline)
205+ - code : protected abstract ReadOnlyMemory<char> GetReadOnlyMemory(in TPolyline polyline)
169206- h4 : Parameters
170207- parameters :
171208 - name : polyline
172209 type :
173210 - TPolyline
174- description : The <code class="typeparamref">TPolyline</code> instance containing the encoded polyline data to decode.
175211- h4 : Returns
176212- parameters :
177213 - type :
@@ -181,7 +217,50 @@ body:
181217 - text : char
182218 url : https://learn.microsoft.com/dotnet/api/system.char
183219 - ' >'
184- description : A <xref href="System.ReadOnlyMemory%601" data-throw-if-not-resolved="false"></xref> representing the encoded polyline data.
220+ - api3 : OnInvalidPolyline(int, ReadOnlyMemory<char>)
221+ id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2_OnInvalidPolyline_System_Int32_System_ReadOnlyMemory_System_Char__
222+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L175
223+ metadata :
224+ uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.OnInvalidPolyline(System.Int32,System.ReadOnlyMemory{System.Char})
225+ commentId : M:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.OnInvalidPolyline(System.Int32,System.ReadOnlyMemory{System.Char})
226+ - markdown : Hook for subclasses to handle invalid polyline cases.
227+ - code : protected virtual void OnInvalidPolyline(int position, ReadOnlyMemory<char> polylineSequence)
228+ - h4 : Parameters
229+ - parameters :
230+ - name : position
231+ type :
232+ - text : int
233+ url : https://learn.microsoft.com/dotnet/api/system.int32
234+ - name : polylineSequence
235+ type :
236+ - text : ReadOnlyMemory
237+ url : https://learn.microsoft.com/dotnet/api/system.readonlymemory-1
238+ - <
239+ - text : char
240+ url : https://learn.microsoft.com/dotnet/api/system.char
241+ - ' >'
242+ - api3 : ValidateFormat(ReadOnlyMemory<char>, ILogger)
243+ id : PolylineAlgorithm_Abstraction_AbstractPolylineDecoder_2_ValidateFormat_System_ReadOnlyMemory_System_Char__Microsoft_Extensions_Logging_ILogger_
244+ src : https://github.com/petesramek/polyline-algorithm-csharp/blob/develop/1.0/src/PolylineAlgorithm/Abstraction/AbstractPolylineDecoder.cs#L158
245+ metadata :
246+ uid : PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.ValidateFormat(System.ReadOnlyMemory{System.Char},Microsoft.Extensions.Logging.ILogger)
247+ commentId : M:PolylineAlgorithm.Abstraction.AbstractPolylineDecoder`2.ValidateFormat(System.ReadOnlyMemory{System.Char},Microsoft.Extensions.Logging.ILogger)
248+ - markdown : Validates the polyline format for allowed characters.
249+ - code : protected virtual void ValidateFormat(ReadOnlyMemory<char> polylineSequence, ILogger logger)
250+ - h4 : Parameters
251+ - parameters :
252+ - name : polylineSequence
253+ type :
254+ - text : ReadOnlyMemory
255+ url : https://learn.microsoft.com/dotnet/api/system.readonlymemory-1
256+ - <
257+ - text : char
258+ url : https://learn.microsoft.com/dotnet/api/system.char
259+ - ' >'
260+ - name : logger
261+ type :
262+ - text : ILogger
263+ url : https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging.ilogger
185264languageId : csharp
186265metadata :
187266 description : >-
0 commit comments