summaryrefslogtreecommitdiff
path: root/src/mongo/db/pipeline/expression.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/pipeline/expression.h')
-rw-r--r--src/mongo/db/pipeline/expression.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/expression.h b/src/mongo/db/pipeline/expression.h
index 0618833d080..73547530735 100644
--- a/src/mongo/db/pipeline/expression.h
+++ b/src/mongo/db/pipeline/expression.h
@@ -796,6 +796,9 @@ public:
explicit ExpressionAnd(ExpressionContext* const expCtx)
: ExpressionVariadic<ExpressionAnd>(expCtx) {}
+ ExpressionAnd(ExpressionContext* const expCtx, ExpressionVector&& children)
+ : ExpressionVariadic<ExpressionAnd>(expCtx, std::move(children)) {}
+
boost::intrusive_ptr<Expression> optimize() final;
Value evaluate(const Document& root, Variables* variables) const final;
const char* getOpName() const final;
@@ -1828,6 +1831,9 @@ public:
explicit ExpressionNot(ExpressionContext* const expCtx)
: ExpressionFixedArity<ExpressionNot, 1>(expCtx) {}
+ ExpressionNot(ExpressionContext* const expCtx, ExpressionVector&& children)
+ : ExpressionFixedArity<ExpressionNot, 1>(expCtx, std::move(children)) {}
+
Value evaluate(const Document& root, Variables* variables) const final;
const char* getOpName() const final;
@@ -1897,6 +1903,9 @@ public:
explicit ExpressionOr(ExpressionContext* const expCtx)
: ExpressionVariadic<ExpressionOr>(expCtx) {}
+ ExpressionOr(ExpressionContext* const expCtx, ExpressionVector&& children)
+ : ExpressionVariadic<ExpressionOr>(expCtx, std::move(children)) {}
+
boost::intrusive_ptr<Expression> optimize() final;
Value evaluate(const Document& root, Variables* variables) const final;
const char* getOpName() const final;