diff options
author | vvvv <vvvv@yandex-team.ru> | 2022-02-11 19:00:01 +0300 |
---|---|---|
committer | vvvv <vvvv@yandex-team.ru> | 2022-02-11 19:00:01 +0300 |
commit | 4f5398551111a2b05b55de391d5d296bd0a670bf (patch) | |
tree | 422aa536507b05260da88883c27d1c9742a292fd /contrib/libs/icu/include/unicode/formattedvalue.h | |
parent | 0d99fc6efe15562b8474a702ab18e406ac102cdf (diff) | |
download | ydb-4f5398551111a2b05b55de391d5d296bd0a670bf.tar.gz |
YQL-13794 remove most of boost & ICU dependency
ref:eae1a1c30940ed737c886518182fd97bd872667d
Diffstat (limited to 'contrib/libs/icu/include/unicode/formattedvalue.h')
-rw-r--r-- | contrib/libs/icu/include/unicode/formattedvalue.h | 318 |
1 files changed, 0 insertions, 318 deletions
diff --git a/contrib/libs/icu/include/unicode/formattedvalue.h b/contrib/libs/icu/include/unicode/formattedvalue.h deleted file mode 100644 index e7ba4ec245..0000000000 --- a/contrib/libs/icu/include/unicode/formattedvalue.h +++ /dev/null @@ -1,318 +0,0 @@ -// © 2018 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html - -#ifndef __FORMATTEDVALUE_H__ -#define __FORMATTEDVALUE_H__ - -#include "unicode/utypes.h" - -#if U_SHOW_CPLUSPLUS_API - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/appendable.h" -#include "unicode/fpositer.h" -#include "unicode/unistr.h" -#include "unicode/uformattedvalue.h" - -U_NAMESPACE_BEGIN - -/** - * \file - * \brief C++ API: Abstract operations for localized strings. - * - * This file contains declarations for classes that deal with formatted strings. A number - * of APIs throughout ICU use these classes for expressing their localized output. - */ - -/** - * Represents a span of a string containing a given field. - * - * This class differs from FieldPosition in the following ways: - * - * 1. It has information on the field category. - * 2. It allows you to set constraints to use when iterating over field positions. - * 3. It is used for the newer FormattedValue APIs. - * - * This class is not intended for public subclassing. - * - * @stable ICU 64 - */ -class U_I18N_API ConstrainedFieldPosition : public UMemory { - public: - - /** - * Initializes a ConstrainedFieldPosition. - * - * By default, the ConstrainedFieldPosition has no iteration constraints. - * - * @stable ICU 64 - */ - ConstrainedFieldPosition(); - - /** @stable ICU 64 */ - ~ConstrainedFieldPosition(); - - /** - * Resets this ConstrainedFieldPosition to its initial state, as if it were newly created: - * - * - Removes any constraints that may have been set on the instance. - * - Resets the iteration position. - * - * @stable ICU 64 - */ - void reset(); - - /** - * Sets a constraint on the field category. - * - * When this instance of ConstrainedFieldPosition is passed to FormattedValue#nextPosition, - * positions are skipped unless they have the given category. - * - * Any previously set constraints are cleared. - * - * For example, to loop over only the number-related fields: - * - * ConstrainedFieldPosition cfpos; - * cfpos.constrainCategory(UFIELDCATEGORY_NUMBER_FORMAT); - * while (fmtval.nextPosition(cfpos, status)) { - * // handle the number-related field position - * } - * - * Changing the constraint while in the middle of iterating over a FormattedValue - * does not generally have well-defined behavior. - * - * @param category The field category to fix when iterating. - * @stable ICU 64 - */ - void constrainCategory(int32_t category); - - /** - * Sets a constraint on the category and field. - * - * When this instance of ConstrainedFieldPosition is passed to FormattedValue#nextPosition, - * positions are skipped unless they have the given category and field. - * - * Any previously set constraints are cleared. - * - * For example, to loop over all grouping separators: - * - * ConstrainedFieldPosition cfpos; - * cfpos.constrainField(UFIELDCATEGORY_NUMBER_FORMAT, UNUM_GROUPING_SEPARATOR_FIELD); - * while (fmtval.nextPosition(cfpos, status)) { - * // handle the grouping separator position - * } - * - * Changing the constraint while in the middle of iterating over a FormattedValue - * does not generally have well-defined behavior. - * - * @param category The field category to fix when iterating. - * @param field The field to fix when iterating. - * @stable ICU 64 - */ - void constrainField(int32_t category, int32_t field); - - /** - * Gets the field category for the current position. - * - * The return value is well-defined only after - * FormattedValue#nextPosition returns TRUE. - * - * @return The field category saved in the instance. - * @stable ICU 64 - */ - inline int32_t getCategory() const { - return fCategory; - } - - /** - * Gets the field for the current position. - * - * The return value is well-defined only after - * FormattedValue#nextPosition returns TRUE. - * - * @return The field saved in the instance. - * @stable ICU 64 - */ - inline int32_t getField() const { - return fField; - } - - /** - * Gets the INCLUSIVE start index for the current position. - * - * The return value is well-defined only after FormattedValue#nextPosition returns TRUE. - * - * @return The start index saved in the instance. - * @stable ICU 64 - */ - inline int32_t getStart() const { - return fStart; - } - - /** - * Gets the EXCLUSIVE end index stored for the current position. - * - * The return value is well-defined only after FormattedValue#nextPosition returns TRUE. - * - * @return The end index saved in the instance. - * @stable ICU 64 - */ - inline int32_t getLimit() const { - return fLimit; - } - - //////////////////////////////////////////////////////////////////// - //// The following methods are for FormattedValue implementers; //// - //// most users can ignore them. //// - //////////////////////////////////////////////////////////////////// - - /** - * Gets an int64 that FormattedValue implementations may use for storage. - * - * The initial value is zero. - * - * Users of FormattedValue should not need to call this method. - * - * @return The current iteration context from {@link #setInt64IterationContext}. - * @stable ICU 64 - */ - inline int64_t getInt64IterationContext() const { - return fContext; - } - - /** - * Sets an int64 that FormattedValue implementations may use for storage. - * - * Intended to be used by FormattedValue implementations. - * - * @param context The new iteration context. - * @stable ICU 64 - */ - void setInt64IterationContext(int64_t context); - - /** - * Determines whether a given field should be included given the - * constraints. - * - * Intended to be used by FormattedValue implementations. - * - * @param category The category to test. - * @param field The field to test. - * @stable ICU 64 - */ - UBool matchesField(int32_t category, int32_t field) const; - - /** - * Sets new values for the primary public getters. - * - * Intended to be used by FormattedValue implementations. - * - * It is up to the implementation to ensure that the user-requested - * constraints are satisfied. This method does not check! - * - * @param category The new field category. - * @param field The new field. - * @param start The new inclusive start index. - * @param limit The new exclusive end index. - * @stable ICU 64 - */ - void setState( - int32_t category, - int32_t field, - int32_t start, - int32_t limit); - - private: - int64_t fContext = 0LL; - int32_t fField = 0; - int32_t fStart = 0; - int32_t fLimit = 0; - int32_t fCategory = UFIELD_CATEGORY_UNDEFINED; - int8_t fConstraint = 0; -}; - -/** - * An abstract formatted value: a string with associated field attributes. - * Many formatters format to classes implementing FormattedValue. - * - * @stable ICU 64 - */ -class U_I18N_API FormattedValue /* not : public UObject because this is an interface/mixin class */ { - public: - /** @stable ICU 64 */ - virtual ~FormattedValue(); - - /** - * Returns the formatted string as a self-contained UnicodeString. - * - * If you need the string within the current scope only, consider #toTempString. - * - * @param status Set if an error occurs. - * @return a UnicodeString containing the formatted string. - * - * @stable ICU 64 - */ - virtual UnicodeString toString(UErrorCode& status) const = 0; - - /** - * Returns the formatted string as a read-only alias to memory owned by the FormattedValue. - * - * The return value is valid only as long as this FormattedValue is present and unchanged in - * memory. If you need the string outside the current scope, consider #toString. - * - * The buffer returned by calling UnicodeString#getBuffer() on the return value is - * guaranteed to be NUL-terminated. - * - * @param status Set if an error occurs. - * @return a temporary UnicodeString containing the formatted string. - * - * @stable ICU 64 - */ - virtual UnicodeString toTempString(UErrorCode& status) const = 0; - - /** - * Appends the formatted string to an Appendable. - * - * @param appendable - * The Appendable to which to append the string output. - * @param status Set if an error occurs. - * @return The same Appendable, for chaining. - * - * @stable ICU 64 - * @see Appendable - */ - virtual Appendable& appendTo(Appendable& appendable, UErrorCode& status) const = 0; - - /** - * Iterates over field positions in the FormattedValue. This lets you determine the position - * of specific types of substrings, like a month or a decimal separator. - * - * To loop over all field positions: - * - * ConstrainedFieldPosition cfpos; - * while (fmtval.nextPosition(cfpos, status)) { - * // handle the field position; get information from cfpos - * } - * - * @param cfpos - * The object used for iteration state. This can provide constraints to iterate over - * only one specific category or field; - * see ConstrainedFieldPosition#constrainCategory - * and ConstrainedFieldPosition#constrainField. - * @param status Set if an error occurs. - * @return TRUE if a new occurrence of the field was found; - * FALSE otherwise or if an error was set. - * - * @stable ICU 64 - */ - virtual UBool nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const = 0; -}; - -U_NAMESPACE_END - -#endif /* #if !UCONFIG_NO_FORMATTING */ - -#endif /* U_SHOW_CPLUSPLUS_API */ - -#endif // __FORMATTEDVALUE_H__ |