123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391 |
- // © 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 "unicode/errorcode.h"
- #include "ustrenum.h"
- #include "cstring.h"
- #include "uassert.h"
- #include "measunit_impl.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:
- // https://icu.unicode.org/design/formatting/measureformat/updating-measure-unit
- //
- // Start generated code for measunit.cpp
- // Maps from Type ID to offset in gSubTypes.
- static const int32_t gOffsets[] = {
- 0,
- 2,
- 7,
- 17,
- 27,
- 31,
- 332,
- 343,
- 360,
- 364,
- 373,
- 376,
- 380,
- 388,
- 410,
- 414,
- 429,
- 430,
- 436,
- 446,
- 451,
- 455,
- 457,
- 491
- };
- static const int32_t kCurrencyOffset = 5;
- // Must be sorted alphabetically.
- static const char * const gTypes[] = {
- "acceleration",
- "angle",
- "area",
- "concentr",
- "consumption",
- "currency",
- "digital",
- "duration",
- "electric",
- "energy",
- "force",
- "frequency",
- "graphics",
- "length",
- "light",
- "mass",
- "none",
- "power",
- "pressure",
- "speed",
- "temperature",
- "torque",
- "volume"
- };
- // Must be grouped by type and sorted alphabetically within each type.
- static const char * const gSubTypes[] = {
- "g-force",
- "meter-per-square-second",
- "arc-minute",
- "arc-second",
- "degree",
- "radian",
- "revolution",
- "acre",
- "dunam",
- "hectare",
- "square-centimeter",
- "square-foot",
- "square-inch",
- "square-kilometer",
- "square-meter",
- "square-mile",
- "square-yard",
- "item",
- "karat",
- "milligram-ofglucose-per-deciliter",
- "milligram-per-deciliter",
- "millimole-per-liter",
- "mole",
- "percent",
- "permille",
- "permillion",
- "permyriad",
- "liter-per-100-kilometer",
- "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",
- "SLE",
- "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",
- "VED",
- "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",
- "day-person",
- "decade",
- "hour",
- "microsecond",
- "millisecond",
- "minute",
- "month",
- "month-person",
- "nanosecond",
- "quarter",
- "second",
- "week",
- "week-person",
- "year",
- "year-person",
- "ampere",
- "milliampere",
- "ohm",
- "volt",
- "british-thermal-unit",
- "calorie",
- "electronvolt",
- "foodcalorie",
- "joule",
- "kilocalorie",
- "kilojoule",
- "kilowatt-hour",
- "therm-us",
- "kilowatt-hour-per-100-kilometer",
- "newton",
- "pound-force",
- "gigahertz",
- "hertz",
- "kilohertz",
- "megahertz",
- "dot",
- "dot-per-centimeter",
- "dot-per-inch",
- "em",
- "megapixel",
- "pixel",
- "pixel-per-centimeter",
- "pixel-per-inch",
- "astronomical-unit",
- "centimeter",
- "decimeter",
- "earth-radius",
- "fathom",
- "foot",
- "furlong",
- "inch",
- "kilometer",
- "light-year",
- "meter",
- "micrometer",
- "mile",
- "mile-scandinavian",
- "millimeter",
- "nanometer",
- "nautical-mile",
- "parsec",
- "picometer",
- "point",
- "solar-radius",
- "yard",
- "candela",
- "lumen",
- "lux",
- "solar-luminosity",
- "carat",
- "dalton",
- "earth-mass",
- "grain",
- "gram",
- "kilogram",
- "microgram",
- "milligram",
- "ounce",
- "ounce-troy",
- "pound",
- "solar-mass",
- "stone",
- "ton",
- "tonne",
- "",
- "gigawatt",
- "horsepower",
- "kilowatt",
- "megawatt",
- "milliwatt",
- "watt",
- "atmosphere",
- "bar",
- "hectopascal",
- "inch-ofhg",
- "kilopascal",
- "megapascal",
- "millibar",
- "millimeter-ofhg",
- "pascal",
- "pound-force-per-square-inch",
- "beaufort",
- "kilometer-per-hour",
- "knot",
- "meter-per-second",
- "mile-per-hour",
- "celsius",
- "fahrenheit",
- "generic",
- "kelvin",
- "newton-meter",
- "pound-force-foot",
- "acre-foot",
- "barrel",
- "bushel",
- "centiliter",
- "cubic-centimeter",
- "cubic-foot",
- "cubic-inch",
- "cubic-kilometer",
- "cubic-meter",
- "cubic-mile",
- "cubic-yard",
- "cup",
- "cup-metric",
- "deciliter",
- "dessert-spoon",
- "dessert-spoon-imperial",
- "dram",
- "drop",
- "fluid-ounce",
- "fluid-ounce-imperial",
- "gallon",
- "gallon-imperial",
- "hectoliter",
- "jigger",
- "liter",
- "megaliter",
- "milliliter",
- "pinch",
- "pint",
- "pint-metric",
- "quart",
- "quart-imperial",
- "tablespoon",
- "teaspoon"
- };
- // Shortcuts to the base unit in order to make the default constructor fast
- static const int32_t kBaseTypeIdx = 16;
- static const int32_t kBaseSubTypeIdx = 0;
- MeasureUnit *MeasureUnit::createGForce(UErrorCode &status) {
- return MeasureUnit::create(0, 0, status);
- }
- MeasureUnit MeasureUnit::getGForce() {
- return MeasureUnit(0, 0);
- }
- MeasureUnit *MeasureUnit::createMeterPerSecondSquared(UErrorCode &status) {
- return MeasureUnit::create(0, 1, status);
- }
- MeasureUnit MeasureUnit::getMeterPerSecondSquared() {
- return MeasureUnit(0, 1);
- }
- MeasureUnit *MeasureUnit::createArcMinute(UErrorCode &status) {
- return MeasureUnit::create(1, 0, status);
- }
- MeasureUnit MeasureUnit::getArcMinute() {
- return MeasureUnit(1, 0);
- }
- MeasureUnit *MeasureUnit::createArcSecond(UErrorCode &status) {
- return MeasureUnit::create(1, 1, status);
- }
- MeasureUnit MeasureUnit::getArcSecond() {
- return MeasureUnit(1, 1);
- }
- MeasureUnit *MeasureUnit::createDegree(UErrorCode &status) {
- return MeasureUnit::create(1, 2, status);
- }
- MeasureUnit MeasureUnit::getDegree() {
- return MeasureUnit(1, 2);
- }
- MeasureUnit *MeasureUnit::createRadian(UErrorCode &status) {
- return MeasureUnit::create(1, 3, status);
- }
- MeasureUnit MeasureUnit::getRadian() {
- return MeasureUnit(1, 3);
- }
- MeasureUnit *MeasureUnit::createRevolutionAngle(UErrorCode &status) {
- return MeasureUnit::create(1, 4, status);
- }
- MeasureUnit MeasureUnit::getRevolutionAngle() {
- return MeasureUnit(1, 4);
- }
- MeasureUnit *MeasureUnit::createAcre(UErrorCode &status) {
- return MeasureUnit::create(2, 0, status);
- }
- MeasureUnit MeasureUnit::getAcre() {
- return MeasureUnit(2, 0);
- }
- MeasureUnit *MeasureUnit::createDunam(UErrorCode &status) {
- return MeasureUnit::create(2, 1, status);
- }
- MeasureUnit MeasureUnit::getDunam() {
- return MeasureUnit(2, 1);
- }
- MeasureUnit *MeasureUnit::createHectare(UErrorCode &status) {
- return MeasureUnit::create(2, 2, status);
- }
- MeasureUnit MeasureUnit::getHectare() {
- return MeasureUnit(2, 2);
- }
- MeasureUnit *MeasureUnit::createSquareCentimeter(UErrorCode &status) {
- return MeasureUnit::create(2, 3, status);
- }
- MeasureUnit MeasureUnit::getSquareCentimeter() {
- return MeasureUnit(2, 3);
- }
- MeasureUnit *MeasureUnit::createSquareFoot(UErrorCode &status) {
- return MeasureUnit::create(2, 4, status);
- }
- MeasureUnit MeasureUnit::getSquareFoot() {
- return MeasureUnit(2, 4);
- }
- MeasureUnit *MeasureUnit::createSquareInch(UErrorCode &status) {
- return MeasureUnit::create(2, 5, status);
- }
- MeasureUnit MeasureUnit::getSquareInch() {
- return MeasureUnit(2, 5);
- }
- MeasureUnit *MeasureUnit::createSquareKilometer(UErrorCode &status) {
- return MeasureUnit::create(2, 6, status);
- }
- MeasureUnit MeasureUnit::getSquareKilometer() {
- return MeasureUnit(2, 6);
- }
- MeasureUnit *MeasureUnit::createSquareMeter(UErrorCode &status) {
- return MeasureUnit::create(2, 7, status);
- }
- MeasureUnit MeasureUnit::getSquareMeter() {
- return MeasureUnit(2, 7);
- }
- MeasureUnit *MeasureUnit::createSquareMile(UErrorCode &status) {
- return MeasureUnit::create(2, 8, status);
- }
- MeasureUnit MeasureUnit::getSquareMile() {
- return MeasureUnit(2, 8);
- }
- MeasureUnit *MeasureUnit::createSquareYard(UErrorCode &status) {
- return MeasureUnit::create(2, 9, status);
- }
- MeasureUnit MeasureUnit::getSquareYard() {
- return MeasureUnit(2, 9);
- }
- MeasureUnit *MeasureUnit::createItem(UErrorCode &status) {
- return MeasureUnit::create(3, 0, status);
- }
- MeasureUnit MeasureUnit::getItem() {
- return MeasureUnit(3, 0);
- }
- MeasureUnit *MeasureUnit::createKarat(UErrorCode &status) {
- return MeasureUnit::create(3, 1, status);
- }
- MeasureUnit MeasureUnit::getKarat() {
- return MeasureUnit(3, 1);
- }
- MeasureUnit *MeasureUnit::createMilligramOfglucosePerDeciliter(UErrorCode &status) {
- return MeasureUnit::create(3, 2, status);
- }
- MeasureUnit MeasureUnit::getMilligramOfglucosePerDeciliter() {
- return MeasureUnit(3, 2);
- }
- MeasureUnit *MeasureUnit::createMilligramPerDeciliter(UErrorCode &status) {
- return MeasureUnit::create(3, 3, status);
- }
- MeasureUnit MeasureUnit::getMilligramPerDeciliter() {
- return MeasureUnit(3, 3);
- }
- MeasureUnit *MeasureUnit::createMillimolePerLiter(UErrorCode &status) {
- return MeasureUnit::create(3, 4, status);
- }
- MeasureUnit MeasureUnit::getMillimolePerLiter() {
- return MeasureUnit(3, 4);
- }
- MeasureUnit *MeasureUnit::createMole(UErrorCode &status) {
- return MeasureUnit::create(3, 5, status);
- }
- MeasureUnit MeasureUnit::getMole() {
- return MeasureUnit(3, 5);
- }
- MeasureUnit *MeasureUnit::createPercent(UErrorCode &status) {
- return MeasureUnit::create(3, 6, status);
- }
- MeasureUnit MeasureUnit::getPercent() {
- return MeasureUnit(3, 6);
- }
- MeasureUnit *MeasureUnit::createPermille(UErrorCode &status) {
- return MeasureUnit::create(3, 7, status);
- }
- MeasureUnit MeasureUnit::getPermille() {
- return MeasureUnit(3, 7);
- }
- MeasureUnit *MeasureUnit::createPartPerMillion(UErrorCode &status) {
- return MeasureUnit::create(3, 8, status);
- }
- MeasureUnit MeasureUnit::getPartPerMillion() {
- return MeasureUnit(3, 8);
- }
- MeasureUnit *MeasureUnit::createPermyriad(UErrorCode &status) {
- return MeasureUnit::create(3, 9, status);
- }
- MeasureUnit MeasureUnit::getPermyriad() {
- return MeasureUnit(3, 9);
- }
- MeasureUnit *MeasureUnit::createLiterPer100Kilometers(UErrorCode &status) {
- return MeasureUnit::create(4, 0, status);
- }
- MeasureUnit MeasureUnit::getLiterPer100Kilometers() {
- return MeasureUnit(4, 0);
- }
- MeasureUnit *MeasureUnit::createLiterPerKilometer(UErrorCode &status) {
- return MeasureUnit::create(4, 1, status);
- }
- MeasureUnit MeasureUnit::getLiterPerKilometer() {
- return MeasureUnit(4, 1);
- }
- MeasureUnit *MeasureUnit::createMilePerGallon(UErrorCode &status) {
- return MeasureUnit::create(4, 2, status);
- }
- MeasureUnit MeasureUnit::getMilePerGallon() {
- return MeasureUnit(4, 2);
- }
- MeasureUnit *MeasureUnit::createMilePerGallonImperial(UErrorCode &status) {
- return MeasureUnit::create(4, 3, status);
- }
- MeasureUnit MeasureUnit::getMilePerGallonImperial() {
- return MeasureUnit(4, 3);
- }
- MeasureUnit *MeasureUnit::createBit(UErrorCode &status) {
- return MeasureUnit::create(6, 0, status);
- }
- MeasureUnit MeasureUnit::getBit() {
- return MeasureUnit(6, 0);
- }
- MeasureUnit *MeasureUnit::createByte(UErrorCode &status) {
- return MeasureUnit::create(6, 1, status);
- }
- MeasureUnit MeasureUnit::getByte() {
- return MeasureUnit(6, 1);
- }
- MeasureUnit *MeasureUnit::createGigabit(UErrorCode &status) {
- return MeasureUnit::create(6, 2, status);
- }
- MeasureUnit MeasureUnit::getGigabit() {
- return MeasureUnit(6, 2);
- }
- MeasureUnit *MeasureUnit::createGigabyte(UErrorCode &status) {
- return MeasureUnit::create(6, 3, status);
- }
- MeasureUnit MeasureUnit::getGigabyte() {
- return MeasureUnit(6, 3);
- }
- MeasureUnit *MeasureUnit::createKilobit(UErrorCode &status) {
- return MeasureUnit::create(6, 4, status);
- }
- MeasureUnit MeasureUnit::getKilobit() {
- return MeasureUnit(6, 4);
- }
- MeasureUnit *MeasureUnit::createKilobyte(UErrorCode &status) {
- return MeasureUnit::create(6, 5, status);
- }
- MeasureUnit MeasureUnit::getKilobyte() {
- return MeasureUnit(6, 5);
- }
- MeasureUnit *MeasureUnit::createMegabit(UErrorCode &status) {
- return MeasureUnit::create(6, 6, status);
- }
- MeasureUnit MeasureUnit::getMegabit() {
- return MeasureUnit(6, 6);
- }
- MeasureUnit *MeasureUnit::createMegabyte(UErrorCode &status) {
- return MeasureUnit::create(6, 7, status);
- }
- MeasureUnit MeasureUnit::getMegabyte() {
- return MeasureUnit(6, 7);
- }
- MeasureUnit *MeasureUnit::createPetabyte(UErrorCode &status) {
- return MeasureUnit::create(6, 8, status);
- }
- MeasureUnit MeasureUnit::getPetabyte() {
- return MeasureUnit(6, 8);
- }
- MeasureUnit *MeasureUnit::createTerabit(UErrorCode &status) {
- return MeasureUnit::create(6, 9, status);
- }
- MeasureUnit MeasureUnit::getTerabit() {
- return MeasureUnit(6, 9);
- }
- MeasureUnit *MeasureUnit::createTerabyte(UErrorCode &status) {
- return MeasureUnit::create(6, 10, status);
- }
- MeasureUnit MeasureUnit::getTerabyte() {
- return MeasureUnit(6, 10);
- }
- MeasureUnit *MeasureUnit::createCentury(UErrorCode &status) {
- return MeasureUnit::create(7, 0, status);
- }
- MeasureUnit MeasureUnit::getCentury() {
- return MeasureUnit(7, 0);
- }
- MeasureUnit *MeasureUnit::createDay(UErrorCode &status) {
- return MeasureUnit::create(7, 1, status);
- }
- MeasureUnit MeasureUnit::getDay() {
- return MeasureUnit(7, 1);
- }
- MeasureUnit *MeasureUnit::createDayPerson(UErrorCode &status) {
- return MeasureUnit::create(7, 2, status);
- }
- MeasureUnit MeasureUnit::getDayPerson() {
- return MeasureUnit(7, 2);
- }
- MeasureUnit *MeasureUnit::createDecade(UErrorCode &status) {
- return MeasureUnit::create(7, 3, status);
- }
- MeasureUnit MeasureUnit::getDecade() {
- return MeasureUnit(7, 3);
- }
- MeasureUnit *MeasureUnit::createHour(UErrorCode &status) {
- return MeasureUnit::create(7, 4, status);
- }
- MeasureUnit MeasureUnit::getHour() {
- return MeasureUnit(7, 4);
- }
- MeasureUnit *MeasureUnit::createMicrosecond(UErrorCode &status) {
- return MeasureUnit::create(7, 5, status);
- }
- MeasureUnit MeasureUnit::getMicrosecond() {
- return MeasureUnit(7, 5);
- }
- MeasureUnit *MeasureUnit::createMillisecond(UErrorCode &status) {
- return MeasureUnit::create(7, 6, status);
- }
- MeasureUnit MeasureUnit::getMillisecond() {
- return MeasureUnit(7, 6);
- }
- MeasureUnit *MeasureUnit::createMinute(UErrorCode &status) {
- return MeasureUnit::create(7, 7, status);
- }
- MeasureUnit MeasureUnit::getMinute() {
- return MeasureUnit(7, 7);
- }
- MeasureUnit *MeasureUnit::createMonth(UErrorCode &status) {
- return MeasureUnit::create(7, 8, status);
- }
- MeasureUnit MeasureUnit::getMonth() {
- return MeasureUnit(7, 8);
- }
- MeasureUnit *MeasureUnit::createMonthPerson(UErrorCode &status) {
- return MeasureUnit::create(7, 9, status);
- }
- MeasureUnit MeasureUnit::getMonthPerson() {
- return MeasureUnit(7, 9);
- }
- MeasureUnit *MeasureUnit::createNanosecond(UErrorCode &status) {
- return MeasureUnit::create(7, 10, status);
- }
- MeasureUnit MeasureUnit::getNanosecond() {
- return MeasureUnit(7, 10);
- }
- MeasureUnit *MeasureUnit::createQuarter(UErrorCode &status) {
- return MeasureUnit::create(7, 11, status);
- }
- MeasureUnit MeasureUnit::getQuarter() {
- return MeasureUnit(7, 11);
- }
- MeasureUnit *MeasureUnit::createSecond(UErrorCode &status) {
- return MeasureUnit::create(7, 12, status);
- }
- MeasureUnit MeasureUnit::getSecond() {
- return MeasureUnit(7, 12);
- }
- MeasureUnit *MeasureUnit::createWeek(UErrorCode &status) {
- return MeasureUnit::create(7, 13, status);
- }
- MeasureUnit MeasureUnit::getWeek() {
- return MeasureUnit(7, 13);
- }
- MeasureUnit *MeasureUnit::createWeekPerson(UErrorCode &status) {
- return MeasureUnit::create(7, 14, status);
- }
- MeasureUnit MeasureUnit::getWeekPerson() {
- return MeasureUnit(7, 14);
- }
- MeasureUnit *MeasureUnit::createYear(UErrorCode &status) {
- return MeasureUnit::create(7, 15, status);
- }
- MeasureUnit MeasureUnit::getYear() {
- return MeasureUnit(7, 15);
- }
- MeasureUnit *MeasureUnit::createYearPerson(UErrorCode &status) {
- return MeasureUnit::create(7, 16, status);
- }
- MeasureUnit MeasureUnit::getYearPerson() {
- return MeasureUnit(7, 16);
- }
- MeasureUnit *MeasureUnit::createAmpere(UErrorCode &status) {
- return MeasureUnit::create(8, 0, status);
- }
- MeasureUnit MeasureUnit::getAmpere() {
- return MeasureUnit(8, 0);
- }
- MeasureUnit *MeasureUnit::createMilliampere(UErrorCode &status) {
- return MeasureUnit::create(8, 1, status);
- }
- MeasureUnit MeasureUnit::getMilliampere() {
- return MeasureUnit(8, 1);
- }
- MeasureUnit *MeasureUnit::createOhm(UErrorCode &status) {
- return MeasureUnit::create(8, 2, status);
- }
- MeasureUnit MeasureUnit::getOhm() {
- return MeasureUnit(8, 2);
- }
- MeasureUnit *MeasureUnit::createVolt(UErrorCode &status) {
- return MeasureUnit::create(8, 3, status);
- }
- MeasureUnit MeasureUnit::getVolt() {
- return MeasureUnit(8, 3);
- }
- MeasureUnit *MeasureUnit::createBritishThermalUnit(UErrorCode &status) {
- return MeasureUnit::create(9, 0, status);
- }
- MeasureUnit MeasureUnit::getBritishThermalUnit() {
- return MeasureUnit(9, 0);
- }
- MeasureUnit *MeasureUnit::createCalorie(UErrorCode &status) {
- return MeasureUnit::create(9, 1, status);
- }
- MeasureUnit MeasureUnit::getCalorie() {
- return MeasureUnit(9, 1);
- }
- MeasureUnit *MeasureUnit::createElectronvolt(UErrorCode &status) {
- return MeasureUnit::create(9, 2, status);
- }
- MeasureUnit MeasureUnit::getElectronvolt() {
- return MeasureUnit(9, 2);
- }
- MeasureUnit *MeasureUnit::createFoodcalorie(UErrorCode &status) {
- return MeasureUnit::create(9, 3, status);
- }
- MeasureUnit MeasureUnit::getFoodcalorie() {
- return MeasureUnit(9, 3);
- }
- MeasureUnit *MeasureUnit::createJoule(UErrorCode &status) {
- return MeasureUnit::create(9, 4, status);
- }
- MeasureUnit MeasureUnit::getJoule() {
- return MeasureUnit(9, 4);
- }
- MeasureUnit *MeasureUnit::createKilocalorie(UErrorCode &status) {
- return MeasureUnit::create(9, 5, status);
- }
- MeasureUnit MeasureUnit::getKilocalorie() {
- return MeasureUnit(9, 5);
- }
- MeasureUnit *MeasureUnit::createKilojoule(UErrorCode &status) {
- return MeasureUnit::create(9, 6, status);
- }
- MeasureUnit MeasureUnit::getKilojoule() {
- return MeasureUnit(9, 6);
- }
- MeasureUnit *MeasureUnit::createKilowattHour(UErrorCode &status) {
- return MeasureUnit::create(9, 7, status);
- }
- MeasureUnit MeasureUnit::getKilowattHour() {
- return MeasureUnit(9, 7);
- }
- MeasureUnit *MeasureUnit::createThermUs(UErrorCode &status) {
- return MeasureUnit::create(9, 8, status);
- }
- MeasureUnit MeasureUnit::getThermUs() {
- return MeasureUnit(9, 8);
- }
- MeasureUnit *MeasureUnit::createKilowattHourPer100Kilometer(UErrorCode &status) {
- return MeasureUnit::create(10, 0, status);
- }
- MeasureUnit MeasureUnit::getKilowattHourPer100Kilometer() {
- return MeasureUnit(10, 0);
- }
- MeasureUnit *MeasureUnit::createNewton(UErrorCode &status) {
- return MeasureUnit::create(10, 1, status);
- }
- MeasureUnit MeasureUnit::getNewton() {
- return MeasureUnit(10, 1);
- }
- MeasureUnit *MeasureUnit::createPoundForce(UErrorCode &status) {
- return MeasureUnit::create(10, 2, status);
- }
- MeasureUnit MeasureUnit::getPoundForce() {
- return MeasureUnit(10, 2);
- }
- MeasureUnit *MeasureUnit::createGigahertz(UErrorCode &status) {
- return MeasureUnit::create(11, 0, status);
- }
- MeasureUnit MeasureUnit::getGigahertz() {
- return MeasureUnit(11, 0);
- }
- MeasureUnit *MeasureUnit::createHertz(UErrorCode &status) {
- return MeasureUnit::create(11, 1, status);
- }
- MeasureUnit MeasureUnit::getHertz() {
- return MeasureUnit(11, 1);
- }
- MeasureUnit *MeasureUnit::createKilohertz(UErrorCode &status) {
- return MeasureUnit::create(11, 2, status);
- }
- MeasureUnit MeasureUnit::getKilohertz() {
- return MeasureUnit(11, 2);
- }
- MeasureUnit *MeasureUnit::createMegahertz(UErrorCode &status) {
- return MeasureUnit::create(11, 3, status);
- }
- MeasureUnit MeasureUnit::getMegahertz() {
- return MeasureUnit(11, 3);
- }
- MeasureUnit *MeasureUnit::createDot(UErrorCode &status) {
- return MeasureUnit::create(12, 0, status);
- }
- MeasureUnit MeasureUnit::getDot() {
- return MeasureUnit(12, 0);
- }
- MeasureUnit *MeasureUnit::createDotPerCentimeter(UErrorCode &status) {
- return MeasureUnit::create(12, 1, status);
- }
- MeasureUnit MeasureUnit::getDotPerCentimeter() {
- return MeasureUnit(12, 1);
- }
- MeasureUnit *MeasureUnit::createDotPerInch(UErrorCode &status) {
- return MeasureUnit::create(12, 2, status);
- }
- MeasureUnit MeasureUnit::getDotPerInch() {
- return MeasureUnit(12, 2);
- }
- MeasureUnit *MeasureUnit::createEm(UErrorCode &status) {
- return MeasureUnit::create(12, 3, status);
- }
- MeasureUnit MeasureUnit::getEm() {
- return MeasureUnit(12, 3);
- }
- MeasureUnit *MeasureUnit::createMegapixel(UErrorCode &status) {
- return MeasureUnit::create(12, 4, status);
- }
- MeasureUnit MeasureUnit::getMegapixel() {
- return MeasureUnit(12, 4);
- }
- MeasureUnit *MeasureUnit::createPixel(UErrorCode &status) {
- return MeasureUnit::create(12, 5, status);
- }
- MeasureUnit MeasureUnit::getPixel() {
- return MeasureUnit(12, 5);
- }
- MeasureUnit *MeasureUnit::createPixelPerCentimeter(UErrorCode &status) {
- return MeasureUnit::create(12, 6, status);
- }
- MeasureUnit MeasureUnit::getPixelPerCentimeter() {
- return MeasureUnit(12, 6);
- }
- MeasureUnit *MeasureUnit::createPixelPerInch(UErrorCode &status) {
- return MeasureUnit::create(12, 7, status);
- }
- MeasureUnit MeasureUnit::getPixelPerInch() {
- return MeasureUnit(12, 7);
- }
- MeasureUnit *MeasureUnit::createAstronomicalUnit(UErrorCode &status) {
- return MeasureUnit::create(13, 0, status);
- }
- MeasureUnit MeasureUnit::getAstronomicalUnit() {
- return MeasureUnit(13, 0);
- }
- MeasureUnit *MeasureUnit::createCentimeter(UErrorCode &status) {
- return MeasureUnit::create(13, 1, status);
- }
- MeasureUnit MeasureUnit::getCentimeter() {
- return MeasureUnit(13, 1);
- }
- MeasureUnit *MeasureUnit::createDecimeter(UErrorCode &status) {
- return MeasureUnit::create(13, 2, status);
- }
- MeasureUnit MeasureUnit::getDecimeter() {
- return MeasureUnit(13, 2);
- }
- MeasureUnit *MeasureUnit::createEarthRadius(UErrorCode &status) {
- return MeasureUnit::create(13, 3, status);
- }
- MeasureUnit MeasureUnit::getEarthRadius() {
- return MeasureUnit(13, 3);
- }
- MeasureUnit *MeasureUnit::createFathom(UErrorCode &status) {
- return MeasureUnit::create(13, 4, status);
- }
- MeasureUnit MeasureUnit::getFathom() {
- return MeasureUnit(13, 4);
- }
- MeasureUnit *MeasureUnit::createFoot(UErrorCode &status) {
- return MeasureUnit::create(13, 5, status);
- }
- MeasureUnit MeasureUnit::getFoot() {
- return MeasureUnit(13, 5);
- }
- MeasureUnit *MeasureUnit::createFurlong(UErrorCode &status) {
- return MeasureUnit::create(13, 6, status);
- }
- MeasureUnit MeasureUnit::getFurlong() {
- return MeasureUnit(13, 6);
- }
- MeasureUnit *MeasureUnit::createInch(UErrorCode &status) {
- return MeasureUnit::create(13, 7, status);
- }
- MeasureUnit MeasureUnit::getInch() {
- return MeasureUnit(13, 7);
- }
- MeasureUnit *MeasureUnit::createKilometer(UErrorCode &status) {
- return MeasureUnit::create(13, 8, status);
- }
- MeasureUnit MeasureUnit::getKilometer() {
- return MeasureUnit(13, 8);
- }
- MeasureUnit *MeasureUnit::createLightYear(UErrorCode &status) {
- return MeasureUnit::create(13, 9, status);
- }
- MeasureUnit MeasureUnit::getLightYear() {
- return MeasureUnit(13, 9);
- }
- MeasureUnit *MeasureUnit::createMeter(UErrorCode &status) {
- return MeasureUnit::create(13, 10, status);
- }
- MeasureUnit MeasureUnit::getMeter() {
- return MeasureUnit(13, 10);
- }
- MeasureUnit *MeasureUnit::createMicrometer(UErrorCode &status) {
- return MeasureUnit::create(13, 11, status);
- }
- MeasureUnit MeasureUnit::getMicrometer() {
- return MeasureUnit(13, 11);
- }
- MeasureUnit *MeasureUnit::createMile(UErrorCode &status) {
- return MeasureUnit::create(13, 12, status);
- }
- MeasureUnit MeasureUnit::getMile() {
- return MeasureUnit(13, 12);
- }
- MeasureUnit *MeasureUnit::createMileScandinavian(UErrorCode &status) {
- return MeasureUnit::create(13, 13, status);
- }
- MeasureUnit MeasureUnit::getMileScandinavian() {
- return MeasureUnit(13, 13);
- }
- MeasureUnit *MeasureUnit::createMillimeter(UErrorCode &status) {
- return MeasureUnit::create(13, 14, status);
- }
- MeasureUnit MeasureUnit::getMillimeter() {
- return MeasureUnit(13, 14);
- }
- MeasureUnit *MeasureUnit::createNanometer(UErrorCode &status) {
- return MeasureUnit::create(13, 15, status);
- }
- MeasureUnit MeasureUnit::getNanometer() {
- return MeasureUnit(13, 15);
- }
- MeasureUnit *MeasureUnit::createNauticalMile(UErrorCode &status) {
- return MeasureUnit::create(13, 16, status);
- }
- MeasureUnit MeasureUnit::getNauticalMile() {
- return MeasureUnit(13, 16);
- }
- MeasureUnit *MeasureUnit::createParsec(UErrorCode &status) {
- return MeasureUnit::create(13, 17, status);
- }
- MeasureUnit MeasureUnit::getParsec() {
- return MeasureUnit(13, 17);
- }
- MeasureUnit *MeasureUnit::createPicometer(UErrorCode &status) {
- return MeasureUnit::create(13, 18, status);
- }
- MeasureUnit MeasureUnit::getPicometer() {
- return MeasureUnit(13, 18);
- }
- MeasureUnit *MeasureUnit::createPoint(UErrorCode &status) {
- return MeasureUnit::create(13, 19, status);
- }
- MeasureUnit MeasureUnit::getPoint() {
- return MeasureUnit(13, 19);
- }
- MeasureUnit *MeasureUnit::createSolarRadius(UErrorCode &status) {
- return MeasureUnit::create(13, 20, status);
- }
- MeasureUnit MeasureUnit::getSolarRadius() {
- return MeasureUnit(13, 20);
- }
- MeasureUnit *MeasureUnit::createYard(UErrorCode &status) {
- return MeasureUnit::create(13, 21, status);
- }
- MeasureUnit MeasureUnit::getYard() {
- return MeasureUnit(13, 21);
- }
- MeasureUnit *MeasureUnit::createCandela(UErrorCode &status) {
- return MeasureUnit::create(14, 0, status);
- }
- MeasureUnit MeasureUnit::getCandela() {
- return MeasureUnit(14, 0);
- }
- MeasureUnit *MeasureUnit::createLumen(UErrorCode &status) {
- return MeasureUnit::create(14, 1, status);
- }
- MeasureUnit MeasureUnit::getLumen() {
- return MeasureUnit(14, 1);
- }
- MeasureUnit *MeasureUnit::createLux(UErrorCode &status) {
- return MeasureUnit::create(14, 2, status);
- }
- MeasureUnit MeasureUnit::getLux() {
- return MeasureUnit(14, 2);
- }
- MeasureUnit *MeasureUnit::createSolarLuminosity(UErrorCode &status) {
- return MeasureUnit::create(14, 3, status);
- }
- MeasureUnit MeasureUnit::getSolarLuminosity() {
- return MeasureUnit(14, 3);
- }
- MeasureUnit *MeasureUnit::createCarat(UErrorCode &status) {
- return MeasureUnit::create(15, 0, status);
- }
- MeasureUnit MeasureUnit::getCarat() {
- return MeasureUnit(15, 0);
- }
- MeasureUnit *MeasureUnit::createDalton(UErrorCode &status) {
- return MeasureUnit::create(15, 1, status);
- }
- MeasureUnit MeasureUnit::getDalton() {
- return MeasureUnit(15, 1);
- }
- MeasureUnit *MeasureUnit::createEarthMass(UErrorCode &status) {
- return MeasureUnit::create(15, 2, status);
- }
- MeasureUnit MeasureUnit::getEarthMass() {
- return MeasureUnit(15, 2);
- }
- MeasureUnit *MeasureUnit::createGrain(UErrorCode &status) {
- return MeasureUnit::create(15, 3, status);
- }
- MeasureUnit MeasureUnit::getGrain() {
- return MeasureUnit(15, 3);
- }
- MeasureUnit *MeasureUnit::createGram(UErrorCode &status) {
- return MeasureUnit::create(15, 4, status);
- }
- MeasureUnit MeasureUnit::getGram() {
- return MeasureUnit(15, 4);
- }
- MeasureUnit *MeasureUnit::createKilogram(UErrorCode &status) {
- return MeasureUnit::create(15, 5, status);
- }
- MeasureUnit MeasureUnit::getKilogram() {
- return MeasureUnit(15, 5);
- }
- MeasureUnit *MeasureUnit::createMetricTon(UErrorCode &status) {
- return MeasureUnit::create(15, 14, status);
- }
- MeasureUnit MeasureUnit::getMetricTon() {
- return MeasureUnit(15, 14);
- }
- MeasureUnit *MeasureUnit::createMicrogram(UErrorCode &status) {
- return MeasureUnit::create(15, 6, status);
- }
- MeasureUnit MeasureUnit::getMicrogram() {
- return MeasureUnit(15, 6);
- }
- MeasureUnit *MeasureUnit::createMilligram(UErrorCode &status) {
- return MeasureUnit::create(15, 7, status);
- }
- MeasureUnit MeasureUnit::getMilligram() {
- return MeasureUnit(15, 7);
- }
- MeasureUnit *MeasureUnit::createOunce(UErrorCode &status) {
- return MeasureUnit::create(15, 8, status);
- }
- MeasureUnit MeasureUnit::getOunce() {
- return MeasureUnit(15, 8);
- }
- MeasureUnit *MeasureUnit::createOunceTroy(UErrorCode &status) {
- return MeasureUnit::create(15, 9, status);
- }
- MeasureUnit MeasureUnit::getOunceTroy() {
- return MeasureUnit(15, 9);
- }
- MeasureUnit *MeasureUnit::createPound(UErrorCode &status) {
- return MeasureUnit::create(15, 10, status);
- }
- MeasureUnit MeasureUnit::getPound() {
- return MeasureUnit(15, 10);
- }
- MeasureUnit *MeasureUnit::createSolarMass(UErrorCode &status) {
- return MeasureUnit::create(15, 11, status);
- }
- MeasureUnit MeasureUnit::getSolarMass() {
- return MeasureUnit(15, 11);
- }
- MeasureUnit *MeasureUnit::createStone(UErrorCode &status) {
- return MeasureUnit::create(15, 12, status);
- }
- MeasureUnit MeasureUnit::getStone() {
- return MeasureUnit(15, 12);
- }
- MeasureUnit *MeasureUnit::createTon(UErrorCode &status) {
- return MeasureUnit::create(15, 13, status);
- }
- MeasureUnit MeasureUnit::getTon() {
- return MeasureUnit(15, 13);
- }
- MeasureUnit *MeasureUnit::createTonne(UErrorCode &status) {
- return MeasureUnit::create(15, 14, status);
- }
- MeasureUnit MeasureUnit::getTonne() {
- return MeasureUnit(15, 14);
- }
- MeasureUnit *MeasureUnit::createGigawatt(UErrorCode &status) {
- return MeasureUnit::create(17, 0, status);
- }
- MeasureUnit MeasureUnit::getGigawatt() {
- return MeasureUnit(17, 0);
- }
- MeasureUnit *MeasureUnit::createHorsepower(UErrorCode &status) {
- return MeasureUnit::create(17, 1, status);
- }
- MeasureUnit MeasureUnit::getHorsepower() {
- return MeasureUnit(17, 1);
- }
- MeasureUnit *MeasureUnit::createKilowatt(UErrorCode &status) {
- return MeasureUnit::create(17, 2, status);
- }
- MeasureUnit MeasureUnit::getKilowatt() {
- return MeasureUnit(17, 2);
- }
- MeasureUnit *MeasureUnit::createMegawatt(UErrorCode &status) {
- return MeasureUnit::create(17, 3, status);
- }
- MeasureUnit MeasureUnit::getMegawatt() {
- return MeasureUnit(17, 3);
- }
- MeasureUnit *MeasureUnit::createMilliwatt(UErrorCode &status) {
- return MeasureUnit::create(17, 4, status);
- }
- MeasureUnit MeasureUnit::getMilliwatt() {
- return MeasureUnit(17, 4);
- }
- MeasureUnit *MeasureUnit::createWatt(UErrorCode &status) {
- return MeasureUnit::create(17, 5, status);
- }
- MeasureUnit MeasureUnit::getWatt() {
- return MeasureUnit(17, 5);
- }
- MeasureUnit *MeasureUnit::createAtmosphere(UErrorCode &status) {
- return MeasureUnit::create(18, 0, status);
- }
- MeasureUnit MeasureUnit::getAtmosphere() {
- return MeasureUnit(18, 0);
- }
- MeasureUnit *MeasureUnit::createBar(UErrorCode &status) {
- return MeasureUnit::create(18, 1, status);
- }
- MeasureUnit MeasureUnit::getBar() {
- return MeasureUnit(18, 1);
- }
- MeasureUnit *MeasureUnit::createHectopascal(UErrorCode &status) {
- return MeasureUnit::create(18, 2, status);
- }
- MeasureUnit MeasureUnit::getHectopascal() {
- return MeasureUnit(18, 2);
- }
- MeasureUnit *MeasureUnit::createInchHg(UErrorCode &status) {
- return MeasureUnit::create(18, 3, status);
- }
- MeasureUnit MeasureUnit::getInchHg() {
- return MeasureUnit(18, 3);
- }
- MeasureUnit *MeasureUnit::createKilopascal(UErrorCode &status) {
- return MeasureUnit::create(18, 4, status);
- }
- MeasureUnit MeasureUnit::getKilopascal() {
- return MeasureUnit(18, 4);
- }
- MeasureUnit *MeasureUnit::createMegapascal(UErrorCode &status) {
- return MeasureUnit::create(18, 5, status);
- }
- MeasureUnit MeasureUnit::getMegapascal() {
- return MeasureUnit(18, 5);
- }
- MeasureUnit *MeasureUnit::createMillibar(UErrorCode &status) {
- return MeasureUnit::create(18, 6, status);
- }
- MeasureUnit MeasureUnit::getMillibar() {
- return MeasureUnit(18, 6);
- }
- MeasureUnit *MeasureUnit::createMillimeterOfMercury(UErrorCode &status) {
- return MeasureUnit::create(18, 7, status);
- }
- MeasureUnit MeasureUnit::getMillimeterOfMercury() {
- return MeasureUnit(18, 7);
- }
- MeasureUnit *MeasureUnit::createPascal(UErrorCode &status) {
- return MeasureUnit::create(18, 8, status);
- }
- MeasureUnit MeasureUnit::getPascal() {
- return MeasureUnit(18, 8);
- }
- MeasureUnit *MeasureUnit::createPoundPerSquareInch(UErrorCode &status) {
- return MeasureUnit::create(18, 9, status);
- }
- MeasureUnit MeasureUnit::getPoundPerSquareInch() {
- return MeasureUnit(18, 9);
- }
- MeasureUnit *MeasureUnit::createBeaufort(UErrorCode &status) {
- return MeasureUnit::create(19, 0, status);
- }
- MeasureUnit MeasureUnit::getBeaufort() {
- return MeasureUnit(19, 0);
- }
- MeasureUnit *MeasureUnit::createKilometerPerHour(UErrorCode &status) {
- return MeasureUnit::create(19, 1, status);
- }
- MeasureUnit MeasureUnit::getKilometerPerHour() {
- return MeasureUnit(19, 1);
- }
- MeasureUnit *MeasureUnit::createKnot(UErrorCode &status) {
- return MeasureUnit::create(19, 2, status);
- }
- MeasureUnit MeasureUnit::getKnot() {
- return MeasureUnit(19, 2);
- }
- MeasureUnit *MeasureUnit::createMeterPerSecond(UErrorCode &status) {
- return MeasureUnit::create(19, 3, status);
- }
- MeasureUnit MeasureUnit::getMeterPerSecond() {
- return MeasureUnit(19, 3);
- }
- MeasureUnit *MeasureUnit::createMilePerHour(UErrorCode &status) {
- return MeasureUnit::create(19, 4, status);
- }
- MeasureUnit MeasureUnit::getMilePerHour() {
- return MeasureUnit(19, 4);
- }
- MeasureUnit *MeasureUnit::createCelsius(UErrorCode &status) {
- return MeasureUnit::create(20, 0, status);
- }
- MeasureUnit MeasureUnit::getCelsius() {
- return MeasureUnit(20, 0);
- }
- MeasureUnit *MeasureUnit::createFahrenheit(UErrorCode &status) {
- return MeasureUnit::create(20, 1, status);
- }
- MeasureUnit MeasureUnit::getFahrenheit() {
- return MeasureUnit(20, 1);
- }
- MeasureUnit *MeasureUnit::createGenericTemperature(UErrorCode &status) {
- return MeasureUnit::create(20, 2, status);
- }
- MeasureUnit MeasureUnit::getGenericTemperature() {
- return MeasureUnit(20, 2);
- }
- MeasureUnit *MeasureUnit::createKelvin(UErrorCode &status) {
- return MeasureUnit::create(20, 3, status);
- }
- MeasureUnit MeasureUnit::getKelvin() {
- return MeasureUnit(20, 3);
- }
- MeasureUnit *MeasureUnit::createNewtonMeter(UErrorCode &status) {
- return MeasureUnit::create(21, 0, status);
- }
- MeasureUnit MeasureUnit::getNewtonMeter() {
- return MeasureUnit(21, 0);
- }
- MeasureUnit *MeasureUnit::createPoundFoot(UErrorCode &status) {
- return MeasureUnit::create(21, 1, status);
- }
- MeasureUnit MeasureUnit::getPoundFoot() {
- return MeasureUnit(21, 1);
- }
- MeasureUnit *MeasureUnit::createAcreFoot(UErrorCode &status) {
- return MeasureUnit::create(22, 0, status);
- }
- MeasureUnit MeasureUnit::getAcreFoot() {
- return MeasureUnit(22, 0);
- }
- MeasureUnit *MeasureUnit::createBarrel(UErrorCode &status) {
- return MeasureUnit::create(22, 1, status);
- }
- MeasureUnit MeasureUnit::getBarrel() {
- return MeasureUnit(22, 1);
- }
- MeasureUnit *MeasureUnit::createBushel(UErrorCode &status) {
- return MeasureUnit::create(22, 2, status);
- }
- MeasureUnit MeasureUnit::getBushel() {
- return MeasureUnit(22, 2);
- }
- MeasureUnit *MeasureUnit::createCentiliter(UErrorCode &status) {
- return MeasureUnit::create(22, 3, status);
- }
- MeasureUnit MeasureUnit::getCentiliter() {
- return MeasureUnit(22, 3);
- }
- MeasureUnit *MeasureUnit::createCubicCentimeter(UErrorCode &status) {
- return MeasureUnit::create(22, 4, status);
- }
- MeasureUnit MeasureUnit::getCubicCentimeter() {
- return MeasureUnit(22, 4);
- }
- MeasureUnit *MeasureUnit::createCubicFoot(UErrorCode &status) {
- return MeasureUnit::create(22, 5, status);
- }
- MeasureUnit MeasureUnit::getCubicFoot() {
- return MeasureUnit(22, 5);
- }
- MeasureUnit *MeasureUnit::createCubicInch(UErrorCode &status) {
- return MeasureUnit::create(22, 6, status);
- }
- MeasureUnit MeasureUnit::getCubicInch() {
- return MeasureUnit(22, 6);
- }
- MeasureUnit *MeasureUnit::createCubicKilometer(UErrorCode &status) {
- return MeasureUnit::create(22, 7, status);
- }
- MeasureUnit MeasureUnit::getCubicKilometer() {
- return MeasureUnit(22, 7);
- }
- MeasureUnit *MeasureUnit::createCubicMeter(UErrorCode &status) {
- return MeasureUnit::create(22, 8, status);
- }
- MeasureUnit MeasureUnit::getCubicMeter() {
- return MeasureUnit(22, 8);
- }
- MeasureUnit *MeasureUnit::createCubicMile(UErrorCode &status) {
- return MeasureUnit::create(22, 9, status);
- }
- MeasureUnit MeasureUnit::getCubicMile() {
- return MeasureUnit(22, 9);
- }
- MeasureUnit *MeasureUnit::createCubicYard(UErrorCode &status) {
- return MeasureUnit::create(22, 10, status);
- }
- MeasureUnit MeasureUnit::getCubicYard() {
- return MeasureUnit(22, 10);
- }
- MeasureUnit *MeasureUnit::createCup(UErrorCode &status) {
- return MeasureUnit::create(22, 11, status);
- }
- MeasureUnit MeasureUnit::getCup() {
- return MeasureUnit(22, 11);
- }
- MeasureUnit *MeasureUnit::createCupMetric(UErrorCode &status) {
- return MeasureUnit::create(22, 12, status);
- }
- MeasureUnit MeasureUnit::getCupMetric() {
- return MeasureUnit(22, 12);
- }
- MeasureUnit *MeasureUnit::createDeciliter(UErrorCode &status) {
- return MeasureUnit::create(22, 13, status);
- }
- MeasureUnit MeasureUnit::getDeciliter() {
- return MeasureUnit(22, 13);
- }
- MeasureUnit *MeasureUnit::createDessertSpoon(UErrorCode &status) {
- return MeasureUnit::create(22, 14, status);
- }
- MeasureUnit MeasureUnit::getDessertSpoon() {
- return MeasureUnit(22, 14);
- }
- MeasureUnit *MeasureUnit::createDessertSpoonImperial(UErrorCode &status) {
- return MeasureUnit::create(22, 15, status);
- }
- MeasureUnit MeasureUnit::getDessertSpoonImperial() {
- return MeasureUnit(22, 15);
- }
- MeasureUnit *MeasureUnit::createDram(UErrorCode &status) {
- return MeasureUnit::create(22, 16, status);
- }
- MeasureUnit MeasureUnit::getDram() {
- return MeasureUnit(22, 16);
- }
- MeasureUnit *MeasureUnit::createDrop(UErrorCode &status) {
- return MeasureUnit::create(22, 17, status);
- }
- MeasureUnit MeasureUnit::getDrop() {
- return MeasureUnit(22, 17);
- }
- MeasureUnit *MeasureUnit::createFluidOunce(UErrorCode &status) {
- return MeasureUnit::create(22, 18, status);
- }
- MeasureUnit MeasureUnit::getFluidOunce() {
- return MeasureUnit(22, 18);
- }
- MeasureUnit *MeasureUnit::createFluidOunceImperial(UErrorCode &status) {
- return MeasureUnit::create(22, 19, status);
- }
- MeasureUnit MeasureUnit::getFluidOunceImperial() {
- return MeasureUnit(22, 19);
- }
- MeasureUnit *MeasureUnit::createGallon(UErrorCode &status) {
- return MeasureUnit::create(22, 20, status);
- }
- MeasureUnit MeasureUnit::getGallon() {
- return MeasureUnit(22, 20);
- }
- MeasureUnit *MeasureUnit::createGallonImperial(UErrorCode &status) {
- return MeasureUnit::create(22, 21, status);
- }
- MeasureUnit MeasureUnit::getGallonImperial() {
- return MeasureUnit(22, 21);
- }
- MeasureUnit *MeasureUnit::createHectoliter(UErrorCode &status) {
- return MeasureUnit::create(22, 22, status);
- }
- MeasureUnit MeasureUnit::getHectoliter() {
- return MeasureUnit(22, 22);
- }
- MeasureUnit *MeasureUnit::createJigger(UErrorCode &status) {
- return MeasureUnit::create(22, 23, status);
- }
- MeasureUnit MeasureUnit::getJigger() {
- return MeasureUnit(22, 23);
- }
- MeasureUnit *MeasureUnit::createLiter(UErrorCode &status) {
- return MeasureUnit::create(22, 24, status);
- }
- MeasureUnit MeasureUnit::getLiter() {
- return MeasureUnit(22, 24);
- }
- MeasureUnit *MeasureUnit::createMegaliter(UErrorCode &status) {
- return MeasureUnit::create(22, 25, status);
- }
- MeasureUnit MeasureUnit::getMegaliter() {
- return MeasureUnit(22, 25);
- }
- MeasureUnit *MeasureUnit::createMilliliter(UErrorCode &status) {
- return MeasureUnit::create(22, 26, status);
- }
- MeasureUnit MeasureUnit::getMilliliter() {
- return MeasureUnit(22, 26);
- }
- MeasureUnit *MeasureUnit::createPinch(UErrorCode &status) {
- return MeasureUnit::create(22, 27, status);
- }
- MeasureUnit MeasureUnit::getPinch() {
- return MeasureUnit(22, 27);
- }
- MeasureUnit *MeasureUnit::createPint(UErrorCode &status) {
- return MeasureUnit::create(22, 28, status);
- }
- MeasureUnit MeasureUnit::getPint() {
- return MeasureUnit(22, 28);
- }
- MeasureUnit *MeasureUnit::createPintMetric(UErrorCode &status) {
- return MeasureUnit::create(22, 29, status);
- }
- MeasureUnit MeasureUnit::getPintMetric() {
- return MeasureUnit(22, 29);
- }
- MeasureUnit *MeasureUnit::createQuart(UErrorCode &status) {
- return MeasureUnit::create(22, 30, status);
- }
- MeasureUnit MeasureUnit::getQuart() {
- return MeasureUnit(22, 30);
- }
- MeasureUnit *MeasureUnit::createQuartImperial(UErrorCode &status) {
- return MeasureUnit::create(22, 31, status);
- }
- MeasureUnit MeasureUnit::getQuartImperial() {
- return MeasureUnit(22, 31);
- }
- MeasureUnit *MeasureUnit::createTablespoon(UErrorCode &status) {
- return MeasureUnit::create(22, 32, status);
- }
- MeasureUnit MeasureUnit::getTablespoon() {
- return MeasureUnit(22, 32);
- }
- MeasureUnit *MeasureUnit::createTeaspoon(UErrorCode &status) {
- return MeasureUnit::create(22, 33, status);
- }
- MeasureUnit MeasureUnit::getTeaspoon() {
- return MeasureUnit(22, 33);
- }
- // End generated code for measunit.cpp
- static int32_t binarySearch(
- const char * const * array, int32_t start, int32_t end, StringPiece key) {
- while (start < end) {
- int32_t mid = (start + end) / 2;
- int32_t cmp = StringPiece(array[mid]).compare(key);
- if (cmp < 0) {
- start = mid + 1;
- continue;
- }
- if (cmp == 0) {
- return mid;
- }
- end = mid;
- }
- return -1;
- }
- MeasureUnit::MeasureUnit() : MeasureUnit(kBaseTypeIdx, kBaseSubTypeIdx) {
- }
- MeasureUnit::MeasureUnit(int32_t typeId, int32_t subTypeId)
- : fImpl(nullptr), fSubTypeId(subTypeId), fTypeId(typeId) {
- }
- MeasureUnit::MeasureUnit(const MeasureUnit &other)
- : fImpl(nullptr) {
- *this = other;
- }
- MeasureUnit::MeasureUnit(MeasureUnit &&other) noexcept
- : fImpl(other.fImpl),
- fSubTypeId(other.fSubTypeId),
- fTypeId(other.fTypeId) {
- other.fImpl = nullptr;
- }
- MeasureUnit::MeasureUnit(MeasureUnitImpl&& impl)
- : fImpl(nullptr), fSubTypeId(-1), fTypeId(-1) {
- if (!findBySubType(impl.identifier.toStringPiece(), this)) {
- fImpl = new MeasureUnitImpl(std::move(impl));
- }
- }
- MeasureUnit &MeasureUnit::operator=(const MeasureUnit &other) {
- if (this == &other) {
- return *this;
- }
- if (fImpl != nullptr) {
- delete fImpl;
- }
- if (other.fImpl) {
- ErrorCode localStatus;
- fImpl = new MeasureUnitImpl(other.fImpl->copy(localStatus));
- if (!fImpl || localStatus.isFailure()) {
- // Unrecoverable allocation error; set to the default unit
- *this = MeasureUnit();
- return *this;
- }
- } else {
- fImpl = nullptr;
- }
- fTypeId = other.fTypeId;
- fSubTypeId = other.fSubTypeId;
- return *this;
- }
- MeasureUnit &MeasureUnit::operator=(MeasureUnit &&other) noexcept {
- if (this == &other) {
- return *this;
- }
- if (fImpl != nullptr) {
- delete fImpl;
- }
- fImpl = other.fImpl;
- other.fImpl = nullptr;
- fTypeId = other.fTypeId;
- fSubTypeId = other.fSubTypeId;
- return *this;
- }
- MeasureUnit *MeasureUnit::clone() const {
- return new MeasureUnit(*this);
- }
- MeasureUnit::~MeasureUnit() {
- if (fImpl != nullptr) {
- delete fImpl;
- fImpl = nullptr;
- }
- }
- const char *MeasureUnit::getType() const {
- // We have a type & subtype only if fTypeId is present.
- if (fTypeId == -1) {
- return "";
- }
- return gTypes[fTypeId];
- }
- const char *MeasureUnit::getSubtype() const {
- // We have a type & subtype only if fTypeId is present.
- if (fTypeId == -1) {
- return "";
- }
- return getIdentifier();
- }
- const char *MeasureUnit::getIdentifier() const {
- return fImpl ? fImpl->identifier.data() : gSubTypes[getOffset()];
- }
- bool 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 uprv_strcmp(getIdentifier(), rhs.getIdentifier()) == 0;
- }
- 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 nullptr;
- }
- StringEnumeration *result = new UStringEnumeration(uenum);
- if (result == nullptr) {
- errorCode = U_MEMORY_ALLOCATION_ERROR;
- uenum_close(uenum);
- return nullptr;
- }
- return result;
- }
- bool MeasureUnit::findBySubType(StringPiece subType, MeasureUnit* output) {
- // Sanity checking kCurrencyOffset and final entry in gOffsets
- U_ASSERT(uprv_strcmp(gTypes[kCurrencyOffset], "currency") == 0);
- U_ASSERT(gOffsets[UPRV_LENGTHOF(gOffsets) - 1] == UPRV_LENGTHOF(gSubTypes));
- for (int32_t t = 0; t < UPRV_LENGTHOF(gOffsets) - 1; t++) {
- // Skip currency units
- if (t == kCurrencyOffset) {
- continue;
- }
- int32_t st = binarySearch(gSubTypes, gOffsets[t], gOffsets[t + 1], subType);
- if (st >= 0) {
- output->setTo(t, st - gOffsets[t]);
- return true;
- }
- }
- return false;
- }
- MeasureUnit *MeasureUnit::create(int typeId, int subTypeId, UErrorCode &status) {
- if (U_FAILURE(status)) {
- return nullptr;
- }
- MeasureUnit *result = new MeasureUnit(typeId, subTypeId);
- if (result == nullptr) {
- 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(StringPiece 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) {
- fImpl = new MeasureUnitImpl(MeasureUnitImpl::forCurrencyCode(isoCurrency));
- if (fImpl) {
- fSubTypeId = -1;
- return;
- }
- // malloc error: fall back to the undefined currency
- result = binarySearch(
- gSubTypes, gOffsets[fTypeId], gOffsets[fTypeId + 1], kDefaultCurrency8);
- U_ASSERT(result != -1);
- }
- fSubTypeId = result - gOffsets[fTypeId];
- }
- void MeasureUnit::setTo(int32_t typeId, int32_t subTypeId) {
- fTypeId = typeId;
- fSubTypeId = subTypeId;
- if (fImpl != nullptr) {
- delete fImpl;
- fImpl = nullptr;
- }
- }
- int32_t MeasureUnit::getOffset() const {
- if (fTypeId < 0 || fSubTypeId < 0) {
- return -1;
- }
- return gOffsets[fTypeId] + fSubTypeId;
- }
- MeasureUnitImpl MeasureUnitImpl::copy(UErrorCode &status) const {
- MeasureUnitImpl result;
- result.complexity = complexity;
- result.identifier.append(identifier, status);
- for (int32_t i = 0; i < singleUnits.length(); i++) {
- SingleUnitImpl *item = result.singleUnits.emplaceBack(*singleUnits[i]);
- if (!item) {
- status = U_MEMORY_ALLOCATION_ERROR;
- return result;
- }
- }
- return result;
- }
- U_NAMESPACE_END
- #endif /* !UNCONFIG_NO_FORMATTING */
|