diff options
Diffstat (limited to 'src/mongo/db/matcher/expression_tree.h')
-rw-r--r-- | src/mongo/db/matcher/expression_tree.h | 10 |
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; } |