diff options
author | neksard <neksard@yandex-team.ru> | 2022-02-10 16:45:23 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:23 +0300 |
commit | 8f7cf138264e0caa318144bf8a2c950e0b0a8593 (patch) | |
tree | 83bf5c8c8047c42d8475e6095df90ccdc3d1b57f /contrib/libs/icu/i18n/strrepl.h | |
parent | d3a398281c6fd1d3672036cb2d63f842d2cb28c5 (diff) | |
download | ydb-8f7cf138264e0caa318144bf8a2c950e0b0a8593.tar.gz |
Restoring authorship annotation for <neksard@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/icu/i18n/strrepl.h')
-rw-r--r-- | contrib/libs/icu/i18n/strrepl.h | 322 |
1 files changed, 161 insertions, 161 deletions
diff --git a/contrib/libs/icu/i18n/strrepl.h b/contrib/libs/icu/i18n/strrepl.h index 7f74d0d945..fb011ea411 100644 --- a/contrib/libs/icu/i18n/strrepl.h +++ b/contrib/libs/icu/i18n/strrepl.h @@ -1,163 +1,163 @@ // © 2016 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html -/* -********************************************************************** -* Copyright (c) 2002-2011, International Business Machines Corporation -* and others. All Rights Reserved. -********************************************************************** -* Date Name Description -* 01/21/2002 aliu Creation. -********************************************************************** -*/ - -#ifndef STRREPL_H -#define STRREPL_H - -#include "unicode/utypes.h" - -#if !UCONFIG_NO_TRANSLITERATION - -#include "unicode/unifunct.h" -#include "unicode/unirepl.h" -#include "unicode/unistr.h" - -U_NAMESPACE_BEGIN - -class TransliterationRuleData; - -/** - * A replacer that produces static text as its output. The text may - * contain transliterator stand-in characters that represent nested - * UnicodeReplacer objects, making it possible to encode a tree of - * replacers in a StringReplacer. A StringReplacer that contains such - * stand-ins is called a <em>complex</em> StringReplacer. A complex - * StringReplacer has a slower processing loop than a non-complex one. - * @author Alan Liu - */ -class StringReplacer : public UnicodeFunctor, public UnicodeReplacer { - - private: - - /** - * Output text, possibly containing stand-in characters that - * represent nested UnicodeReplacers. - */ - UnicodeString output; - - /** - * Cursor position. Value is ignored if hasCursor is false. - */ - int32_t cursorPos; - - /** - * True if this object outputs a cursor position. - */ - UBool hasCursor; - - /** - * A complex object contains nested replacers and requires more - * complex processing. StringReplacers are initially assumed to - * be complex. If no nested replacers are seen during processing, - * then isComplex is set to false, and future replacements are - * short circuited for better performance. - */ - UBool isComplex; - - /** - * Object that translates stand-in characters in 'output' to - * UnicodeReplacer objects. - */ - const TransliterationRuleData* data; - - public: - - /** - * Construct a StringReplacer that sets the emits the given output - * text and sets the cursor to the given position. - * @param theOutput text that will replace input text when the - * replace() method is called. May contain stand-in characters - * that represent nested replacers. - * @param theCursorPos cursor position that will be returned by - * the replace() method - * @param theData transliterator context object that translates - * stand-in characters to UnicodeReplacer objects - */ - StringReplacer(const UnicodeString& theOutput, - int32_t theCursorPos, - const TransliterationRuleData* theData); - - /** - * Construct a StringReplacer that sets the emits the given output - * text and does not modify the cursor. - * @param theOutput text that will replace input text when the - * replace() method is called. May contain stand-in characters - * that represent nested replacers. - * @param theData transliterator context object that translates - * stand-in characters to UnicodeReplacer objects - */ - StringReplacer(const UnicodeString& theOutput, - const TransliterationRuleData* theData); - - /** - * Copy constructor. - */ - StringReplacer(const StringReplacer& other); - - /** - * Destructor - */ - virtual ~StringReplacer(); - - /** - * Implement UnicodeFunctor - */ +// License & terms of use: http://www.unicode.org/copyright.html +/* +********************************************************************** +* Copyright (c) 2002-2011, International Business Machines Corporation +* and others. All Rights Reserved. +********************************************************************** +* Date Name Description +* 01/21/2002 aliu Creation. +********************************************************************** +*/ + +#ifndef STRREPL_H +#define STRREPL_H + +#include "unicode/utypes.h" + +#if !UCONFIG_NO_TRANSLITERATION + +#include "unicode/unifunct.h" +#include "unicode/unirepl.h" +#include "unicode/unistr.h" + +U_NAMESPACE_BEGIN + +class TransliterationRuleData; + +/** + * A replacer that produces static text as its output. The text may + * contain transliterator stand-in characters that represent nested + * UnicodeReplacer objects, making it possible to encode a tree of + * replacers in a StringReplacer. A StringReplacer that contains such + * stand-ins is called a <em>complex</em> StringReplacer. A complex + * StringReplacer has a slower processing loop than a non-complex one. + * @author Alan Liu + */ +class StringReplacer : public UnicodeFunctor, public UnicodeReplacer { + + private: + + /** + * Output text, possibly containing stand-in characters that + * represent nested UnicodeReplacers. + */ + UnicodeString output; + + /** + * Cursor position. Value is ignored if hasCursor is false. + */ + int32_t cursorPos; + + /** + * True if this object outputs a cursor position. + */ + UBool hasCursor; + + /** + * A complex object contains nested replacers and requires more + * complex processing. StringReplacers are initially assumed to + * be complex. If no nested replacers are seen during processing, + * then isComplex is set to false, and future replacements are + * short circuited for better performance. + */ + UBool isComplex; + + /** + * Object that translates stand-in characters in 'output' to + * UnicodeReplacer objects. + */ + const TransliterationRuleData* data; + + public: + + /** + * Construct a StringReplacer that sets the emits the given output + * text and sets the cursor to the given position. + * @param theOutput text that will replace input text when the + * replace() method is called. May contain stand-in characters + * that represent nested replacers. + * @param theCursorPos cursor position that will be returned by + * the replace() method + * @param theData transliterator context object that translates + * stand-in characters to UnicodeReplacer objects + */ + StringReplacer(const UnicodeString& theOutput, + int32_t theCursorPos, + const TransliterationRuleData* theData); + + /** + * Construct a StringReplacer that sets the emits the given output + * text and does not modify the cursor. + * @param theOutput text that will replace input text when the + * replace() method is called. May contain stand-in characters + * that represent nested replacers. + * @param theData transliterator context object that translates + * stand-in characters to UnicodeReplacer objects + */ + StringReplacer(const UnicodeString& theOutput, + const TransliterationRuleData* theData); + + /** + * Copy constructor. + */ + StringReplacer(const StringReplacer& other); + + /** + * Destructor + */ + virtual ~StringReplacer(); + + /** + * Implement UnicodeFunctor + */ virtual StringReplacer* clone() const; - - /** - * UnicodeFunctor API. Cast 'this' to a UnicodeReplacer* pointer - * and return the pointer. - */ - virtual UnicodeReplacer* toReplacer() const; - - /** - * UnicodeReplacer API - */ - virtual int32_t replace(Replaceable& text, - int32_t start, - int32_t limit, - int32_t& cursor); - - /** - * UnicodeReplacer API - */ - virtual UnicodeString& toReplacerPattern(UnicodeString& result, - UBool escapeUnprintable) const; - - /** - * Implement UnicodeReplacer - */ - virtual void addReplacementSetTo(UnicodeSet& toUnionTo) const; - - /** - * UnicodeFunctor API - */ - virtual void setData(const TransliterationRuleData*); - - /** - * ICU "poor man's RTTI", returns a UClassID for this class. - */ - static UClassID U_EXPORT2 getStaticClassID(); - - /** - * ICU "poor man's RTTI", returns a UClassID for the actual class. - */ - virtual UClassID getDynamicClassID() const; -}; - -U_NAMESPACE_END - -#endif /* #if !UCONFIG_NO_TRANSLITERATION */ - -#endif - -//eof + + /** + * UnicodeFunctor API. Cast 'this' to a UnicodeReplacer* pointer + * and return the pointer. + */ + virtual UnicodeReplacer* toReplacer() const; + + /** + * UnicodeReplacer API + */ + virtual int32_t replace(Replaceable& text, + int32_t start, + int32_t limit, + int32_t& cursor); + + /** + * UnicodeReplacer API + */ + virtual UnicodeString& toReplacerPattern(UnicodeString& result, + UBool escapeUnprintable) const; + + /** + * Implement UnicodeReplacer + */ + virtual void addReplacementSetTo(UnicodeSet& toUnionTo) const; + + /** + * UnicodeFunctor API + */ + virtual void setData(const TransliterationRuleData*); + + /** + * ICU "poor man's RTTI", returns a UClassID for this class. + */ + static UClassID U_EXPORT2 getStaticClassID(); + + /** + * ICU "poor man's RTTI", returns a UClassID for the actual class. + */ + virtual UClassID getDynamicClassID() const; +}; + +U_NAMESPACE_END + +#endif /* #if !UCONFIG_NO_TRANSLITERATION */ + +#endif + +//eof |