diff options
Diffstat (limited to 'deps/node/deps/icu-small/source/i18n/standardplural.cpp')
-rw-r--r-- | deps/node/deps/icu-small/source/i18n/standardplural.cpp | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/deps/node/deps/icu-small/source/i18n/standardplural.cpp b/deps/node/deps/icu-small/source/i18n/standardplural.cpp deleted file mode 100644 index 0391034b..00000000 --- a/deps/node/deps/icu-small/source/i18n/standardplural.cpp +++ /dev/null @@ -1,129 +0,0 @@ -// © 2016 and later: Unicode, Inc. and others. -// License & terms of use: http://www.unicode.org/copyright.html -/* - ******************************************************************************* - * Copyright (C) 2015, International Business Machines Corporation - * and others. All Rights Reserved. - ******************************************************************************* - * standardplural.cpp - * - * created on: 2015dec14 - * created by: Markus W. Scherer - */ - -#include "unicode/utypes.h" - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/unistr.h" -#include "cstring.h" -#include "standardplural.h" -#include "uassert.h" - -U_NAMESPACE_BEGIN - -static const char *gKeywords[StandardPlural::COUNT] = { - "zero", "one", "two", "few", "many", "other" -}; - -const char *StandardPlural::getKeyword(Form p) { - U_ASSERT(ZERO <= p && p < COUNT); - return gKeywords[p]; -} - -int32_t StandardPlural::indexOrNegativeFromString(const char *keyword) { - switch (*keyword++) { - case 'f': - if (uprv_strcmp(keyword, "ew") == 0) { - return FEW; - } - break; - case 'm': - if (uprv_strcmp(keyword, "any") == 0) { - return MANY; - } - break; - case 'o': - if (uprv_strcmp(keyword, "ther") == 0) { - return OTHER; - } else if (uprv_strcmp(keyword, "ne") == 0) { - return ONE; - } - break; - case 't': - if (uprv_strcmp(keyword, "wo") == 0) { - return TWO; - } - break; - case 'z': - if (uprv_strcmp(keyword, "ero") == 0) { - return ZERO; - } - break; - default: - break; - } - return -1; -} - -static const UChar gZero[] = { 0x7A, 0x65, 0x72, 0x6F }; -static const UChar gOne[] = { 0x6F, 0x6E, 0x65 }; -static const UChar gTwo[] = { 0x74, 0x77, 0x6F }; -static const UChar gFew[] = { 0x66, 0x65, 0x77 }; -static const UChar gMany[] = { 0x6D, 0x61, 0x6E, 0x79 }; -static const UChar gOther[] = { 0x6F, 0x74, 0x68, 0x65, 0x72 }; - -int32_t StandardPlural::indexOrNegativeFromString(const UnicodeString &keyword) { - switch (keyword.length()) { - case 3: - if (keyword.compare(gOne, 3) == 0) { - return ONE; - } else if (keyword.compare(gTwo, 3) == 0) { - return TWO; - } else if (keyword.compare(gFew, 3) == 0) { - return FEW; - } - break; - case 4: - if (keyword.compare(gMany, 4) == 0) { - return MANY; - } else if (keyword.compare(gZero, 4) == 0) { - return ZERO; - } - break; - case 5: - if (keyword.compare(gOther, 5) == 0) { - return OTHER; - } - break; - default: - break; - } - return -1; -} - -int32_t StandardPlural::indexFromString(const char *keyword, UErrorCode &errorCode) { - if (U_FAILURE(errorCode)) { return OTHER; } - int32_t i = indexOrNegativeFromString(keyword); - if (i >= 0) { - return i; - } else { - errorCode = U_ILLEGAL_ARGUMENT_ERROR; - return OTHER; - } -} - -int32_t StandardPlural::indexFromString(const UnicodeString &keyword, UErrorCode &errorCode) { - if (U_FAILURE(errorCode)) { return OTHER; } - int32_t i = indexOrNegativeFromString(keyword); - if (i >= 0) { - return i; - } else { - errorCode = U_ILLEGAL_ARGUMENT_ERROR; - return OTHER; - } -} - -U_NAMESPACE_END - -#endif // !UCONFIG_NO_FORMATTING |