Class TakeOperator
A representation of a take query expression operator.
Inherited Members
Namespace: System.Linq.CompilerServices.Optimizers
Assembly: Nuqleon.Linq.CompilerServices.Optimizers.dll
Syntax
public class TakeOperator : QueryOperator
Constructors
TakeOperator(Type, MonadMember, QueryTree)
Creates a representation of a take query expression operator.
Declaration
protected TakeOperator(Type elementType, MonadMember source, QueryTree count)
Parameters
Type | Name | Description |
---|---|---|
System.Type | elementType | The element type of the resulting monad. |
MonadMember | source | The source to take from. |
QueryTree | count | The number of elements to take. |
Properties
Count
The number of items to take from the source monad.
Declaration
public QueryTree Count { get; }
Property Value
Type | Description |
---|---|
QueryTree |
NodeType
Gets the OperatorType of the QueryOperator.
Declaration
public override OperatorType NodeType { get; }
Property Value
Type | Description |
---|---|
OperatorType |
Overrides
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 take 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 TakeOperator Update(MonadMember source, QueryTree count)
Parameters
Type | Name | Description |
---|---|---|
MonadMember | source | The Source child node of the result. |
QueryTree | count | The Count child node of the result. |
Returns
Type | Description |
---|---|
TakeOperator | This query expression if no children are changed or an expression with the updated children. |