/// <summary> /// Initialises a new instance of the <see cref="VirtualStringMatcher"/> class on a <see cref="IVirtualString"/>. /// </summary> /// <param name="text">The Virtual String to parse.</param> /// <param name="startIndex">Index where the match must start in the <paramref name="text"/>.</param> /// <param name="length"> /// Number of character to consider in the string. /// If <paramref name="startIndex"/> + length is geater than the length of the string, an <see cref="ArgumentException"/> is thrown. /// </param> public VirtualStringMatcher(IVirtualString text, long startIndex, long length) { if (text == null) { throw new ArgumentNullException(nameof(text)); } if (_startIndex < 0 || _startIndex > text.Length) { throw new ArgumentException(nameof(text)); } _text = text; _length = length; _startIndex = startIndex; }
/// <summary> /// Initialises a new instance of the <see cref="VirtualStringMatcher"/> class on a non null string. /// </summary> /// <param name="text"></param> /// <param name="startIndex"></param> public VirtualStringMatcher(IVirtualString text, long startIndex = 0) : this(text, startIndex, text.Length) { }