public FastCollectionLazyIterator( IFastCollection sourceCollection, SimpleOperationTarget operationTarget, Func <IEnumerable <FastCollectionItem <T> > > itemsBuilder) { _itemsBuilder = itemsBuilder; OperationTarget = operationTarget ?? throw new ArgumentNullException(nameof(operationTarget)); SourceCollection = sourceCollection ?? throw new ArgumentNullException(nameof(sourceCollection)); }
internal FastCollectionIterator( [NotNull] IFastCollection sourceCollection, [NotNull] SimpleOperationTarget operationTarget, [NotNull] IEnumerable <FastCollectionItem <T> > itemsEnumerable) { SourceCollection = sourceCollection; OperationTarget = operationTarget; ItemsEnumerable = itemsEnumerable; }
public ComparisonFilter([NotNull] SimpleOperationTarget operationTarget, ComparisonFilterType comparisonFilterType, [NotNull] object value) { OperationTarget = operationTarget ?? throw new ArgumentNullException(nameof(operationTarget)); ComparisonFilterType = comparisonFilterType; Value = value ?? throw new ArgumentNullException(nameof(value)); }
/// <summary> /// Transforms "where" predicate to inner presentation (which is used for execution). /// </summary> /// <param name="expression"></param> /// <param name="sourceOperationTarget">Lambda parameter of expression will be replaced with <see cref="OperationTargetExpression"/> containing this target</param> /// <typeparam name="TSource"></typeparam> /// <returns></returns> internal IFilter ParsePredicate <TSource>([NotNull] Expression <Func <TSource, bool> > expression, SimpleOperationTarget sourceOperationTarget) { var t = LambdaParametersReplacer.ReplaceLambdaParameters(expression, sourceOperationTarget.Expression); return(_filtersParser.ParseFilters(t)); }
internal void AddIndex(SimpleOperationTarget operationTarget, IIndex index) { _indicesCoverage.Add(operationTarget, index); }