summaryrefslogtreecommitdiff
path: root/deps/node/deps/icu-small/source/i18n/measunit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/deps/icu-small/source/i18n/measunit.cpp')
-rw-r--r--deps/node/deps/icu-small/source/i18n/measunit.cpp1363
1 files changed, 0 insertions, 1363 deletions
diff --git a/deps/node/deps/icu-small/source/i18n/measunit.cpp b/deps/node/deps/icu-small/source/i18n/measunit.cpp
deleted file mode 100644
index f6059f8c..00000000
--- a/deps/node/deps/icu-small/source/i18n/measunit.cpp
+++ /dev/null
@@ -1,1363 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-/*
-**********************************************************************
-* Copyright (c) 2004-2016, International Business Machines
-* Corporation and others. All Rights Reserved.
-**********************************************************************
-* Author: Alan Liu
-* Created: April 26, 2004
-* Since: ICU 3.0
-**********************************************************************
-*/
-#include "utypeinfo.h" // for 'typeid' to work
-
-#include "unicode/measunit.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/uenum.h"
-#include "ustrenum.h"
-#include "cstring.h"
-#include "uassert.h"
-
-U_NAMESPACE_BEGIN
-
-UOBJECT_DEFINE_RTTI_IMPLEMENTATION(MeasureUnit)
-
-// All code between the "Start generated code" comment and
-// the "End generated code" comment is auto generated code
-// and must not be edited manually. For instructions on how to correctly
-// update this code, refer to:
-// http://site.icu-project.org/design/formatting/measureformat/updating-measure-unit
-//
-// Start generated code
-
-
-static const int32_t gOffsets[] = {
- 0,
- 2,
- 7,
- 16,
- 22,
- 26,
- 325,
- 336,
- 347,
- 351,
- 357,
- 361,
- 381,
- 382,
- 393,
- 396,
- 402,
- 408,
- 412,
- 416,
- 441
-};
-
-static const int32_t gIndexes[] = {
- 0,
- 2,
- 7,
- 16,
- 22,
- 26,
- 26,
- 37,
- 48,
- 52,
- 58,
- 62,
- 82,
- 83,
- 94,
- 97,
- 103,
- 109,
- 113,
- 117,
- 142
-};
-
-// Must be sorted alphabetically.
-static const char * const gTypes[] = {
- "acceleration",
- "angle",
- "area",
- "concentr",
- "consumption",
- "currency",
- "digital",
- "duration",
- "electric",
- "energy",
- "frequency",
- "length",
- "light",
- "mass",
- "none",
- "power",
- "pressure",
- "speed",
- "temperature",
- "volume"
-};
-
-// Must be grouped by type and sorted alphabetically within each type.
-static const char * const gSubTypes[] = {
- "g-force",
- "meter-per-second-squared",
- "arc-minute",
- "arc-second",
- "degree",
- "radian",
- "revolution",
- "acre",
- "hectare",
- "square-centimeter",
- "square-foot",
- "square-inch",
- "square-kilometer",
- "square-meter",
- "square-mile",
- "square-yard",
- "karat",
- "milligram-per-deciliter",
- "millimole-per-liter",
- "part-per-million",
- "percent",
- "permille",
- "liter-per-100kilometers",
- "liter-per-kilometer",
- "mile-per-gallon",
- "mile-per-gallon-imperial",
- "ADP",
- "AED",
- "AFA",
- "AFN",
- "ALK",
- "ALL",
- "AMD",
- "ANG",
- "AOA",
- "AOK",
- "AON",
- "AOR",
- "ARA",
- "ARP",
- "ARS",
- "ARY",
- "ATS",
- "AUD",
- "AWG",
- "AYM",
- "AZM",
- "AZN",
- "BAD",
- "BAM",
- "BBD",
- "BDT",
- "BEC",
- "BEF",
- "BEL",
- "BGJ",
- "BGK",
- "BGL",
- "BGN",
- "BHD",
- "BIF",
- "BMD",
- "BND",
- "BOB",
- "BOP",
- "BOV",
- "BRB",
- "BRC",
- "BRE",
- "BRL",
- "BRN",
- "BRR",
- "BSD",
- "BTN",
- "BUK",
- "BWP",
- "BYB",
- "BYN",
- "BYR",
- "BZD",
- "CAD",
- "CDF",
- "CHC",
- "CHE",
- "CHF",
- "CHW",
- "CLF",
- "CLP",
- "CNY",
- "COP",
- "COU",
- "CRC",
- "CSD",
- "CSJ",
- "CSK",
- "CUC",
- "CUP",
- "CVE",
- "CYP",
- "CZK",
- "DDM",
- "DEM",
- "DJF",
- "DKK",
- "DOP",
- "DZD",
- "ECS",
- "ECV",
- "EEK",
- "EGP",
- "ERN",
- "ESA",
- "ESB",
- "ESP",
- "ETB",
- "EUR",
- "FIM",
- "FJD",
- "FKP",
- "FRF",
- "GBP",
- "GEK",
- "GEL",
- "GHC",
- "GHP",
- "GHS",
- "GIP",
- "GMD",
- "GNE",
- "GNF",
- "GNS",
- "GQE",
- "GRD",
- "GTQ",
- "GWE",
- "GWP",
- "GYD",
- "HKD",
- "HNL",
- "HRD",
- "HRK",
- "HTG",
- "HUF",
- "IDR",
- "IEP",
- "ILP",
- "ILR",
- "ILS",
- "INR",
- "IQD",
- "IRR",
- "ISJ",
- "ISK",
- "ITL",
- "JMD",
- "JOD",
- "JPY",
- "KES",
- "KGS",
- "KHR",
- "KMF",
- "KPW",
- "KRW",
- "KWD",
- "KYD",
- "KZT",
- "LAJ",
- "LAK",
- "LBP",
- "LKR",
- "LRD",
- "LSL",
- "LSM",
- "LTL",
- "LTT",
- "LUC",
- "LUF",
- "LUL",
- "LVL",
- "LVR",
- "LYD",
- "MAD",
- "MDL",
- "MGA",
- "MGF",
- "MKD",
- "MLF",
- "MMK",
- "MNT",
- "MOP",
- "MRO",
- "MRU",
- "MTL",
- "MTP",
- "MUR",
- "MVQ",
- "MVR",
- "MWK",
- "MXN",
- "MXP",
- "MXV",
- "MYR",
- "MZE",
- "MZM",
- "MZN",
- "NAD",
- "NGN",
- "NIC",
- "NIO",
- "NLG",
- "NOK",
- "NPR",
- "NZD",
- "OMR",
- "PAB",
- "PEH",
- "PEI",
- "PEN",
- "PES",
- "PGK",
- "PHP",
- "PKR",
- "PLN",
- "PLZ",
- "PTE",
- "PYG",
- "QAR",
- "RHD",
- "ROK",
- "ROL",
- "RON",
- "RSD",
- "RUB",
- "RUR",
- "RWF",
- "SAR",
- "SBD",
- "SCR",
- "SDD",
- "SDG",
- "SDP",
- "SEK",
- "SGD",
- "SHP",
- "SIT",
- "SKK",
- "SLL",
- "SOS",
- "SRD",
- "SRG",
- "SSP",
- "STD",
- "STN",
- "SUR",
- "SVC",
- "SYP",
- "SZL",
- "THB",
- "TJR",
- "TJS",
- "TMM",
- "TMT",
- "TND",
- "TOP",
- "TPE",
- "TRL",
- "TRY",
- "TTD",
- "TWD",
- "TZS",
- "UAH",
- "UAK",
- "UGS",
- "UGW",
- "UGX",
- "USD",
- "USN",
- "USS",
- "UYI",
- "UYN",
- "UYP",
- "UYU",
- "UYW",
- "UZS",
- "VEB",
- "VEF",
- "VES",
- "VNC",
- "VND",
- "VUV",
- "WST",
- "XAF",
- "XAG",
- "XAU",
- "XBA",
- "XBB",
- "XBC",
- "XBD",
- "XCD",
- "XDR",
- "XEU",
- "XOF",
- "XPD",
- "XPF",
- "XPT",
- "XSU",
- "XTS",
- "XUA",
- "XXX",
- "YDD",
- "YER",
- "YUD",
- "YUM",
- "YUN",
- "ZAL",
- "ZAR",
- "ZMK",
- "ZMW",
- "ZRN",
- "ZRZ",
- "ZWC",
- "ZWD",
- "ZWL",
- "ZWN",
- "ZWR",
- "bit",
- "byte",
- "gigabit",
- "gigabyte",
- "kilobit",
- "kilobyte",
- "megabit",
- "megabyte",
- "petabyte",
- "terabit",
- "terabyte",
- "century",
- "day",
- "hour",
- "microsecond",
- "millisecond",
- "minute",
- "month",
- "nanosecond",
- "second",
- "week",
- "year",
- "ampere",
- "milliampere",
- "ohm",
- "volt",
- "calorie",
- "foodcalorie",
- "joule",
- "kilocalorie",
- "kilojoule",
- "kilowatt-hour",
- "gigahertz",
- "hertz",
- "kilohertz",
- "megahertz",
- "astronomical-unit",
- "centimeter",
- "decimeter",
- "fathom",
- "foot",
- "furlong",
- "inch",
- "kilometer",
- "light-year",
- "meter",
- "micrometer",
- "mile",
- "mile-scandinavian",
- "millimeter",
- "nanometer",
- "nautical-mile",
- "parsec",
- "picometer",
- "point",
- "yard",
- "lux",
- "carat",
- "gram",
- "kilogram",
- "metric-ton",
- "microgram",
- "milligram",
- "ounce",
- "ounce-troy",
- "pound",
- "stone",
- "ton",
- "base",
- "percent",
- "permille",
- "gigawatt",
- "horsepower",
- "kilowatt",
- "megawatt",
- "milliwatt",
- "watt",
- "atmosphere",
- "hectopascal",
- "inch-hg",
- "millibar",
- "millimeter-of-mercury",
- "pound-per-square-inch",
- "kilometer-per-hour",
- "knot",
- "meter-per-second",
- "mile-per-hour",
- "celsius",
- "fahrenheit",
- "generic",
- "kelvin",
- "acre-foot",
- "bushel",
- "centiliter",
- "cubic-centimeter",
- "cubic-foot",
- "cubic-inch",
- "cubic-kilometer",
- "cubic-meter",
- "cubic-mile",
- "cubic-yard",
- "cup",
- "cup-metric",
- "deciliter",
- "fluid-ounce",
- "gallon",
- "gallon-imperial",
- "hectoliter",
- "liter",
- "megaliter",
- "milliliter",
- "pint",
- "pint-metric",
- "quart",
- "tablespoon",
- "teaspoon"
-};
-
-// Must be sorted by first value and then second value.
-static int32_t unitPerUnitToSingleUnit[][4] = {
- {368, 338, 17, 0},
- {370, 344, 17, 2},
- {372, 338, 17, 3},
- {372, 430, 4, 2},
- {372, 431, 4, 3},
- {387, 428, 3, 1},
- {390, 11, 16, 5},
- {433, 368, 4, 1}
-};
-
-// Shortcuts to the base unit in order to make the default constructor fast
-static const int32_t kBaseTypeIdx = 14;
-static const int32_t kBaseSubTypeIdx = 0;
-
-MeasureUnit *MeasureUnit::createGForce(UErrorCode &status) {
- return MeasureUnit::create(0, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createMeterPerSecondSquared(UErrorCode &status) {
- return MeasureUnit::create(0, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createArcMinute(UErrorCode &status) {
- return MeasureUnit::create(1, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createArcSecond(UErrorCode &status) {
- return MeasureUnit::create(1, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createDegree(UErrorCode &status) {
- return MeasureUnit::create(1, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createRadian(UErrorCode &status) {
- return MeasureUnit::create(1, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createRevolutionAngle(UErrorCode &status) {
- return MeasureUnit::create(1, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createAcre(UErrorCode &status) {
- return MeasureUnit::create(2, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createHectare(UErrorCode &status) {
- return MeasureUnit::create(2, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createSquareCentimeter(UErrorCode &status) {
- return MeasureUnit::create(2, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createSquareFoot(UErrorCode &status) {
- return MeasureUnit::create(2, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createSquareInch(UErrorCode &status) {
- return MeasureUnit::create(2, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createSquareKilometer(UErrorCode &status) {
- return MeasureUnit::create(2, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createSquareMeter(UErrorCode &status) {
- return MeasureUnit::create(2, 6, status);
-}
-
-MeasureUnit *MeasureUnit::createSquareMile(UErrorCode &status) {
- return MeasureUnit::create(2, 7, status);
-}
-
-MeasureUnit *MeasureUnit::createSquareYard(UErrorCode &status) {
- return MeasureUnit::create(2, 8, status);
-}
-
-MeasureUnit *MeasureUnit::createKarat(UErrorCode &status) {
- return MeasureUnit::create(3, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createMilligramPerDeciliter(UErrorCode &status) {
- return MeasureUnit::create(3, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createMillimolePerLiter(UErrorCode &status) {
- return MeasureUnit::create(3, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createPartPerMillion(UErrorCode &status) {
- return MeasureUnit::create(3, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createPercent(UErrorCode &status) {
- return MeasureUnit::create(3, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createPermille(UErrorCode &status) {
- return MeasureUnit::create(3, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createLiterPer100Kilometers(UErrorCode &status) {
- return MeasureUnit::create(4, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createLiterPerKilometer(UErrorCode &status) {
- return MeasureUnit::create(4, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createMilePerGallon(UErrorCode &status) {
- return MeasureUnit::create(4, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createMilePerGallonImperial(UErrorCode &status) {
- return MeasureUnit::create(4, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createBit(UErrorCode &status) {
- return MeasureUnit::create(6, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createByte(UErrorCode &status) {
- return MeasureUnit::create(6, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createGigabit(UErrorCode &status) {
- return MeasureUnit::create(6, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createGigabyte(UErrorCode &status) {
- return MeasureUnit::create(6, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createKilobit(UErrorCode &status) {
- return MeasureUnit::create(6, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createKilobyte(UErrorCode &status) {
- return MeasureUnit::create(6, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createMegabit(UErrorCode &status) {
- return MeasureUnit::create(6, 6, status);
-}
-
-MeasureUnit *MeasureUnit::createMegabyte(UErrorCode &status) {
- return MeasureUnit::create(6, 7, status);
-}
-
-MeasureUnit *MeasureUnit::createPetabyte(UErrorCode &status) {
- return MeasureUnit::create(6, 8, status);
-}
-
-MeasureUnit *MeasureUnit::createTerabit(UErrorCode &status) {
- return MeasureUnit::create(6, 9, status);
-}
-
-MeasureUnit *MeasureUnit::createTerabyte(UErrorCode &status) {
- return MeasureUnit::create(6, 10, status);
-}
-
-MeasureUnit *MeasureUnit::createCentury(UErrorCode &status) {
- return MeasureUnit::create(7, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createDay(UErrorCode &status) {
- return MeasureUnit::create(7, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createHour(UErrorCode &status) {
- return MeasureUnit::create(7, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createMicrosecond(UErrorCode &status) {
- return MeasureUnit::create(7, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createMillisecond(UErrorCode &status) {
- return MeasureUnit::create(7, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createMinute(UErrorCode &status) {
- return MeasureUnit::create(7, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createMonth(UErrorCode &status) {
- return MeasureUnit::create(7, 6, status);
-}
-
-MeasureUnit *MeasureUnit::createNanosecond(UErrorCode &status) {
- return MeasureUnit::create(7, 7, status);
-}
-
-MeasureUnit *MeasureUnit::createSecond(UErrorCode &status) {
- return MeasureUnit::create(7, 8, status);
-}
-
-MeasureUnit *MeasureUnit::createWeek(UErrorCode &status) {
- return MeasureUnit::create(7, 9, status);
-}
-
-MeasureUnit *MeasureUnit::createYear(UErrorCode &status) {
- return MeasureUnit::create(7, 10, status);
-}
-
-MeasureUnit *MeasureUnit::createAmpere(UErrorCode &status) {
- return MeasureUnit::create(8, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createMilliampere(UErrorCode &status) {
- return MeasureUnit::create(8, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createOhm(UErrorCode &status) {
- return MeasureUnit::create(8, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createVolt(UErrorCode &status) {
- return MeasureUnit::create(8, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createCalorie(UErrorCode &status) {
- return MeasureUnit::create(9, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createFoodcalorie(UErrorCode &status) {
- return MeasureUnit::create(9, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createJoule(UErrorCode &status) {
- return MeasureUnit::create(9, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createKilocalorie(UErrorCode &status) {
- return MeasureUnit::create(9, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createKilojoule(UErrorCode &status) {
- return MeasureUnit::create(9, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createKilowattHour(UErrorCode &status) {
- return MeasureUnit::create(9, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createGigahertz(UErrorCode &status) {
- return MeasureUnit::create(10, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createHertz(UErrorCode &status) {
- return MeasureUnit::create(10, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createKilohertz(UErrorCode &status) {
- return MeasureUnit::create(10, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createMegahertz(UErrorCode &status) {
- return MeasureUnit::create(10, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createAstronomicalUnit(UErrorCode &status) {
- return MeasureUnit::create(11, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createCentimeter(UErrorCode &status) {
- return MeasureUnit::create(11, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createDecimeter(UErrorCode &status) {
- return MeasureUnit::create(11, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createFathom(UErrorCode &status) {
- return MeasureUnit::create(11, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createFoot(UErrorCode &status) {
- return MeasureUnit::create(11, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createFurlong(UErrorCode &status) {
- return MeasureUnit::create(11, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createInch(UErrorCode &status) {
- return MeasureUnit::create(11, 6, status);
-}
-
-MeasureUnit *MeasureUnit::createKilometer(UErrorCode &status) {
- return MeasureUnit::create(11, 7, status);
-}
-
-MeasureUnit *MeasureUnit::createLightYear(UErrorCode &status) {
- return MeasureUnit::create(11, 8, status);
-}
-
-MeasureUnit *MeasureUnit::createMeter(UErrorCode &status) {
- return MeasureUnit::create(11, 9, status);
-}
-
-MeasureUnit *MeasureUnit::createMicrometer(UErrorCode &status) {
- return MeasureUnit::create(11, 10, status);
-}
-
-MeasureUnit *MeasureUnit::createMile(UErrorCode &status) {
- return MeasureUnit::create(11, 11, status);
-}
-
-MeasureUnit *MeasureUnit::createMileScandinavian(UErrorCode &status) {
- return MeasureUnit::create(11, 12, status);
-}
-
-MeasureUnit *MeasureUnit::createMillimeter(UErrorCode &status) {
- return MeasureUnit::create(11, 13, status);
-}
-
-MeasureUnit *MeasureUnit::createNanometer(UErrorCode &status) {
- return MeasureUnit::create(11, 14, status);
-}
-
-MeasureUnit *MeasureUnit::createNauticalMile(UErrorCode &status) {
- return MeasureUnit::create(11, 15, status);
-}
-
-MeasureUnit *MeasureUnit::createParsec(UErrorCode &status) {
- return MeasureUnit::create(11, 16, status);
-}
-
-MeasureUnit *MeasureUnit::createPicometer(UErrorCode &status) {
- return MeasureUnit::create(11, 17, status);
-}
-
-MeasureUnit *MeasureUnit::createPoint(UErrorCode &status) {
- return MeasureUnit::create(11, 18, status);
-}
-
-MeasureUnit *MeasureUnit::createYard(UErrorCode &status) {
- return MeasureUnit::create(11, 19, status);
-}
-
-MeasureUnit *MeasureUnit::createLux(UErrorCode &status) {
- return MeasureUnit::create(12, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createCarat(UErrorCode &status) {
- return MeasureUnit::create(13, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createGram(UErrorCode &status) {
- return MeasureUnit::create(13, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createKilogram(UErrorCode &status) {
- return MeasureUnit::create(13, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createMetricTon(UErrorCode &status) {
- return MeasureUnit::create(13, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createMicrogram(UErrorCode &status) {
- return MeasureUnit::create(13, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createMilligram(UErrorCode &status) {
- return MeasureUnit::create(13, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createOunce(UErrorCode &status) {
- return MeasureUnit::create(13, 6, status);
-}
-
-MeasureUnit *MeasureUnit::createOunceTroy(UErrorCode &status) {
- return MeasureUnit::create(13, 7, status);
-}
-
-MeasureUnit *MeasureUnit::createPound(UErrorCode &status) {
- return MeasureUnit::create(13, 8, status);
-}
-
-MeasureUnit *MeasureUnit::createStone(UErrorCode &status) {
- return MeasureUnit::create(13, 9, status);
-}
-
-MeasureUnit *MeasureUnit::createTon(UErrorCode &status) {
- return MeasureUnit::create(13, 10, status);
-}
-
-MeasureUnit *MeasureUnit::createGigawatt(UErrorCode &status) {
- return MeasureUnit::create(15, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createHorsepower(UErrorCode &status) {
- return MeasureUnit::create(15, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createKilowatt(UErrorCode &status) {
- return MeasureUnit::create(15, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createMegawatt(UErrorCode &status) {
- return MeasureUnit::create(15, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createMilliwatt(UErrorCode &status) {
- return MeasureUnit::create(15, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createWatt(UErrorCode &status) {
- return MeasureUnit::create(15, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createAtmosphere(UErrorCode &status) {
- return MeasureUnit::create(16, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createHectopascal(UErrorCode &status) {
- return MeasureUnit::create(16, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createInchHg(UErrorCode &status) {
- return MeasureUnit::create(16, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createMillibar(UErrorCode &status) {
- return MeasureUnit::create(16, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createMillimeterOfMercury(UErrorCode &status) {
- return MeasureUnit::create(16, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createPoundPerSquareInch(UErrorCode &status) {
- return MeasureUnit::create(16, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createKilometerPerHour(UErrorCode &status) {
- return MeasureUnit::create(17, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createKnot(UErrorCode &status) {
- return MeasureUnit::create(17, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createMeterPerSecond(UErrorCode &status) {
- return MeasureUnit::create(17, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createMilePerHour(UErrorCode &status) {
- return MeasureUnit::create(17, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createCelsius(UErrorCode &status) {
- return MeasureUnit::create(18, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createFahrenheit(UErrorCode &status) {
- return MeasureUnit::create(18, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createGenericTemperature(UErrorCode &status) {
- return MeasureUnit::create(18, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createKelvin(UErrorCode &status) {
- return MeasureUnit::create(18, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createAcreFoot(UErrorCode &status) {
- return MeasureUnit::create(19, 0, status);
-}
-
-MeasureUnit *MeasureUnit::createBushel(UErrorCode &status) {
- return MeasureUnit::create(19, 1, status);
-}
-
-MeasureUnit *MeasureUnit::createCentiliter(UErrorCode &status) {
- return MeasureUnit::create(19, 2, status);
-}
-
-MeasureUnit *MeasureUnit::createCubicCentimeter(UErrorCode &status) {
- return MeasureUnit::create(19, 3, status);
-}
-
-MeasureUnit *MeasureUnit::createCubicFoot(UErrorCode &status) {
- return MeasureUnit::create(19, 4, status);
-}
-
-MeasureUnit *MeasureUnit::createCubicInch(UErrorCode &status) {
- return MeasureUnit::create(19, 5, status);
-}
-
-MeasureUnit *MeasureUnit::createCubicKilometer(UErrorCode &status) {
- return MeasureUnit::create(19, 6, status);
-}
-
-MeasureUnit *MeasureUnit::createCubicMeter(UErrorCode &status) {
- return MeasureUnit::create(19, 7, status);
-}
-
-MeasureUnit *MeasureUnit::createCubicMile(UErrorCode &status) {
- return MeasureUnit::create(19, 8, status);
-}
-
-MeasureUnit *MeasureUnit::createCubicYard(UErrorCode &status) {
- return MeasureUnit::create(19, 9, status);
-}
-
-MeasureUnit *MeasureUnit::createCup(UErrorCode &status) {
- return MeasureUnit::create(19, 10, status);
-}
-
-MeasureUnit *MeasureUnit::createCupMetric(UErrorCode &status) {
- return MeasureUnit::create(19, 11, status);
-}
-
-MeasureUnit *MeasureUnit::createDeciliter(UErrorCode &status) {
- return MeasureUnit::create(19, 12, status);
-}
-
-MeasureUnit *MeasureUnit::createFluidOunce(UErrorCode &status) {
- return MeasureUnit::create(19, 13, status);
-}
-
-MeasureUnit *MeasureUnit::createGallon(UErrorCode &status) {
- return MeasureUnit::create(19, 14, status);
-}
-
-MeasureUnit *MeasureUnit::createGallonImperial(UErrorCode &status) {
- return MeasureUnit::create(19, 15, status);
-}
-
-MeasureUnit *MeasureUnit::createHectoliter(UErrorCode &status) {
- return MeasureUnit::create(19, 16, status);
-}
-
-MeasureUnit *MeasureUnit::createLiter(UErrorCode &status) {
- return MeasureUnit::create(19, 17, status);
-}
-
-MeasureUnit *MeasureUnit::createMegaliter(UErrorCode &status) {
- return MeasureUnit::create(19, 18, status);
-}
-
-MeasureUnit *MeasureUnit::createMilliliter(UErrorCode &status) {
- return MeasureUnit::create(19, 19, status);
-}
-
-MeasureUnit *MeasureUnit::createPint(UErrorCode &status) {
- return MeasureUnit::create(19, 20, status);
-}
-
-MeasureUnit *MeasureUnit::createPintMetric(UErrorCode &status) {
- return MeasureUnit::create(19, 21, status);
-}
-
-MeasureUnit *MeasureUnit::createQuart(UErrorCode &status) {
- return MeasureUnit::create(19, 22, status);
-}
-
-MeasureUnit *MeasureUnit::createTablespoon(UErrorCode &status) {
- return MeasureUnit::create(19, 23, status);
-}
-
-MeasureUnit *MeasureUnit::createTeaspoon(UErrorCode &status) {
- return MeasureUnit::create(19, 24, status);
-}
-
-// End generated code
-
-static int32_t binarySearch(
- const char * const * array, int32_t start, int32_t end, const char * key) {
- while (start < end) {
- int32_t mid = (start + end) / 2;
- int32_t cmp = uprv_strcmp(array[mid], key);
- if (cmp < 0) {
- start = mid + 1;
- continue;
- }
- if (cmp == 0) {
- return mid;
- }
- end = mid;
- }
- return -1;
-}
-
-MeasureUnit::MeasureUnit() {
- fCurrency[0] = 0;
- fTypeId = kBaseTypeIdx;
- fSubTypeId = kBaseSubTypeIdx;
-}
-
-MeasureUnit::MeasureUnit(const MeasureUnit &other)
- : fTypeId(other.fTypeId), fSubTypeId(other.fSubTypeId) {
- uprv_strcpy(fCurrency, other.fCurrency);
-}
-
-MeasureUnit &MeasureUnit::operator=(const MeasureUnit &other) {
- if (this == &other) {
- return *this;
- }
- fTypeId = other.fTypeId;
- fSubTypeId = other.fSubTypeId;
- uprv_strcpy(fCurrency, other.fCurrency);
- return *this;
-}
-
-UObject *MeasureUnit::clone() const {
- return new MeasureUnit(*this);
-}
-
-MeasureUnit::~MeasureUnit() {
-}
-
-const char *MeasureUnit::getType() const {
- return gTypes[fTypeId];
-}
-
-const char *MeasureUnit::getSubtype() const {
- return fCurrency[0] == 0 ? gSubTypes[getOffset()] : fCurrency;
-}
-
-UBool MeasureUnit::operator==(const UObject& other) const {
- if (this == &other) { // Same object, equal
- return TRUE;
- }
- if (typeid(*this) != typeid(other)) { // Different types, not equal
- return FALSE;
- }
- const MeasureUnit &rhs = static_cast<const MeasureUnit&>(other);
- return (
- fTypeId == rhs.fTypeId
- && fSubTypeId == rhs.fSubTypeId
- && uprv_strcmp(fCurrency, rhs.fCurrency) == 0);
-}
-
-int32_t MeasureUnit::getIndex() const {
- return gIndexes[fTypeId] + fSubTypeId;
-}
-
-int32_t MeasureUnit::getAvailable(
- MeasureUnit *dest,
- int32_t destCapacity,
- UErrorCode &errorCode) {
- if (U_FAILURE(errorCode)) {
- return 0;
- }
- if (destCapacity < UPRV_LENGTHOF(gSubTypes)) {
- errorCode = U_BUFFER_OVERFLOW_ERROR;
- return UPRV_LENGTHOF(gSubTypes);
- }
- int32_t idx = 0;
- for (int32_t typeIdx = 0; typeIdx < UPRV_LENGTHOF(gTypes); ++typeIdx) {
- int32_t len = gOffsets[typeIdx + 1] - gOffsets[typeIdx];
- for (int32_t subTypeIdx = 0; subTypeIdx < len; ++subTypeIdx) {
- dest[idx].setTo(typeIdx, subTypeIdx);
- ++idx;
- }
- }
- U_ASSERT(idx == UPRV_LENGTHOF(gSubTypes));
- return UPRV_LENGTHOF(gSubTypes);
-}
-
-int32_t MeasureUnit::getAvailable(
- const char *type,
- MeasureUnit *dest,
- int32_t destCapacity,
- UErrorCode &errorCode) {
- if (U_FAILURE(errorCode)) {
- return 0;
- }
- int32_t typeIdx = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), type);
- if (typeIdx == -1) {
- return 0;
- }
- int32_t len = gOffsets[typeIdx + 1] - gOffsets[typeIdx];
- if (destCapacity < len) {
- errorCode = U_BUFFER_OVERFLOW_ERROR;
- return len;
- }
- for (int subTypeIdx = 0; subTypeIdx < len; ++subTypeIdx) {
- dest[subTypeIdx].setTo(typeIdx, subTypeIdx);
- }
- return len;
-}
-
-StringEnumeration* MeasureUnit::getAvailableTypes(UErrorCode &errorCode) {
- UEnumeration *uenum = uenum_openCharStringsEnumeration(
- gTypes, UPRV_LENGTHOF(gTypes), &errorCode);
- if (U_FAILURE(errorCode)) {
- uenum_close(uenum);
- return NULL;
- }
- StringEnumeration *result = new UStringEnumeration(uenum);
- if (result == NULL) {
- errorCode = U_MEMORY_ALLOCATION_ERROR;
- uenum_close(uenum);
- return NULL;
- }
- return result;
-}
-
-int32_t MeasureUnit::getIndexCount() {
- return gIndexes[UPRV_LENGTHOF(gIndexes) - 1];
-}
-
-int32_t MeasureUnit::internalGetIndexForTypeAndSubtype(const char *type, const char *subtype) {
- int32_t t = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), type);
- if (t < 0) {
- return t;
- }
- int32_t st = binarySearch(gSubTypes, gOffsets[t], gOffsets[t + 1], subtype);
- if (st < 0) {
- return st;
- }
- return gIndexes[t] + st - gOffsets[t];
-}
-
-MeasureUnit MeasureUnit::resolveUnitPerUnit(
- const MeasureUnit &unit, const MeasureUnit &perUnit, bool* isResolved) {
- int32_t unitOffset = unit.getOffset();
- int32_t perUnitOffset = perUnit.getOffset();
-
- // binary search for (unitOffset, perUnitOffset)
- int32_t start = 0;
- int32_t end = UPRV_LENGTHOF(unitPerUnitToSingleUnit);
- while (start < end) {
- int32_t mid = (start + end) / 2;
- int32_t *midRow = unitPerUnitToSingleUnit[mid];
- if (unitOffset < midRow[0]) {
- end = mid;
- } else if (unitOffset > midRow[0]) {
- start = mid + 1;
- } else if (perUnitOffset < midRow[1]) {
- end = mid;
- } else if (perUnitOffset > midRow[1]) {
- start = mid + 1;
- } else {
- // We found a resolution for our unit / per-unit combo
- // return it.
- *isResolved = true;
- return MeasureUnit(midRow[2], midRow[3]);
- }
- }
-
- *isResolved = false;
- return MeasureUnit();
-}
-
-MeasureUnit *MeasureUnit::create(int typeId, int subTypeId, UErrorCode &status) {
- if (U_FAILURE(status)) {
- return NULL;
- }
- MeasureUnit *result = new MeasureUnit(typeId, subTypeId);
- if (result == NULL) {
- status = U_MEMORY_ALLOCATION_ERROR;
- }
- return result;
-}
-
-void MeasureUnit::initTime(const char *timeId) {
- int32_t result = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), "duration");
- U_ASSERT(result != -1);
- fTypeId = result;
- result = binarySearch(gSubTypes, gOffsets[fTypeId], gOffsets[fTypeId + 1], timeId);
- U_ASSERT(result != -1);
- fSubTypeId = result - gOffsets[fTypeId];
-}
-
-void MeasureUnit::initCurrency(const char *isoCurrency) {
- int32_t result = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), "currency");
- U_ASSERT(result != -1);
- fTypeId = result;
- result = binarySearch(
- gSubTypes, gOffsets[fTypeId], gOffsets[fTypeId + 1], isoCurrency);
- if (result != -1) {
- fSubTypeId = result - gOffsets[fTypeId];
- } else {
- uprv_strncpy(fCurrency, isoCurrency, UPRV_LENGTHOF(fCurrency));
- fCurrency[3] = 0;
- }
-}
-
-void MeasureUnit::initNoUnit(const char *subtype) {
- int32_t result = binarySearch(gTypes, 0, UPRV_LENGTHOF(gTypes), "none");
- U_ASSERT(result != -1);
- fTypeId = result;
- result = binarySearch(gSubTypes, gOffsets[fTypeId], gOffsets[fTypeId + 1], subtype);
- U_ASSERT(result != -1);
- fSubTypeId = result - gOffsets[fTypeId];
-}
-
-void MeasureUnit::setTo(int32_t typeId, int32_t subTypeId) {
- fTypeId = typeId;
- fSubTypeId = subTypeId;
- fCurrency[0] = 0;
-}
-
-int32_t MeasureUnit::getOffset() const {
- return gOffsets[fTypeId] + fSubTypeId;
-}
-
-U_NAMESPACE_END
-
-#endif /* !UNCONFIG_NO_FORMATTING */