| 213 | REGISTER_VALUE_OPERATOR(ExtValueOperatorRegEx, "$regex"); |
| 214 | |
| 215 | struct ExtBoolOperatorAnd { |
| 216 | static const char* name; |
| 217 | static Reference<IPredicate> toPredicate(bson::BSONObj const& obj) { |
| 218 | std::vector<Reference<IPredicate>> terms; |
| 219 | for (auto it = obj.begin(); it.more();) { |
| 220 | auto el = it.next(); |
| 221 | terms.push_back(queryToPredicate(el.Obj())); |
| 222 | } |
| 223 | return ref(new AndPredicate(terms)); |
| 224 | } |
| 225 | }; |
| 226 | REGISTER_BOOL_OPERATOR(ExtBoolOperatorAnd, "$and"); |
| 227 | |
| 228 | struct ExtBoolOperatorOr { |
nothing calls this directly
no outgoing calls
no test coverage detected