diff options
Diffstat (limited to 'src/mongo/db/matcher/matchable.h')
-rw-r--r-- | src/mongo/db/matcher/matchable.h | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/mongo/db/matcher/matchable.h b/src/mongo/db/matcher/matchable.h index 4b93331899e..c980bc2749e 100644 --- a/src/mongo/db/matcher/matchable.h +++ b/src/mongo/db/matcher/matchable.h @@ -20,6 +20,7 @@ #include "mongo/bson/bsonobj.h" #include "mongo/db/field_ref.h" +#include "mongo/db/matcher/path.h" namespace mongo { @@ -29,13 +30,7 @@ namespace mongo { virtual BSONObj toBSON() const = 0; - virtual BSONElement getFieldDottedOrArray( const FieldRef& path, - size_t* idxPath, - bool* inArray ) const = 0; - - virtual void getFieldsDotted( const StringData& name, - BSONElementSet &ret, - bool expandLastArray = true ) const = 0; + virtual ElementIterator* getIterator( const ElementPath& path ) const = 0; }; @@ -46,13 +41,9 @@ namespace mongo { virtual BSONObj toBSON() const { return _obj; } - virtual BSONElement getFieldDottedOrArray( const FieldRef& path, - size_t* idxPath, - bool* inArray ) const; - - virtual void getFieldsDotted( const StringData& name, - BSONElementSet &ret, - bool expandLastArray = true ) const; + virtual ElementIterator* getIterator( const ElementPath& path ) const { + return new BSONElementIterator( path, _obj ); + } private: BSONObj _obj; |