Class WhereOperator
A representation of a where query expression operator.
Inherited Members
Namespace: System.Linq.CompilerServices.Optimizers
Assembly: Nuqleon.Linq.CompilerServices.Optimizers.dll
Syntax
public class WhereOperator : QueryOperator
Constructors
WhereOperator(Type, MonadMember, QueryTree)
Creates a representation of a where query expression operator.
Declaration
protected WhereOperator(Type elementType, MonadMember source, QueryTree predicate)
Parameters
Type | Name | Description |
---|---|---|
System.Type | elementType | The element type of the resulting monad. |
MonadMember | source | The source to filter. |
QueryTree | predicate | The filter to apply. |
Properties
NodeType
Gets the OperatorType of the QueryOperator.
Declaration
public override OperatorType NodeType { get; }
Property Value
Type | Description |
---|---|
OperatorType |
Overrides
Predicate
The predicate used to filter the source monad.
Declaration
public QueryTree Predicate { get; }
Property Value
Type | Description |
---|---|
QueryTree |
Source
The source on which this operator acts.
Declaration
public MonadMember Source { get; }
Property Value
Type | Description |
---|---|
MonadMember |
Methods
Accept<TQueryTree, TMonadMember, TQueryOperator>(QueryVisitor<TQueryTree, TMonadMember, TQueryOperator>)
Accepts the query expression tree node in the specified visitor.
Declaration
protected override TQueryTree Accept<TQueryTree, TMonadMember, TQueryOperator>(QueryVisitor<TQueryTree, TMonadMember, TQueryOperator> visitor)
where TMonadMember : TQueryTree where TQueryOperator : TMonadMember
Parameters
Type | Name | Description |
---|---|---|
QueryVisitor<TQueryTree, TMonadMember, TQueryOperator> | visitor | Visitor to process the current query expression tree node. |
Returns
Type | Description |
---|---|
TQueryTree | Result of visiting the node. |
Type Parameters
Name | Description |
---|---|
TQueryTree | Target type for query expressions. |
TMonadMember | Target type for monad member query expressions. This type has to derive from TQueryTree. |
TQueryOperator | Target type for query operator query expressions. This type has to derive from TMonadMember. |
Overrides
Update(MonadMember, QueryTree)
Creates a where operator query expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression.
Declaration
public WhereOperator Update(MonadMember source, QueryTree predicate)
Parameters
Type | Name | Description |
---|---|---|
MonadMember | source | The Source child node of the result. |
QueryTree | predicate | The Predicate child node of the result. |
Returns
Type | Description |
---|---|
WhereOperator | This query expression if no children are changed or an expression with the updated children. |