Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Unified Diff: third_party/re2/re2/prefilter.h

Issue 1544433002: Replace RE2 import with a dependency (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Re-Added LICENSE and OWNERS file Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/re2/re2/perl_groups.cc ('k') | third_party/re2/re2/prefilter.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/re2/re2/prefilter.h
diff --git a/third_party/re2/re2/prefilter.h b/third_party/re2/re2/prefilter.h
deleted file mode 100644
index 2bc167669779cbb1a2581acbc9d4b479cad6439c..0000000000000000000000000000000000000000
--- a/third_party/re2/re2/prefilter.h
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright 2009 The RE2 Authors. All Rights Reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Prefilter is the class used to extract string guards from regexps.
-// Rather than using Prefilter class directly, use FilteredRE2.
-// See filtered_re2.h
-
-#ifndef RE2_PREFILTER_H_
-#define RE2_PREFILTER_H_
-
-#include "util/util.h"
-
-namespace re2 {
-
-class RE2;
-
-class Regexp;
-
-class Prefilter {
- // Instead of using Prefilter directly, use FilteredRE2; see filtered_re2.h
- public:
- enum Op {
- ALL = 0, // Everything matches
- NONE, // Nothing matches
- ATOM, // The string atom() must match
- AND, // All in subs() must match
- OR, // One of subs() must match
- };
-
- explicit Prefilter(Op op);
- ~Prefilter();
-
- Op op() { return op_; }
- const string& atom() const { return atom_; }
- void set_unique_id(int id) { unique_id_ = id; }
- int unique_id() const { return unique_id_; }
-
- // The children of the Prefilter node.
- vector<Prefilter*>* subs() {
- CHECK(op_ == AND || op_ == OR);
- return subs_;
- }
-
- // Set the children vector. Prefilter takes ownership of subs and
- // subs_ will be deleted when Prefilter is deleted.
- void set_subs(vector<Prefilter*>* subs) { subs_ = subs; }
-
- // Given a RE2, return a Prefilter. The caller takes ownership of
- // the Prefilter and should deallocate it. Returns NULL if Prefilter
- // cannot be formed.
- static Prefilter* FromRE2(const RE2* re2);
-
- // Returns a readable debug string of the prefilter.
- string DebugString() const;
-
- private:
- class Info;
-
- // Combines two prefilters together to create an AND. The passed
- // Prefilters will be part of the returned Prefilter or deleted.
- static Prefilter* And(Prefilter* a, Prefilter* b);
-
- // Combines two prefilters together to create an OR. The passed
- // Prefilters will be part of the returned Prefilter or deleted.
- static Prefilter* Or(Prefilter* a, Prefilter* b);
-
- // Generalized And/Or
- static Prefilter* AndOr(Op op, Prefilter* a, Prefilter* b);
-
- static Prefilter* FromRegexp(Regexp* a);
-
- static Prefilter* FromString(const string& str);
-
- static Prefilter* OrStrings(set<string>* ss);
-
- static Info* BuildInfo(Regexp* re);
-
- Prefilter* Simplify();
-
- // Kind of Prefilter.
- Op op_;
-
- // Sub-matches for AND or OR Prefilter.
- vector<Prefilter*>* subs_;
-
- // Actual string to match in leaf node.
- string atom_;
-
- // If different prefilters have the same string atom, or if they are
- // structurally the same (e.g., OR of same atom strings) they are
- // considered the same unique nodes. This is the id for each unique
- // node. This field is populated with a unique id for every node,
- // and -1 for duplicate nodes.
- int unique_id_;
-
- // Used for debugging, helps in tracking memory leaks.
- int alloc_id_;
-
- DISALLOW_COPY_AND_ASSIGN(Prefilter);
-};
-
-} // namespace re2
-
-#endif // RE2_PREFILTER_H_
« no previous file with comments | « third_party/re2/re2/perl_groups.cc ('k') | third_party/re2/re2/prefilter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698