9.8 #ˆÇÆ 137ÅÄÉ#a ´i/ã@sdS)N©rrrú./usr/lib64/python3.9/lib2to3/fixes/__init__.pyÚó$%ˆ¾Æ „qÆ›Åa–ß=¿JJj"Tâ�À3p©‹FÿÄ?÷%// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* *************************************************************************** * Copyright (C) 1999-2016, International Business Machines Corporation * and others. All Rights Reserved. *************************************************************************** * Date Name Description * 10/20/99 alan Creation. *************************************************************************** */ #ifndef UNICODESET_H #define UNICODESET_H #include "unicode/utypes.h" #if U_SHOW_CPLUSPLUS_API #include "unicode/ucpmap.h" #include "unicode/unifilt.h" #include "unicode/unistr.h" #include "unicode/uset.h" /** * \file * \brief C++ API: Unicode Set */ U_NAMESPACE_BEGIN // Forward Declarations. class BMPSet; class ParsePosition; class RBBIRuleScanner; class SymbolTable; class UnicodeSetStringSpan; class UVector; class RuleCharacterIterator; /** * A mutable set of Unicode characters and multicharacter strings. Objects of this class * represent character classes used in regular expressions. * A character specifies a subset of Unicode code points. Legal * code points are U+0000 to U+10FFFF, inclusive. * *

The UnicodeSet class is not designed to be subclassed. * *

UnicodeSet supports two APIs. The first is the * operand API that allows the caller to modify the value of * a UnicodeSet object. It conforms to Java 2's * java.util.Set interface, although * UnicodeSet does not actually implement that * interface. All methods of Set are supported, with the * modification that they take a character range or single character * instead of an Object, and they take a * UnicodeSet instead of a Collection. The * operand API may be thought of in terms of boolean logic: a boolean * OR is implemented by add, a boolean AND is implemented * by retain, a boolean XOR is implemented by * complement taking an argument, and a boolean NOT is * implemented by complement with no argument. In terms * of traditional set theory function names, add is a * union, retain is an intersection, remove * is an asymmetric difference, and complement with no * argument is a set complement with respect to the superset range * MIN_VALUE-MAX_VALUE * *

The second API is the * applyPattern()/toPattern() API from the * java.text.Format-derived classes. Unlike the * methods that add characters, add categories, and control the logic * of the set, the method applyPattern() sets all * attributes of a UnicodeSet at once, based on a * string pattern. * *

Pattern syntax

* * Patterns are accepted by the constructors and the * applyPattern() methods and returned by the * toPattern() method. These patterns follow a syntax * similar to that employed by version 8 regular expression character * classes. Here are some simple examples: * * \htmlonly
\endhtmlonly * * * * * * * * * * * * * *
[]No characters
[a]The character 'a'
[ae]The characters 'a' and 'e'
[a-e]The