GOLDEN HOUR
DIR: /usr/include/unicode
UP
UPLOAD
Name
Size
Action
alphaindex.h
26.48 KB
DEL
appendable.h
8.49 KB
DEL
basictz.h
9.27 KB
DEL
brkiter.h
27.8 KB
DEL
bytestream.h
10.78 KB
DEL
bytestrie.h
20.77 KB
DEL
bytestriebuilder.h
7.08 KB
DEL
calendar.h
105.74 KB
DEL
caniter.h
7.43 KB
DEL
casemap.h
25.33 KB
DEL
char16ptr.h
7.22 KB
DEL
chariter.h
24.05 KB
DEL
choicfmt.h
23.91 KB
DEL
coleitr.h
13.76 KB
DEL
coll.h
56.23 KB
DEL
compactdecimalformat.h
6.88 KB
DEL
curramt.h
3.76 KB
DEL
currpinf.h
7.3 KB
DEL
currunit.h
4 KB
DEL
datefmt.h
40.67 KB
DEL
dbbi.h
1.19 KB
DEL
dcfmtsym.h
20.41 KB
DEL
decimfmt.h
87.19 KB
DEL
docmain.h
6.97 KB
DEL
dtfmtsym.h
37.7 KB
DEL
dtintrv.h
3.84 KB
DEL
dtitvfmt.h
46.52 KB
DEL
dtitvinf.h
18.62 KB
DEL
dtptngen.h
25.8 KB
DEL
dtrule.h
8.68 KB
DEL
edits.h
20.74 KB
DEL
enumset.h
2.08 KB
DEL
errorcode.h
4.84 KB
DEL
fieldpos.h
8.69 KB
DEL
filteredbrk.h
5.37 KB
DEL
fmtable.h
24.42 KB
DEL
format.h
12.5 KB
DEL
formattedvalue.h
9.75 KB
DEL
fpositer.h
3.04 KB
DEL
gender.h
3.33 KB
DEL
gregocal.h
31.71 KB
DEL
icudataver.h
1.03 KB
DEL
icuplug.h
11.88 KB
DEL
idna.h
12.7 KB
DEL
listformatter.h
9.27 KB
DEL
localebuilder.h
11.23 KB
DEL
localematcher.h
24.56 KB
DEL
localpointer.h
19.36 KB
DEL
locdspnm.h
7.12 KB
DEL
locid.h
47.68 KB
DEL
measfmt.h
11.33 KB
DEL
measunit.h
95.28 KB
DEL
measure.h
4.32 KB
DEL
messagepattern.h
33.71 KB
DEL
msgfmt.h
44.11 KB
DEL
normalizer2.h
34.03 KB
DEL
normlzr.h
30.94 KB
DEL
nounit.h
2.69 KB
DEL
numberformatter.h
84.25 KB
DEL
numberrangeformatter.h
27.95 KB
DEL
numfmt.h
49.76 KB
DEL
numsys.h
7.32 KB
DEL
parseerr.h
3.08 KB
DEL
parsepos.h
5.56 KB
DEL
platform.h
28.08 KB
DEL
plurfmt.h
25.2 KB
DEL
plurrule.h
18.34 KB
DEL
ptypes.h
3.49 KB
DEL
putil.h
6.33 KB
DEL
rbbi.h
26.58 KB
DEL
rbnf.h
48.73 KB
DEL
rbtz.h
15.6 KB
DEL
regex.h
84.34 KB
DEL
region.h
9.18 KB
DEL
reldatefmt.h
22.27 KB
DEL
rep.h
9.37 KB
DEL
resbund.h
18.07 KB
DEL
schriter.h
6.32 KB
DEL
scientificnumberformatter.h
6.4 KB
DEL
search.h
22.22 KB
DEL
selfmt.h
14.3 KB
DEL
simpleformatter.h
12.59 KB
DEL
simpletz.h
45.44 KB
DEL
smpdtfmt.h
71.01 KB
DEL
sortkey.h
11.18 KB
DEL
std_string.h
1.05 KB
DEL
strenum.h
9.92 KB
DEL
stringoptions.h
5.79 KB
DEL
stringpiece.h
10.35 KB
DEL
stringtriebuilder.h
15.33 KB
DEL
stsearch.h
21.3 KB
DEL
symtable.h
4.27 KB
DEL
tblcoll.h
36.61 KB
DEL
timezone.h
41.02 KB
DEL
tmunit.h
3.38 KB
DEL
tmutamt.h
4.9 KB
DEL
tmutfmt.h
7.85 KB
DEL
translit.h
65.82 KB
DEL
tzfmt.h
42.89 KB
DEL
tznames.h
16.85 KB
DEL
tzrule.h
35.37 KB
DEL
tztrans.h
6.12 KB
DEL
ubidi.h
89.56 KB
DEL
ubiditransform.h
12.65 KB
DEL
ubrk.h
23.97 KB
DEL
ucal.h
56.9 KB
DEL
ucasemap.h
15.18 KB
DEL
ucat.h
5.36 KB
DEL
uchar.h
141.24 KB
DEL
ucharstrie.h
22.58 KB
DEL
ucharstriebuilder.h
7.21 KB
DEL
uchriter.h
13.2 KB
DEL
uclean.h
11.21 KB
DEL
ucnv.h
83.09 KB
DEL
ucnv_cb.h
6.59 KB
DEL
ucnv_err.h
20.99 KB
DEL
ucnvsel.h
6.14 KB
DEL
ucol.h
61.46 KB
DEL
ucoleitr.h
9.46 KB
DEL
uconfig.h
12.07 KB
DEL
ucpmap.h
5.53 KB
DEL
ucptrie.h
22.46 KB
DEL
ucsdet.h
14.67 KB
DEL
ucurr.h
16.12 KB
DEL
udat.h
61.38 KB
DEL
udata.h
15.56 KB
DEL
udateintervalformat.h
10.74 KB
DEL
udatpg.h
26.8 KB
DEL
udisplaycontext.h
5.89 KB
DEL
uenum.h
7.78 KB
DEL
ufieldpositer.h
4.36 KB
DEL
uformattable.h
10.94 KB
DEL
uformattedvalue.h
12.12 KB
DEL
ugender.h
2 KB
DEL
uidna.h
33.37 KB
DEL
uiter.h
22.77 KB
DEL
uldnames.h
10.45 KB
DEL
ulistformatter.h
10.83 KB
DEL
uloc.h
53.16 KB
DEL
ulocdata.h
11.26 KB
DEL
umachine.h
14.54 KB
DEL
umisc.h
1.33 KB
DEL
umsg.h
24.23 KB
DEL
umutablecptrie.h
8.24 KB
DEL
unifilt.h
3.96 KB
DEL
unifunct.h
4.04 KB
DEL
unimatch.h
6.1 KB
DEL
unirepl.h
3.38 KB
DEL
uniset.h
64.9 KB
DEL
unistr.h
170.43 KB
DEL
unorm.h
20.52 KB
DEL
unorm2.h
24.66 KB
DEL
unum.h
53.46 KB
DEL
unumberformatter.h
25.22 KB
DEL
unumsys.h
7.21 KB
DEL
uobject.h
10.68 KB
DEL
upluralrules.h
7.83 KB
DEL
uregex.h
72.05 KB
DEL
uregion.h
9.84 KB
DEL
ureldatefmt.h
17 KB
DEL
urename.h
131.3 KB
DEL
urep.h
5.38 KB
DEL
ures.h
36.54 KB
DEL
uscript.h
27.21 KB
DEL
usearch.h
38.12 KB
DEL
uset.h
40 KB
DEL
usetiter.h
9.55 KB
DEL
ushape.h
18 KB
DEL
uspoof.h
65.9 KB
DEL
usprep.h
8.14 KB
DEL
ustdio.h
38.54 KB
DEL
ustream.h
1.89 KB
DEL
ustring.h
72.47 KB
DEL
ustringtrie.h
3.15 KB
DEL
utext.h
58.13 KB
DEL
utf.h
7.86 KB
DEL
utf16.h
23.32 KB
DEL
utf32.h
763 B
DEL
utf8.h
30.96 KB
DEL
utf_old.h
45.83 KB
DEL
utmscale.h
13.78 KB
DEL
utrace.h
17.29 KB
DEL
utrans.h
25.52 KB
DEL
utypes.h
30.74 KB
DEL
uvernum.h
6.67 KB
DEL
uversion.h
6 KB
DEL
vtzone.h
20.3 KB
DEL
Edit: rep.h
// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ************************************************************************** * Copyright (C) 1999-2012, International Business Machines Corporation and * others. All Rights Reserved. ************************************************************************** * Date Name Description * 11/17/99 aliu Creation. Ported from java. Modified to * match current UnicodeString API. Forced * to use name "handleReplaceBetween" because * of existing methods in UnicodeString. ************************************************************************** */ #ifndef REP_H #define REP_H #include "unicode/utypes.h" #if U_SHOW_CPLUSPLUS_API #include "unicode/uobject.h" /** * \file * \brief C++ API: Replaceable String */ U_NAMESPACE_BEGIN class UnicodeString; /** * <code>Replaceable</code> is an abstract base class representing a * string of characters that supports the replacement of a range of * itself with a new string of characters. It is used by APIs that * change a piece of text while retaining metadata. Metadata is data * other than the Unicode characters returned by char32At(). One * example of metadata is style attributes; another is an edit * history, marking each character with an author and revision number. * * <p>An implicit aspect of the <code>Replaceable</code> API is that * during a replace operation, new characters take on the metadata of * the old characters. For example, if the string "the <b>bold</b> * font" has range (4, 8) replaced with "strong", then it becomes "the * <b>strong</b> font". * * <p><code>Replaceable</code> specifies ranges using a start * offset and a limit offset. The range of characters thus specified * includes the characters at offset start..limit-1. That is, the * start offset is inclusive, and the limit offset is exclusive. * * <p><code>Replaceable</code> also includes API to access characters * in the string: <code>length()</code>, <code>charAt()</code>, * <code>char32At()</code>, and <code>extractBetween()</code>. * * <p>For a subclass to support metadata, typical behavior of * <code>replace()</code> is the following: * <ul> * <li>Set the metadata of the new text to the metadata of the first * character replaced</li> * <li>If no characters are replaced, use the metadata of the * previous character</li> * <li>If there is no previous character (i.e. start == 0), use the * following character</li> * <li>If there is no following character (i.e. the replaceable was * empty), use default metadata.<br> * <li>If the code point U+FFFF is seen, it should be interpreted as * a special marker having no metadata<li> * </li> * </ul> * If this is not the behavior, the subclass should document any differences. * @author Alan Liu * @stable ICU 2.0 */ class U_COMMON_API Replaceable : public UObject { public: /** * Destructor. * @stable ICU 2.0 */ virtual ~Replaceable(); /** * Returns the number of 16-bit code units in the text. * @return number of 16-bit code units in text * @stable ICU 1.8 */ inline int32_t length() const; /** * Returns the 16-bit code unit at the given offset into the text. * @param offset an integer between 0 and <code>length()</code>-1 * inclusive * @return 16-bit code unit of text at given offset * @stable ICU 1.8 */ inline char16_t charAt(int32_t offset) const; /** * Returns the 32-bit code point at the given 16-bit offset into * the text. This assumes the text is stored as 16-bit code units * with surrogate pairs intermixed. If the offset of a leading or * trailing code unit of a surrogate pair is given, return the * code point of the surrogate pair. * * @param offset an integer between 0 and <code>length()</code>-1 * inclusive * @return 32-bit code point of text at given offset * @stable ICU 1.8 */ inline UChar32 char32At(int32_t offset) const; /** * Copies characters in the range [<tt>start</tt>, <tt>limit</tt>) * into the UnicodeString <tt>target</tt>. * @param start offset of first character which will be copied * @param limit offset immediately following the last character to * be copied * @param target UnicodeString into which to copy characters. * @return A reference to <TT>target</TT> * @stable ICU 2.1 */ virtual void extractBetween(int32_t start, int32_t limit, UnicodeString& target) const = 0; /** * Replaces a substring of this object with the given text. If the * characters being replaced have metadata, the new characters * that replace them should be given the same metadata. * * <p>Subclasses must ensure that if the text between start and * limit is equal to the replacement text, that replace has no * effect. That is, any metadata * should be unaffected. In addition, subclasses are encouraged to * check for initial and trailing identical characters, and make a * smaller replacement if possible. This will preserve as much * metadata as possible. * @param start the beginning index, inclusive; <code>0 <= start * <= limit</code>. * @param limit the ending index, exclusive; <code>start <= limit * <= length()</code>. * @param text the text to replace characters <code>start</code> * to <code>limit - 1</code> * @stable ICU 2.0 */ virtual void handleReplaceBetween(int32_t start, int32_t limit, const UnicodeString& text) = 0; // Note: All other methods in this class take the names of // existing UnicodeString methods. This method is the exception. // It is named differently because all replace methods of // UnicodeString return a UnicodeString&. The 'between' is // required in order to conform to the UnicodeString naming // convention; API taking start/length are named <operation>, and // those taking start/limit are named <operationBetween>. The // 'handle' is added because 'replaceBetween' and // 'doReplaceBetween' are already taken. /** * Copies a substring of this object, retaining metadata. * This method is used to duplicate or reorder substrings. * The destination index must not overlap the source range. * * @param start the beginning index, inclusive; <code>0 <= start <= * limit</code>. * @param limit the ending index, exclusive; <code>start <= limit <= * length()</code>. * @param dest the destination index. The characters from * <code>start..limit-1</code> will be copied to <code>dest</code>. * Implementations of this method may assume that <code>dest <= start || * dest >= limit</code>. * @stable ICU 2.0 */ virtual void copy(int32_t start, int32_t limit, int32_t dest) = 0; /** * Returns true if this object contains metadata. If a * Replaceable object has metadata, calls to the Replaceable API * must be made so as to preserve metadata. If it does not, calls * to the Replaceable API may be optimized to improve performance. * The default implementation returns true. * @return true if this object contains metadata * @stable ICU 2.2 */ virtual UBool hasMetaData() const; /** * Clone this object, an instance of a subclass of Replaceable. * Clones can be used concurrently in multiple threads. * If a subclass does not implement clone(), or if an error occurs, * then NULL is returned. * The caller must delete the clone. * * @return a clone of this object * * @see getDynamicClassID * @stable ICU 2.6 */ virtual Replaceable *clone() const; protected: /** * Default constructor. * @stable ICU 2.4 */ inline Replaceable(); /* * Assignment operator not declared. The compiler will provide one * which does nothing since this class does not contain any data members. * API/code coverage may show the assignment operator as present and * untested - ignore. * Subclasses need this assignment operator if they use compiler-provided * assignment operators of their own. An alternative to not declaring one * here would be to declare and empty-implement a protected or public one. Replaceable &Replaceable::operator=(const Replaceable &); */ /** * Virtual version of length(). * @stable ICU 2.4 */ virtual int32_t getLength() const = 0; /** * Virtual version of charAt(). * @stable ICU 2.4 */ virtual char16_t getCharAt(int32_t offset) const = 0; /** * Virtual version of char32At(). * @stable ICU 2.4 */ virtual UChar32 getChar32At(int32_t offset) const = 0; }; inline Replaceable::Replaceable() {} inline int32_t Replaceable::length() const { return getLength(); } inline char16_t Replaceable::charAt(int32_t offset) const { return getCharAt(offset); } inline UChar32 Replaceable::char32At(int32_t offset) const { return getChar32At(offset); } // There is no rep.cpp, see unistr.cpp for Replaceable function implementations. U_NAMESPACE_END #endif /* U_SHOW_CPLUSPLUS_API */ #endif
SAVE FILE
TERMINAL
EXEC