CSharpUtils.Ext.Compression.Lz.RleMatcher.Skip C# (CSharp) Метод

Skip() публичный Метод

public Skip ( int Skip = 1 ) : void
Skip int
Результат void
		unsafe public void Skip(int Skip = 1)
		{
			_Offset += Skip;

			if (_Offset >= Data.Length)
			{
				Length = 0;
				return;
			}

			if (Skip >= Length)
			{
				Byte = Data[_Offset];
				Length = 0;

				fixed (byte* Start = &Data[_Offset])
				fixed (byte* End = &Data[Data.Length - 1])
				{
					int MaxLen = (int)(End - Start);
					Length = PointerUtils.FindLargestMatchByte(Start, Start[0], MaxLen);
				}
			}
			else
			{
				Length -= Skip;
			}
		}
	}

Usage Example

Пример #1
0
		public void TestMatchEmpty()
		{
			var RleMatcher = new RleMatcher(new byte[] { });
			Assert.AreEqual(0, RleMatcher.Length);
			RleMatcher.Skip();
			Assert.AreEqual(0, RleMatcher.Length);
		}
All Usage Examples Of CSharpUtils.Ext.Compression.Lz.RleMatcher::Skip