/// <summary> /// Adds a <see cref="SeekAlgorithm"/> to be used if <see cref="RewindAndSeek()"/> is called. /// </summary> /// <param name="algorithm"></param> public void AddSeekAlgorithm(SeekAlgorithm algorithm) { _SeekAlgorithm = _SeekAlgorithm.Chain(algorithm); }
/// <summary> /// Chains 2 <see cref="SeekAlgorithm"/>s together /// </summary> /// <param name="first">The first algorithm</param> /// <param name="other">The algorithm to chain to the first</param> public static SeekAlgorithm Chain(this SeekAlgorithm first, SeekAlgorithm other) { return((input, endian, callback) => other(first(input, endian, callback), endian, callback)); }