summaryrefslogtreecommitdiff
path: root/src/mongo/db/matcher/expression_tree.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/matcher/expression_tree.h')
-rw-r--r--src/mongo/db/matcher/expression_tree.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/matcher/expression_tree.h b/src/mongo/db/matcher/expression_tree.h
index 9105b0d2b79..b0caebd1e71 100644
--- a/src/mongo/db/matcher/expression_tree.h
+++ b/src/mongo/db/matcher/expression_tree.h
@@ -67,6 +67,8 @@ namespace mongo {
protected:
void _debugList( StringBuilder& debug, int level ) const;
+ void _listToBSON(BSONArrayBuilder* out) const;
+
private:
std::vector< MatchExpression* > _expressions;
};
@@ -91,6 +93,8 @@ namespace mongo {
}
virtual void debugString( StringBuilder& debug, int level = 0 ) const;
+
+ virtual void toBSON(BSONObjBuilder* out) const;
};
class OrMatchExpression : public ListOfMatchExpression {
@@ -113,6 +117,8 @@ namespace mongo {
}
virtual void debugString( StringBuilder& debug, int level = 0 ) const;
+
+ virtual void toBSON(BSONObjBuilder* out) const;
};
class NorMatchExpression : public ListOfMatchExpression {
@@ -135,6 +141,8 @@ namespace mongo {
}
virtual void debugString( StringBuilder& debug, int level = 0 ) const;
+
+ virtual void toBSON(BSONObjBuilder* out) const;
};
class NotMatchExpression : public MatchExpression {
@@ -169,6 +177,8 @@ namespace mongo {
virtual void debugString( StringBuilder& debug, int level = 0 ) const;
+ virtual void toBSON(BSONObjBuilder* out) const;
+
bool equivalent( const MatchExpression* other ) const;
virtual size_t numChildren() const { return 1; }