internal ParameterlessBinaryExpression( Func <Native.Expression, Native.Expression, Native.BinaryExpression> nativeExpression, IParameterlessResultExpression <T> left, IParameterlessResultExpression <T> right) : base(nativeExpression(left.GetNativeExpression(), right.GetNativeExpression())) { }
public ParameterlessConditionExpression(IParameterlessResultExpression <bool> condition, IParameterlessResultExpression <TResult> ifExpression, IParameterlessResultExpression <TResult> elseExpression) : base(Native.Expression.Condition(condition.GetNativeExpression(), ifExpression.GetNativeExpression(), elseExpression.GetNativeExpression())) { }
public ConstantConditionExpression(IParameterlessResultExpression <bool> condition, IParameterlessResultExpression <TResult> ifExpression, IResultExpression <TParameter, TResult> elseExpression) : base(Native.Expression.Condition(condition.GetNativeExpression(), ifExpression.GetNativeExpression(), elseExpression.GetNativeExpression())) { _container = new SingleParameterCompilableContainer <TParameter, TResult>(elseExpression.GetParameter()); }
public ConditionExpression(IResultExpression <TConditionParameter, bool> condition, IParameterlessResultExpression <TResult> ifExpression, IParameterlessResultExpression <TResult> elseExpression) : base(Native.Expression.Condition(condition.GetNativeExpression(), ifExpression.GetNativeExpression(), elseExpression.GetNativeExpression())) { _parameter = condition.GetParameter(); }
internal BinaryExpression( Func <Native.Expression, Native.Expression, Native.BinaryExpression> nativeExpression, IParameterlessResultExpression <TCurrent> left, IResultExpression <TPrevious, TCurrent> right) : base(nativeExpression(left.GetNativeExpression(), right.GetNativeExpression())) { _container = new SingleParameterCompilableContainer <TPrevious, TResult>(right.GetParameter()); }
public ParameterlessMultiplyExpression(IParameterlessResultExpression <TResult> constant1, IParameterlessResultExpression <TResult> constant2) : base(Native.BinaryExpression.Multiply, constant1, constant2) { }
public static ParameterlessMultiplyExpression <T> Multiply <T>( IParameterlessResultExpression <T> left, IParameterlessResultExpression <T> right) where T : struct => new ParameterlessMultiplyExpression <T>(
public MultiplyExpression(IParameterlessResultExpression <TResult> constant, IResultExpression <T, TResult> inner) : base(Native.BinaryExpression.Multiply, constant, inner) { }
public static ParameterlessOrExpression <T> Or <T>( IParameterlessResultExpression <T> left, IParameterlessResultExpression <T> right) where T : struct => new ParameterlessOrExpression <T>(
public static ParameterlessConditionExpression <TResult> Condition <TResult>( IParameterlessResultExpression <bool> condition, IParameterlessResultExpression <TResult> ifExpression, IParameterlessResultExpression <TResult> elseExpression) => new ParameterlessConditionExpression <TResult>(
internal ParameterlessUnaryExpression( Func <Native.Expression, Native.UnaryExpression> nativeExpression, IParameterlessResultExpression <T> constant) : base(nativeExpression(constant.GetNativeExpression())) { }
public OrExpression(IParameterlessResultExpression <TResult> constant, IResultExpression <T, TResult> parameter) : base(Native.BinaryExpression.Or, constant, parameter) { }
public ParameterlessNotExpression(IParameterlessResultExpression <T> innerExpression) : base(Native.Expression.Not, innerExpression) { }
public static ParameterlessNotExpression <int> Not(IParameterlessResultExpression <int> constant) => new ParameterlessNotExpression <int>(constant ?? throw new ArgumentNullException(nameof(constant)));
public EqualExpression(IParameterlessResultExpression <TResult> constant, IResultExpression <T, TResult> inner) : base(Native.BinaryExpression.Equal, constant, inner) { }
public ParameterlessEqualExpression(IParameterlessResultExpression <T> constant1, IParameterlessResultExpression <T> constant2) : base(Native.BinaryExpression.Equal, constant1, constant2) { }
public ParameterlessAndExpression(IParameterlessResultExpression <TResult> constant1, IParameterlessResultExpression <TResult> constant2) : base(Native.BinaryExpression.And, constant1, constant2) { }
public GreaterThanExpression(IResultExpression <T, TResult> inner, IParameterlessResultExpression <TResult> constant) : base(Native.BinaryExpression.GreaterThan, inner, constant) { }
public ParameterlessGreaterThanExpression(IParameterlessResultExpression <T> constant1, IParameterlessResultExpression <T> constant2) : base(Native.BinaryExpression.GreaterThan, constant1, constant2) { }
public AddExpression(IResultExpression <T, TResult> inner, IParameterlessResultExpression <TResult> constant) : base(Native.BinaryExpression.Add, inner, constant) { }
public static ParameterlessGreaterThanExpression <T> GreaterThan <T>( IParameterlessResultExpression <T> left, IParameterlessResultExpression <T> right) where T : struct => new ParameterlessGreaterThanExpression <T>(