You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// Validates the format of a polyline segment, ensuring all characters are valid and block structure is correct.
333
+
/// Validates a single encoded polyline segment for both character correctness and encoded-value block structure.
344
334
/// </summary>
345
335
/// <remarks>
346
336
/// <para>
347
-
/// This method performs two levels of validation on the provided polyline segment:
337
+
/// The method performs two validations in a single linear pass over <paramref name="polyline"/>:
348
338
/// </para>
349
339
/// <list type="number">
350
340
/// <item>
351
341
/// <description>
352
-
/// <b>Character Range Validation:</b> Checks that every character in the polyline is within the valid ASCII range for polyline encoding ('?' [63] to '_' [95], inclusive).
353
-
/// Uses SIMD acceleration for efficient validation of large segments.
342
+
/// <b>Character range:</b> every character must be within the allowed ASCII range for the polyline algorithm
343
+
/// (from '?' (63) up to '_' (95), inclusive). If a character outside this range is encountered, an exception is raised
344
+
/// (see <see cref="ExceptionGuard.ThrowInvalidPolylineCharacter(char,int)"/>).
354
345
/// </description>
355
346
/// </item>
356
347
/// <item>
357
348
/// <description>
358
-
/// <b>Block Structure Validation:</b> Ensures that each encoded value (block) does not exceed 7 characters and that the polyline ends with a valid block terminator.
349
+
/// <b>Block structure:</b> each encoded value is composed of one or more 5-bit chunks and must end with a terminator
350
+
/// (a character with value less than <see cref="End"/>). Blocks may not exceed the configured maximum length
/// <item><description>For character-only validation that may benefit from SIMD/vectorization, use <see cref="ValidateCharRange(ReadOnlySpan{char})"/>.</description></item>
363
+
/// <item><description>The method reports specific errors through the <see cref="ExceptionGuard"/> helpers:
0 commit comments