aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/icu/i18n/format.cpp
diff options
context:
space:
mode:
authorneksard <neksard@yandex-team.ru>2022-02-10 16:45:23 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:23 +0300
commit8f7cf138264e0caa318144bf8a2c950e0b0a8593 (patch)
tree83bf5c8c8047c42d8475e6095df90ccdc3d1b57f /contrib/libs/icu/i18n/format.cpp
parentd3a398281c6fd1d3672036cb2d63f842d2cb28c5 (diff)
downloadydb-8f7cf138264e0caa318144bf8a2c950e0b0a8593.tar.gz
Restoring authorship annotation for <neksard@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/icu/i18n/format.cpp')
-rw-r--r--contrib/libs/icu/i18n/format.cpp436
1 files changed, 218 insertions, 218 deletions
diff --git a/contrib/libs/icu/i18n/format.cpp b/contrib/libs/icu/i18n/format.cpp
index e5abbe9eb0..67d04c924b 100644
--- a/contrib/libs/icu/i18n/format.cpp
+++ b/contrib/libs/icu/i18n/format.cpp
@@ -1,219 +1,219 @@
// © 2016 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-/*
-*******************************************************************************
-* Copyright (C) 1997-2012, International Business Machines Corporation and *
-* others. All Rights Reserved. *
-*******************************************************************************
-*
-* File FORMAT.CPP
-*
-* Modification History:
-*
-* Date Name Description
-* 02/19/97 aliu Converted from java.
-* 03/17/97 clhuang Implemented with new APIs.
-* 03/27/97 helena Updated to pass the simple test after code review.
-* 07/20/98 stephen Added explicit init values for Field/ParsePosition
-********************************************************************************
-*/
-// *****************************************************************************
-// This file was generated from the java source file Format.java
-// *****************************************************************************
-
-#include "utypeinfo.h" // for 'typeid' to work
-
-#include "unicode/utypes.h"
-
-#ifndef U_I18N_IMPLEMENTATION
-#error U_I18N_IMPLEMENTATION not set - must be set for all ICU source files in i18n/ - see http://userguide.icu-project.org/howtouseicu
-#endif
-
-/*
- * Dummy code:
- * If all modules in the I18N library are switched off, then there are no
- * library exports and MSVC 6 writes a .dll but not a .lib file.
- * Unless we export _something_ in that case...
- */
-#if UCONFIG_NO_COLLATION && UCONFIG_NO_FORMATTING && UCONFIG_NO_TRANSLITERATION
-U_CAPI int32_t U_EXPORT2
-uprv_icuin_lib_dummy(int32_t i) {
- return -i;
-}
-#endif
-
-/* Format class implementation ---------------------------------------------- */
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/format.h"
-#include "unicode/ures.h"
-#include "cstring.h"
-#include "locbased.h"
-
-// *****************************************************************************
-// class Format
-// *****************************************************************************
-
-U_NAMESPACE_BEGIN
-
-UOBJECT_DEFINE_RTTI_IMPLEMENTATION(FieldPosition)
-
-FieldPosition::~FieldPosition() {}
-
-FieldPosition *
-FieldPosition::clone() const {
- return new FieldPosition(*this);
-}
-
-// -------------------------------------
-// default constructor
-
-Format::Format()
- : UObject()
-{
- *validLocale = *actualLocale = 0;
-}
-
-// -------------------------------------
-
-Format::~Format()
-{
-}
-
-// -------------------------------------
-// copy constructor
-
-Format::Format(const Format &that)
- : UObject(that)
-{
- *this = that;
-}
-
-// -------------------------------------
-// assignment operator
-
-Format&
-Format::operator=(const Format& that)
-{
- if (this != &that) {
- uprv_strcpy(validLocale, that.validLocale);
- uprv_strcpy(actualLocale, that.actualLocale);
- }
- return *this;
-}
-
-// -------------------------------------
-// Formats the obj and append the result in the buffer, toAppendTo.
-// This calls the actual implementation in the concrete subclasses.
-
-UnicodeString&
-Format::format(const Formattable& obj,
- UnicodeString& toAppendTo,
- UErrorCode& status) const
-{
- if (U_FAILURE(status)) return toAppendTo;
-
- FieldPosition pos(FieldPosition::DONT_CARE);
-
- return format(obj, toAppendTo, pos, status);
-}
-
-// -------------------------------------
-// Default implementation sets unsupported error; subclasses should
-// override.
-
-UnicodeString&
-Format::format(const Formattable& /* unused obj */,
- UnicodeString& toAppendTo,
- FieldPositionIterator* /* unused posIter */,
- UErrorCode& status) const
-{
- if (!U_FAILURE(status)) {
- status = U_UNSUPPORTED_ERROR;
- }
- return toAppendTo;
-}
-
-// -------------------------------------
-// Parses the source string and create the corresponding
-// result object. Checks the parse position for errors.
-
-void
-Format::parseObject(const UnicodeString& source,
- Formattable& result,
- UErrorCode& status) const
-{
- if (U_FAILURE(status)) return;
-
- ParsePosition parsePosition(0);
- parseObject(source, result, parsePosition);
- if (parsePosition.getIndex() == 0) {
- status = U_INVALID_FORMAT_ERROR;
- }
-}
-
-// -------------------------------------
-
-UBool
-Format::operator==(const Format& that) const
-{
- // Subclasses: Call this method and then add more specific checks.
- return typeid(*this) == typeid(that);
-}
-//---------------------------------------
-
-/**
- * Simple function for initializing a UParseError from a UnicodeString.
- *
- * @param pattern The pattern to copy into the parseError
- * @param pos The position in pattern where the error occured
- * @param parseError The UParseError object to fill in
- * @draft ICU 2.4
- */
-void Format::syntaxError(const UnicodeString& pattern,
- int32_t pos,
- UParseError& parseError) {
- parseError.offset = pos;
- parseError.line=0; // we are not using line number
-
- // for pre-context
- int32_t start = (pos < U_PARSE_CONTEXT_LEN)? 0 : (pos - (U_PARSE_CONTEXT_LEN-1
- /* subtract 1 so that we have room for null*/));
- int32_t stop = pos;
- pattern.extract(start,stop-start,parseError.preContext,0);
- //null terminate the buffer
- parseError.preContext[stop-start] = 0;
-
- //for post-context
- start = pos+1;
- stop = ((pos+U_PARSE_CONTEXT_LEN)<=pattern.length()) ? (pos+(U_PARSE_CONTEXT_LEN-1)) :
- pattern.length();
- pattern.extract(start,stop-start,parseError.postContext,0);
- //null terminate the buffer
- parseError.postContext[stop-start]= 0;
-}
-
-Locale
-Format::getLocale(ULocDataLocaleType type, UErrorCode& status) const {
- U_LOCALE_BASED(locBased, *this);
- return locBased.getLocale(type, status);
-}
-
-const char *
-Format::getLocaleID(ULocDataLocaleType type, UErrorCode& status) const {
- U_LOCALE_BASED(locBased, *this);
- return locBased.getLocaleID(type, status);
-}
-
-void
-Format::setLocaleIDs(const char* valid, const char* actual) {
- U_LOCALE_BASED(locBased, *this);
- locBased.setLocaleIDs(valid, actual);
-}
-
-U_NAMESPACE_END
-
-#endif /* #if !UCONFIG_NO_FORMATTING */
-
-//eof
+// License & terms of use: http://www.unicode.org/copyright.html
+/*
+*******************************************************************************
+* Copyright (C) 1997-2012, International Business Machines Corporation and *
+* others. All Rights Reserved. *
+*******************************************************************************
+*
+* File FORMAT.CPP
+*
+* Modification History:
+*
+* Date Name Description
+* 02/19/97 aliu Converted from java.
+* 03/17/97 clhuang Implemented with new APIs.
+* 03/27/97 helena Updated to pass the simple test after code review.
+* 07/20/98 stephen Added explicit init values for Field/ParsePosition
+********************************************************************************
+*/
+// *****************************************************************************
+// This file was generated from the java source file Format.java
+// *****************************************************************************
+
+#include "utypeinfo.h" // for 'typeid' to work
+
+#include "unicode/utypes.h"
+
+#ifndef U_I18N_IMPLEMENTATION
+#error U_I18N_IMPLEMENTATION not set - must be set for all ICU source files in i18n/ - see http://userguide.icu-project.org/howtouseicu
+#endif
+
+/*
+ * Dummy code:
+ * If all modules in the I18N library are switched off, then there are no
+ * library exports and MSVC 6 writes a .dll but not a .lib file.
+ * Unless we export _something_ in that case...
+ */
+#if UCONFIG_NO_COLLATION && UCONFIG_NO_FORMATTING && UCONFIG_NO_TRANSLITERATION
+U_CAPI int32_t U_EXPORT2
+uprv_icuin_lib_dummy(int32_t i) {
+ return -i;
+}
+#endif
+
+/* Format class implementation ---------------------------------------------- */
+
+#if !UCONFIG_NO_FORMATTING
+
+#include "unicode/format.h"
+#include "unicode/ures.h"
+#include "cstring.h"
+#include "locbased.h"
+
+// *****************************************************************************
+// class Format
+// *****************************************************************************
+
+U_NAMESPACE_BEGIN
+
+UOBJECT_DEFINE_RTTI_IMPLEMENTATION(FieldPosition)
+
+FieldPosition::~FieldPosition() {}
+
+FieldPosition *
+FieldPosition::clone() const {
+ return new FieldPosition(*this);
+}
+
+// -------------------------------------
+// default constructor
+
+Format::Format()
+ : UObject()
+{
+ *validLocale = *actualLocale = 0;
+}
+
+// -------------------------------------
+
+Format::~Format()
+{
+}
+
+// -------------------------------------
+// copy constructor
+
+Format::Format(const Format &that)
+ : UObject(that)
+{
+ *this = that;
+}
+
+// -------------------------------------
+// assignment operator
+
+Format&
+Format::operator=(const Format& that)
+{
+ if (this != &that) {
+ uprv_strcpy(validLocale, that.validLocale);
+ uprv_strcpy(actualLocale, that.actualLocale);
+ }
+ return *this;
+}
+
+// -------------------------------------
+// Formats the obj and append the result in the buffer, toAppendTo.
+// This calls the actual implementation in the concrete subclasses.
+
+UnicodeString&
+Format::format(const Formattable& obj,
+ UnicodeString& toAppendTo,
+ UErrorCode& status) const
+{
+ if (U_FAILURE(status)) return toAppendTo;
+
+ FieldPosition pos(FieldPosition::DONT_CARE);
+
+ return format(obj, toAppendTo, pos, status);
+}
+
+// -------------------------------------
+// Default implementation sets unsupported error; subclasses should
+// override.
+
+UnicodeString&
+Format::format(const Formattable& /* unused obj */,
+ UnicodeString& toAppendTo,
+ FieldPositionIterator* /* unused posIter */,
+ UErrorCode& status) const
+{
+ if (!U_FAILURE(status)) {
+ status = U_UNSUPPORTED_ERROR;
+ }
+ return toAppendTo;
+}
+
+// -------------------------------------
+// Parses the source string and create the corresponding
+// result object. Checks the parse position for errors.
+
+void
+Format::parseObject(const UnicodeString& source,
+ Formattable& result,
+ UErrorCode& status) const
+{
+ if (U_FAILURE(status)) return;
+
+ ParsePosition parsePosition(0);
+ parseObject(source, result, parsePosition);
+ if (parsePosition.getIndex() == 0) {
+ status = U_INVALID_FORMAT_ERROR;
+ }
+}
+
+// -------------------------------------
+
+UBool
+Format::operator==(const Format& that) const
+{
+ // Subclasses: Call this method and then add more specific checks.
+ return typeid(*this) == typeid(that);
+}
+//---------------------------------------
+
+/**
+ * Simple function for initializing a UParseError from a UnicodeString.
+ *
+ * @param pattern The pattern to copy into the parseError
+ * @param pos The position in pattern where the error occured
+ * @param parseError The UParseError object to fill in
+ * @draft ICU 2.4
+ */
+void Format::syntaxError(const UnicodeString& pattern,
+ int32_t pos,
+ UParseError& parseError) {
+ parseError.offset = pos;
+ parseError.line=0; // we are not using line number
+
+ // for pre-context
+ int32_t start = (pos < U_PARSE_CONTEXT_LEN)? 0 : (pos - (U_PARSE_CONTEXT_LEN-1
+ /* subtract 1 so that we have room for null*/));
+ int32_t stop = pos;
+ pattern.extract(start,stop-start,parseError.preContext,0);
+ //null terminate the buffer
+ parseError.preContext[stop-start] = 0;
+
+ //for post-context
+ start = pos+1;
+ stop = ((pos+U_PARSE_CONTEXT_LEN)<=pattern.length()) ? (pos+(U_PARSE_CONTEXT_LEN-1)) :
+ pattern.length();
+ pattern.extract(start,stop-start,parseError.postContext,0);
+ //null terminate the buffer
+ parseError.postContext[stop-start]= 0;
+}
+
+Locale
+Format::getLocale(ULocDataLocaleType type, UErrorCode& status) const {
+ U_LOCALE_BASED(locBased, *this);
+ return locBased.getLocale(type, status);
+}
+
+const char *
+Format::getLocaleID(ULocDataLocaleType type, UErrorCode& status) const {
+ U_LOCALE_BASED(locBased, *this);
+ return locBased.getLocaleID(type, status);
+}
+
+void
+Format::setLocaleIDs(const char* valid, const char* actual) {
+ U_LOCALE_BASED(locBased, *this);
+ locBased.setLocaleIDs(valid, actual);
+}
+
+U_NAMESPACE_END
+
+#endif /* #if !UCONFIG_NO_FORMATTING */
+
+//eof