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

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

Issue 10575037: Include RE2 library (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Less intrusive fix for Android Created 8 years, 5 months 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/unicode_casefold.cc ('k') | third_party/re2/re2/unicode_groups.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/re2/re2/unicode_groups.h
diff --git a/third_party/re2/re2/unicode_groups.h b/third_party/re2/re2/unicode_groups.h
new file mode 100644
index 0000000000000000000000000000000000000000..f91c51f5d89c06252ddc6576cd50e26278fe01d0
--- /dev/null
+++ b/third_party/re2/re2/unicode_groups.h
@@ -0,0 +1,64 @@
+// Copyright 2008 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.
+
+// Unicode character groups.
+
+// The codes get split into ranges of 16-bit codes
+// and ranges of 32-bit codes. It would be simpler
+// to use only 32-bit ranges, but these tables are large
+// enough to warrant extra care.
+//
+// Using just 32-bit ranges gives 27 kB of data.
+// Adding 16-bit ranges gives 18 kB of data.
+// Adding an extra table of 16-bit singletons would reduce
+// to 16.5 kB of data but make the data harder to use;
+// we don't bother.
+
+#ifndef RE2_UNICODE_GROUPS_H__
+#define RE2_UNICODE_GROUPS_H__
+
+#include "util/util.h"
+
+namespace re2 {
+
+struct URange16
+{
+ uint16 lo;
+ uint16 hi;
+};
+
+struct URange32
+{
+ uint32 lo;
+ uint32 hi;
+};
+
+struct UGroup
+{
+ const char *name;
+ int sign; // +1 for [abc], -1 for [^abc]
+ URange16 *r16;
+ int nr16;
+ URange32 *r32;
+ int nr32;
+};
+
+// Named by property or script name (e.g., "Nd", "N", "Han").
+// Negated groups are not included.
+extern UGroup unicode_groups[];
+extern int num_unicode_groups;
+
+// Named by POSIX name (e.g., "[:alpha:]", "[:^lower:]").
+// Negated groups are included.
+extern UGroup posix_groups[];
+extern int num_posix_groups;
+
+// Named by Perl name (e.g., "\\d", "\\D").
+// Negated groups are included.
+extern UGroup perl_groups[];
+extern int num_perl_groups;
+
+} // namespace re2
+
+#endif // RE2_UNICODE_GROUPS_H__
« no previous file with comments | « third_party/re2/re2/unicode_casefold.cc ('k') | third_party/re2/re2/unicode_groups.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698