public PostMatchCursorMovingStringSearcherDecoration(IByPositionStringSearcher decorated, Func <List <StringSearchMatch>, int, string, int> postMatchCursorMoveLogic) : base(decorated) { Condition.Requires(postMatchCursorMoveLogic).IsNotNull(); this.PostMatchCursorMoveLogic = postMatchCursorMoveLogic; }
public PostMatchCursorMovingStringSearcherDecoration(IByPositionStringSearcher decorated, Func<List<StringSearchMatch>, int, string, int> postMatchCursorMoveLogic) : base(decorated) { Condition.Requires(postMatchCursorMoveLogic).IsNotNull(); this.PostMatchCursorMoveLogic = postMatchCursorMoveLogic; }
/// <summary> /// applies non-overlapping search alg to IByPositionStringSearcher /// </summary> public static NonOverlappingStringSearcherDecoration NonOverlapping(this IByPositionStringSearcher decorated) { Condition.Requires(decorated).IsNotNull(); return(new NonOverlappingStringSearcherDecoration(decorated)); }
public NonOverlappingStringSearcherDecoration(IByPositionStringSearcher decorated) : base(decorated) { }
public ParallelingStringSearcherDecoration(IByPositionStringSearcher decorated) : base(decorated) { }
/// <summary> /// decorates a IByPositionStringSearcher with some bitchin parallelization perf improvements, y'all /// </summary> /// <param name="decorated"></param> /// <returns></returns> public static ParallelingStringSearcherDecoration Paralleling(this IByPositionStringSearcher decorated) { Condition.Requires(decorated).IsNotNull(); return(new ParallelingStringSearcherDecoration(decorated)); }
/// <summary> /// applies non-overlapping search alg to IByPositionStringSearcher /// </summary> public static PostMatchCursorMovingStringSearcherDecoration PostMatchCursorMoving(this IByPositionStringSearcher decorated, Func <List <StringSearchMatch>, int, string, int> postMatchCursorMoveLogic) { Condition.Requires(decorated).IsNotNull(); return(new PostMatchCursorMovingStringSearcherDecoration(decorated, postMatchCursorMoveLogic)); }