| Index: third_party/re2/util/utf.h
|
| diff --git a/third_party/re2/util/utf.h b/third_party/re2/util/utf.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..06ff8f03eb4d281c40ad583051fa70cdf21f88b5
|
| --- /dev/null
|
| +++ b/third_party/re2/util/utf.h
|
| @@ -0,0 +1,43 @@
|
| +/*
|
| + * The authors of this software are Rob Pike and Ken Thompson.
|
| + * Copyright (c) 2002 by Lucent Technologies.
|
| + * Permission to use, copy, modify, and distribute this software for any
|
| + * purpose without fee is hereby granted, provided that this entire notice
|
| + * is included in all copies of any software which is or includes a copy
|
| + * or modification of this software and in all copies of the supporting
|
| + * documentation for such software.
|
| + * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
|
| + * WARRANTY. IN PARTICULAR, NEITHER THE AUTHORS NOR LUCENT TECHNOLOGIES MAKE ANY
|
| + * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
|
| + * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
|
| + *
|
| + * This file and rune.cc have been converted to compile as C++ code
|
| + * in name space re2.
|
| + */
|
| +#ifndef RE2_UTIL_UTF_H__
|
| +#define RE2_UTIL_UTF_H__
|
| +
|
| +#include <stdint.h>
|
| +
|
| +namespace re2 {
|
| +
|
| +typedef signed int Rune; /* Code-point values in Unicode 4.0 are 21 bits wide.*/
|
| +
|
| +enum
|
| +{
|
| + UTFmax = 4, /* maximum bytes per rune */
|
| + Runesync = 0x80, /* cannot represent part of a UTF sequence (<) */
|
| + Runeself = 0x80, /* rune and UTF sequences are the same (<) */
|
| + Runeerror = 0xFFFD, /* decoding error in UTF */
|
| + Runemax = 0x10FFFF, /* maximum rune value */
|
| +};
|
| +
|
| +int runetochar(char* s, const Rune* r);
|
| +int chartorune(Rune* r, const char* s);
|
| +int fullrune(const char* s, int n);
|
| +int utflen(const char* s);
|
| +char* utfrune(const char*, Rune);
|
| +
|
| +} // namespace re2
|
| +
|
| +#endif // RE2_UTIL_UTF_H__
|
|
|