00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __MEASUREUNIT_H__
00014 #define __MEASUREUNIT_H__
00015
00016 #include "unicode/utypes.h"
00017
00018 #if U_SHOW_CPLUSPLUS_API
00019
00020 #if !UCONFIG_NO_FORMATTING
00021
00022 #include "unicode/unistr.h"
00023
00029 U_NAMESPACE_BEGIN
00030
00031 class StringEnumeration;
00032
00040 class U_I18N_API MeasureUnit: public UObject {
00041 public:
00042
00048 MeasureUnit();
00049
00054 MeasureUnit(const MeasureUnit &other);
00055
00060 MeasureUnit &operator=(const MeasureUnit &other);
00061
00067 virtual MeasureUnit* clone() const;
00068
00073 virtual ~MeasureUnit();
00074
00080 virtual UBool operator==(const UObject& other) const;
00081
00087 UBool operator!=(const UObject& other) const {
00088 return !(*this == other);
00089 }
00090
00095 const char *getType() const;
00096
00101 const char *getSubtype() const;
00102
00114 static int32_t getAvailable(
00115 MeasureUnit *destArray,
00116 int32_t destCapacity,
00117 UErrorCode &errorCode);
00118
00131 static int32_t getAvailable(
00132 const char *type,
00133 MeasureUnit *destArray,
00134 int32_t destCapacity,
00135 UErrorCode &errorCode);
00136
00145 static StringEnumeration* getAvailableTypes(UErrorCode &errorCode);
00146
00158 static UClassID U_EXPORT2 getStaticClassID(void);
00159
00171 virtual UClassID getDynamicClassID(void) const;
00172
00173 #ifndef U_HIDE_INTERNAL_API
00174
00180 int32_t getIndex() const;
00181
00187 static int32_t getIndexCount();
00188
00195 static int32_t internalGetIndexForTypeAndSubtype(const char *type, const char *subtype);
00196
00201 static MeasureUnit resolveUnitPerUnit(
00202 const MeasureUnit &unit, const MeasureUnit &perUnit, bool* isResolved);
00203 #endif
00204
00205
00206
00207
00208
00209
00210
00211
00212
00220 static MeasureUnit *createGForce(UErrorCode &status);
00221
00222 #ifndef U_HIDE_DRAFT_API
00223
00228 static MeasureUnit getGForce();
00229 #endif
00230
00238 static MeasureUnit *createMeterPerSecondSquared(UErrorCode &status);
00239
00240 #ifndef U_HIDE_DRAFT_API
00241
00246 static MeasureUnit getMeterPerSecondSquared();
00247 #endif
00248
00256 static MeasureUnit *createArcMinute(UErrorCode &status);
00257
00258 #ifndef U_HIDE_DRAFT_API
00259
00264 static MeasureUnit getArcMinute();
00265 #endif
00266
00274 static MeasureUnit *createArcSecond(UErrorCode &status);
00275
00276 #ifndef U_HIDE_DRAFT_API
00277
00282 static MeasureUnit getArcSecond();
00283 #endif
00284
00292 static MeasureUnit *createDegree(UErrorCode &status);
00293
00294 #ifndef U_HIDE_DRAFT_API
00295
00300 static MeasureUnit getDegree();
00301 #endif
00302
00310 static MeasureUnit *createRadian(UErrorCode &status);
00311
00312 #ifndef U_HIDE_DRAFT_API
00313
00318 static MeasureUnit getRadian();
00319 #endif
00320
00328 static MeasureUnit *createRevolutionAngle(UErrorCode &status);
00329
00330 #ifndef U_HIDE_DRAFT_API
00331
00336 static MeasureUnit getRevolutionAngle();
00337 #endif
00338
00346 static MeasureUnit *createAcre(UErrorCode &status);
00347
00348 #ifndef U_HIDE_DRAFT_API
00349
00354 static MeasureUnit getAcre();
00355 #endif
00356
00357 #ifndef U_HIDE_DRAFT_API
00358
00365 static MeasureUnit *createDunam(UErrorCode &status);
00366
00372 static MeasureUnit getDunam();
00373 #endif
00374
00382 static MeasureUnit *createHectare(UErrorCode &status);
00383
00384 #ifndef U_HIDE_DRAFT_API
00385
00390 static MeasureUnit getHectare();
00391 #endif
00392
00400 static MeasureUnit *createSquareCentimeter(UErrorCode &status);
00401
00402 #ifndef U_HIDE_DRAFT_API
00403
00408 static MeasureUnit getSquareCentimeter();
00409 #endif
00410
00418 static MeasureUnit *createSquareFoot(UErrorCode &status);
00419
00420 #ifndef U_HIDE_DRAFT_API
00421
00426 static MeasureUnit getSquareFoot();
00427 #endif
00428
00436 static MeasureUnit *createSquareInch(UErrorCode &status);
00437
00438 #ifndef U_HIDE_DRAFT_API
00439
00444 static MeasureUnit getSquareInch();
00445 #endif
00446
00454 static MeasureUnit *createSquareKilometer(UErrorCode &status);
00455
00456 #ifndef U_HIDE_DRAFT_API
00457
00462 static MeasureUnit getSquareKilometer();
00463 #endif
00464
00472 static MeasureUnit *createSquareMeter(UErrorCode &status);
00473
00474 #ifndef U_HIDE_DRAFT_API
00475
00480 static MeasureUnit getSquareMeter();
00481 #endif
00482
00490 static MeasureUnit *createSquareMile(UErrorCode &status);
00491
00492 #ifndef U_HIDE_DRAFT_API
00493
00498 static MeasureUnit getSquareMile();
00499 #endif
00500
00508 static MeasureUnit *createSquareYard(UErrorCode &status);
00509
00510 #ifndef U_HIDE_DRAFT_API
00511
00516 static MeasureUnit getSquareYard();
00517 #endif
00518
00526 static MeasureUnit *createKarat(UErrorCode &status);
00527
00528 #ifndef U_HIDE_DRAFT_API
00529
00534 static MeasureUnit getKarat();
00535 #endif
00536
00544 static MeasureUnit *createMilligramPerDeciliter(UErrorCode &status);
00545
00546 #ifndef U_HIDE_DRAFT_API
00547
00552 static MeasureUnit getMilligramPerDeciliter();
00553 #endif
00554
00562 static MeasureUnit *createMillimolePerLiter(UErrorCode &status);
00563
00564 #ifndef U_HIDE_DRAFT_API
00565
00570 static MeasureUnit getMillimolePerLiter();
00571 #endif
00572
00573 #ifndef U_HIDE_DRAFT_API
00574
00581 static MeasureUnit *createMole(UErrorCode &status);
00582
00588 static MeasureUnit getMole();
00589 #endif
00590
00598 static MeasureUnit *createPartPerMillion(UErrorCode &status);
00599
00600 #ifndef U_HIDE_DRAFT_API
00601
00606 static MeasureUnit getPartPerMillion();
00607 #endif
00608
00616 static MeasureUnit *createPercent(UErrorCode &status);
00617
00618 #ifndef U_HIDE_DRAFT_API
00619
00624 static MeasureUnit getPercent();
00625 #endif
00626
00634 static MeasureUnit *createPermille(UErrorCode &status);
00635
00636 #ifndef U_HIDE_DRAFT_API
00637
00642 static MeasureUnit getPermille();
00643 #endif
00644
00645 #ifndef U_HIDE_DRAFT_API
00646
00653 static MeasureUnit *createPermyriad(UErrorCode &status);
00654
00660 static MeasureUnit getPermyriad();
00661 #endif
00662
00670 static MeasureUnit *createLiterPer100Kilometers(UErrorCode &status);
00671
00672 #ifndef U_HIDE_DRAFT_API
00673
00678 static MeasureUnit getLiterPer100Kilometers();
00679 #endif
00680
00688 static MeasureUnit *createLiterPerKilometer(UErrorCode &status);
00689
00690 #ifndef U_HIDE_DRAFT_API
00691
00696 static MeasureUnit getLiterPerKilometer();
00697 #endif
00698
00706 static MeasureUnit *createMilePerGallon(UErrorCode &status);
00707
00708 #ifndef U_HIDE_DRAFT_API
00709
00714 static MeasureUnit getMilePerGallon();
00715 #endif
00716
00724 static MeasureUnit *createMilePerGallonImperial(UErrorCode &status);
00725
00726 #ifndef U_HIDE_DRAFT_API
00727
00732 static MeasureUnit getMilePerGallonImperial();
00733 #endif
00734
00742 static MeasureUnit *createBit(UErrorCode &status);
00743
00744 #ifndef U_HIDE_DRAFT_API
00745
00750 static MeasureUnit getBit();
00751 #endif
00752
00760 static MeasureUnit *createByte(UErrorCode &status);
00761
00762 #ifndef U_HIDE_DRAFT_API
00763
00768 static MeasureUnit getByte();
00769 #endif
00770
00778 static MeasureUnit *createGigabit(UErrorCode &status);
00779
00780 #ifndef U_HIDE_DRAFT_API
00781
00786 static MeasureUnit getGigabit();
00787 #endif
00788
00796 static MeasureUnit *createGigabyte(UErrorCode &status);
00797
00798 #ifndef U_HIDE_DRAFT_API
00799
00804 static MeasureUnit getGigabyte();
00805 #endif
00806
00814 static MeasureUnit *createKilobit(UErrorCode &status);
00815
00816 #ifndef U_HIDE_DRAFT_API
00817
00822 static MeasureUnit getKilobit();
00823 #endif
00824
00832 static MeasureUnit *createKilobyte(UErrorCode &status);
00833
00834 #ifndef U_HIDE_DRAFT_API
00835
00840 static MeasureUnit getKilobyte();
00841 #endif
00842
00850 static MeasureUnit *createMegabit(UErrorCode &status);
00851
00852 #ifndef U_HIDE_DRAFT_API
00853
00858 static MeasureUnit getMegabit();
00859 #endif
00860
00868 static MeasureUnit *createMegabyte(UErrorCode &status);
00869
00870 #ifndef U_HIDE_DRAFT_API
00871
00876 static MeasureUnit getMegabyte();
00877 #endif
00878
00886 static MeasureUnit *createPetabyte(UErrorCode &status);
00887
00888 #ifndef U_HIDE_DRAFT_API
00889
00894 static MeasureUnit getPetabyte();
00895 #endif
00896
00904 static MeasureUnit *createTerabit(UErrorCode &status);
00905
00906 #ifndef U_HIDE_DRAFT_API
00907
00912 static MeasureUnit getTerabit();
00913 #endif
00914
00922 static MeasureUnit *createTerabyte(UErrorCode &status);
00923
00924 #ifndef U_HIDE_DRAFT_API
00925
00930 static MeasureUnit getTerabyte();
00931 #endif
00932
00940 static MeasureUnit *createCentury(UErrorCode &status);
00941
00942 #ifndef U_HIDE_DRAFT_API
00943
00948 static MeasureUnit getCentury();
00949 #endif
00950
00958 static MeasureUnit *createDay(UErrorCode &status);
00959
00960 #ifndef U_HIDE_DRAFT_API
00961
00966 static MeasureUnit getDay();
00967 #endif
00968
00969 #ifndef U_HIDE_DRAFT_API
00970
00977 static MeasureUnit *createDayPerson(UErrorCode &status);
00978
00984 static MeasureUnit getDayPerson();
00985 #endif
00986
00987 #ifndef U_HIDE_DRAFT_API
00988
00995 static MeasureUnit *createDecade(UErrorCode &status);
00996
01002 static MeasureUnit getDecade();
01003 #endif
01004
01012 static MeasureUnit *createHour(UErrorCode &status);
01013
01014 #ifndef U_HIDE_DRAFT_API
01015
01020 static MeasureUnit getHour();
01021 #endif
01022
01030 static MeasureUnit *createMicrosecond(UErrorCode &status);
01031
01032 #ifndef U_HIDE_DRAFT_API
01033
01038 static MeasureUnit getMicrosecond();
01039 #endif
01040
01048 static MeasureUnit *createMillisecond(UErrorCode &status);
01049
01050 #ifndef U_HIDE_DRAFT_API
01051
01056 static MeasureUnit getMillisecond();
01057 #endif
01058
01066 static MeasureUnit *createMinute(UErrorCode &status);
01067
01068 #ifndef U_HIDE_DRAFT_API
01069
01074 static MeasureUnit getMinute();
01075 #endif
01076
01084 static MeasureUnit *createMonth(UErrorCode &status);
01085
01086 #ifndef U_HIDE_DRAFT_API
01087
01092 static MeasureUnit getMonth();
01093 #endif
01094
01095 #ifndef U_HIDE_DRAFT_API
01096
01103 static MeasureUnit *createMonthPerson(UErrorCode &status);
01104
01110 static MeasureUnit getMonthPerson();
01111 #endif
01112
01120 static MeasureUnit *createNanosecond(UErrorCode &status);
01121
01122 #ifndef U_HIDE_DRAFT_API
01123
01128 static MeasureUnit getNanosecond();
01129 #endif
01130
01138 static MeasureUnit *createSecond(UErrorCode &status);
01139
01140 #ifndef U_HIDE_DRAFT_API
01141
01146 static MeasureUnit getSecond();
01147 #endif
01148
01156 static MeasureUnit *createWeek(UErrorCode &status);
01157
01158 #ifndef U_HIDE_DRAFT_API
01159
01164 static MeasureUnit getWeek();
01165 #endif
01166
01167 #ifndef U_HIDE_DRAFT_API
01168
01175 static MeasureUnit *createWeekPerson(UErrorCode &status);
01176
01182 static MeasureUnit getWeekPerson();
01183 #endif
01184
01192 static MeasureUnit *createYear(UErrorCode &status);
01193
01194 #ifndef U_HIDE_DRAFT_API
01195
01200 static MeasureUnit getYear();
01201 #endif
01202
01203 #ifndef U_HIDE_DRAFT_API
01204
01211 static MeasureUnit *createYearPerson(UErrorCode &status);
01212
01218 static MeasureUnit getYearPerson();
01219 #endif
01220
01228 static MeasureUnit *createAmpere(UErrorCode &status);
01229
01230 #ifndef U_HIDE_DRAFT_API
01231
01236 static MeasureUnit getAmpere();
01237 #endif
01238
01246 static MeasureUnit *createMilliampere(UErrorCode &status);
01247
01248 #ifndef U_HIDE_DRAFT_API
01249
01254 static MeasureUnit getMilliampere();
01255 #endif
01256
01264 static MeasureUnit *createOhm(UErrorCode &status);
01265
01266 #ifndef U_HIDE_DRAFT_API
01267
01272 static MeasureUnit getOhm();
01273 #endif
01274
01282 static MeasureUnit *createVolt(UErrorCode &status);
01283
01284 #ifndef U_HIDE_DRAFT_API
01285
01290 static MeasureUnit getVolt();
01291 #endif
01292
01293 #ifndef U_HIDE_DRAFT_API
01294
01301 static MeasureUnit *createBritishThermalUnit(UErrorCode &status);
01302
01308 static MeasureUnit getBritishThermalUnit();
01309 #endif
01310
01318 static MeasureUnit *createCalorie(UErrorCode &status);
01319
01320 #ifndef U_HIDE_DRAFT_API
01321
01326 static MeasureUnit getCalorie();
01327 #endif
01328
01329 #ifndef U_HIDE_DRAFT_API
01330
01337 static MeasureUnit *createElectronvolt(UErrorCode &status);
01338
01344 static MeasureUnit getElectronvolt();
01345 #endif
01346
01354 static MeasureUnit *createFoodcalorie(UErrorCode &status);
01355
01356 #ifndef U_HIDE_DRAFT_API
01357
01362 static MeasureUnit getFoodcalorie();
01363 #endif
01364
01372 static MeasureUnit *createJoule(UErrorCode &status);
01373
01374 #ifndef U_HIDE_DRAFT_API
01375
01380 static MeasureUnit getJoule();
01381 #endif
01382
01390 static MeasureUnit *createKilocalorie(UErrorCode &status);
01391
01392 #ifndef U_HIDE_DRAFT_API
01393
01398 static MeasureUnit getKilocalorie();
01399 #endif
01400
01408 static MeasureUnit *createKilojoule(UErrorCode &status);
01409
01410 #ifndef U_HIDE_DRAFT_API
01411
01416 static MeasureUnit getKilojoule();
01417 #endif
01418
01426 static MeasureUnit *createKilowattHour(UErrorCode &status);
01427
01428 #ifndef U_HIDE_DRAFT_API
01429
01434 static MeasureUnit getKilowattHour();
01435 #endif
01436
01437 #ifndef U_HIDE_DRAFT_API
01438
01445 static MeasureUnit *createThermUs(UErrorCode &status);
01446
01452 static MeasureUnit getThermUs();
01453 #endif
01454
01455 #ifndef U_HIDE_DRAFT_API
01456
01463 static MeasureUnit *createNewton(UErrorCode &status);
01464
01470 static MeasureUnit getNewton();
01471 #endif
01472
01473 #ifndef U_HIDE_DRAFT_API
01474
01481 static MeasureUnit *createPoundForce(UErrorCode &status);
01482
01488 static MeasureUnit getPoundForce();
01489 #endif
01490
01498 static MeasureUnit *createGigahertz(UErrorCode &status);
01499
01500 #ifndef U_HIDE_DRAFT_API
01501
01506 static MeasureUnit getGigahertz();
01507 #endif
01508
01516 static MeasureUnit *createHertz(UErrorCode &status);
01517
01518 #ifndef U_HIDE_DRAFT_API
01519
01524 static MeasureUnit getHertz();
01525 #endif
01526
01534 static MeasureUnit *createKilohertz(UErrorCode &status);
01535
01536 #ifndef U_HIDE_DRAFT_API
01537
01542 static MeasureUnit getKilohertz();
01543 #endif
01544
01552 static MeasureUnit *createMegahertz(UErrorCode &status);
01553
01554 #ifndef U_HIDE_DRAFT_API
01555
01560 static MeasureUnit getMegahertz();
01561 #endif
01562
01563 #ifndef U_HIDE_DRAFT_API
01564
01571 static MeasureUnit *createDotPerCentimeter(UErrorCode &status);
01572
01578 static MeasureUnit getDotPerCentimeter();
01579 #endif
01580
01581 #ifndef U_HIDE_DRAFT_API
01582
01589 static MeasureUnit *createDotPerInch(UErrorCode &status);
01590
01596 static MeasureUnit getDotPerInch();
01597 #endif
01598
01599 #ifndef U_HIDE_DRAFT_API
01600
01607 static MeasureUnit *createEm(UErrorCode &status);
01608
01614 static MeasureUnit getEm();
01615 #endif
01616
01617 #ifndef U_HIDE_DRAFT_API
01618
01625 static MeasureUnit *createMegapixel(UErrorCode &status);
01626
01632 static MeasureUnit getMegapixel();
01633 #endif
01634
01635 #ifndef U_HIDE_DRAFT_API
01636
01643 static MeasureUnit *createPixel(UErrorCode &status);
01644
01650 static MeasureUnit getPixel();
01651 #endif
01652
01653 #ifndef U_HIDE_DRAFT_API
01654
01661 static MeasureUnit *createPixelPerCentimeter(UErrorCode &status);
01662
01668 static MeasureUnit getPixelPerCentimeter();
01669 #endif
01670
01671 #ifndef U_HIDE_DRAFT_API
01672
01679 static MeasureUnit *createPixelPerInch(UErrorCode &status);
01680
01686 static MeasureUnit getPixelPerInch();
01687 #endif
01688
01696 static MeasureUnit *createAstronomicalUnit(UErrorCode &status);
01697
01698 #ifndef U_HIDE_DRAFT_API
01699
01704 static MeasureUnit getAstronomicalUnit();
01705 #endif
01706
01714 static MeasureUnit *createCentimeter(UErrorCode &status);
01715
01716 #ifndef U_HIDE_DRAFT_API
01717
01722 static MeasureUnit getCentimeter();
01723 #endif
01724
01732 static MeasureUnit *createDecimeter(UErrorCode &status);
01733
01734 #ifndef U_HIDE_DRAFT_API
01735
01740 static MeasureUnit getDecimeter();
01741 #endif
01742
01750 static MeasureUnit *createFathom(UErrorCode &status);
01751
01752 #ifndef U_HIDE_DRAFT_API
01753
01758 static MeasureUnit getFathom();
01759 #endif
01760
01768 static MeasureUnit *createFoot(UErrorCode &status);
01769
01770 #ifndef U_HIDE_DRAFT_API
01771
01776 static MeasureUnit getFoot();
01777 #endif
01778
01786 static MeasureUnit *createFurlong(UErrorCode &status);
01787
01788 #ifndef U_HIDE_DRAFT_API
01789
01794 static MeasureUnit getFurlong();
01795 #endif
01796
01804 static MeasureUnit *createInch(UErrorCode &status);
01805
01806 #ifndef U_HIDE_DRAFT_API
01807
01812 static MeasureUnit getInch();
01813 #endif
01814
01822 static MeasureUnit *createKilometer(UErrorCode &status);
01823
01824 #ifndef U_HIDE_DRAFT_API
01825
01830 static MeasureUnit getKilometer();
01831 #endif
01832
01840 static MeasureUnit *createLightYear(UErrorCode &status);
01841
01842 #ifndef U_HIDE_DRAFT_API
01843
01848 static MeasureUnit getLightYear();
01849 #endif
01850
01858 static MeasureUnit *createMeter(UErrorCode &status);
01859
01860 #ifndef U_HIDE_DRAFT_API
01861
01866 static MeasureUnit getMeter();
01867 #endif
01868
01876 static MeasureUnit *createMicrometer(UErrorCode &status);
01877
01878 #ifndef U_HIDE_DRAFT_API
01879
01884 static MeasureUnit getMicrometer();
01885 #endif
01886
01894 static MeasureUnit *createMile(UErrorCode &status);
01895
01896 #ifndef U_HIDE_DRAFT_API
01897
01902 static MeasureUnit getMile();
01903 #endif
01904
01912 static MeasureUnit *createMileScandinavian(UErrorCode &status);
01913
01914 #ifndef U_HIDE_DRAFT_API
01915
01920 static MeasureUnit getMileScandinavian();
01921 #endif
01922
01930 static MeasureUnit *createMillimeter(UErrorCode &status);
01931
01932 #ifndef U_HIDE_DRAFT_API
01933
01938 static MeasureUnit getMillimeter();
01939 #endif
01940
01948 static MeasureUnit *createNanometer(UErrorCode &status);
01949
01950 #ifndef U_HIDE_DRAFT_API
01951
01956 static MeasureUnit getNanometer();
01957 #endif
01958
01966 static MeasureUnit *createNauticalMile(UErrorCode &status);
01967
01968 #ifndef U_HIDE_DRAFT_API
01969
01974 static MeasureUnit getNauticalMile();
01975 #endif
01976
01984 static MeasureUnit *createParsec(UErrorCode &status);
01985
01986 #ifndef U_HIDE_DRAFT_API
01987
01992 static MeasureUnit getParsec();
01993 #endif
01994
02002 static MeasureUnit *createPicometer(UErrorCode &status);
02003
02004 #ifndef U_HIDE_DRAFT_API
02005
02010 static MeasureUnit getPicometer();
02011 #endif
02012
02020 static MeasureUnit *createPoint(UErrorCode &status);
02021
02022 #ifndef U_HIDE_DRAFT_API
02023
02028 static MeasureUnit getPoint();
02029 #endif
02030
02031 #ifndef U_HIDE_DRAFT_API
02032
02039 static MeasureUnit *createSolarRadius(UErrorCode &status);
02040
02046 static MeasureUnit getSolarRadius();
02047 #endif
02048
02056 static MeasureUnit *createYard(UErrorCode &status);
02057
02058 #ifndef U_HIDE_DRAFT_API
02059
02064 static MeasureUnit getYard();
02065 #endif
02066
02074 static MeasureUnit *createLux(UErrorCode &status);
02075
02076 #ifndef U_HIDE_DRAFT_API
02077
02082 static MeasureUnit getLux();
02083 #endif
02084
02085 #ifndef U_HIDE_DRAFT_API
02086
02093 static MeasureUnit *createSolarLuminosity(UErrorCode &status);
02094
02100 static MeasureUnit getSolarLuminosity();
02101 #endif
02102
02110 static MeasureUnit *createCarat(UErrorCode &status);
02111
02112 #ifndef U_HIDE_DRAFT_API
02113
02118 static MeasureUnit getCarat();
02119 #endif
02120
02121 #ifndef U_HIDE_DRAFT_API
02122
02129 static MeasureUnit *createDalton(UErrorCode &status);
02130
02136 static MeasureUnit getDalton();
02137 #endif
02138
02139 #ifndef U_HIDE_DRAFT_API
02140
02147 static MeasureUnit *createEarthMass(UErrorCode &status);
02148
02154 static MeasureUnit getEarthMass();
02155 #endif
02156
02164 static MeasureUnit *createGram(UErrorCode &status);
02165
02166 #ifndef U_HIDE_DRAFT_API
02167
02172 static MeasureUnit getGram();
02173 #endif
02174
02182 static MeasureUnit *createKilogram(UErrorCode &status);
02183
02184 #ifndef U_HIDE_DRAFT_API
02185
02190 static MeasureUnit getKilogram();
02191 #endif
02192
02200 static MeasureUnit *createMetricTon(UErrorCode &status);
02201
02202 #ifndef U_HIDE_DRAFT_API
02203
02208 static MeasureUnit getMetricTon();
02209 #endif
02210
02218 static MeasureUnit *createMicrogram(UErrorCode &status);
02219
02220 #ifndef U_HIDE_DRAFT_API
02221
02226 static MeasureUnit getMicrogram();
02227 #endif
02228
02236 static MeasureUnit *createMilligram(UErrorCode &status);
02237
02238 #ifndef U_HIDE_DRAFT_API
02239
02244 static MeasureUnit getMilligram();
02245 #endif
02246
02254 static MeasureUnit *createOunce(UErrorCode &status);
02255
02256 #ifndef U_HIDE_DRAFT_API
02257
02262 static MeasureUnit getOunce();
02263 #endif
02264
02272 static MeasureUnit *createOunceTroy(UErrorCode &status);
02273
02274 #ifndef U_HIDE_DRAFT_API
02275
02280 static MeasureUnit getOunceTroy();
02281 #endif
02282
02290 static MeasureUnit *createPound(UErrorCode &status);
02291
02292 #ifndef U_HIDE_DRAFT_API
02293
02298 static MeasureUnit getPound();
02299 #endif
02300
02301 #ifndef U_HIDE_DRAFT_API
02302
02309 static MeasureUnit *createSolarMass(UErrorCode &status);
02310
02316 static MeasureUnit getSolarMass();
02317 #endif
02318
02326 static MeasureUnit *createStone(UErrorCode &status);
02327
02328 #ifndef U_HIDE_DRAFT_API
02329
02334 static MeasureUnit getStone();
02335 #endif
02336
02344 static MeasureUnit *createTon(UErrorCode &status);
02345
02346 #ifndef U_HIDE_DRAFT_API
02347
02352 static MeasureUnit getTon();
02353 #endif
02354
02362 static MeasureUnit *createGigawatt(UErrorCode &status);
02363
02364 #ifndef U_HIDE_DRAFT_API
02365
02370 static MeasureUnit getGigawatt();
02371 #endif
02372
02380 static MeasureUnit *createHorsepower(UErrorCode &status);
02381
02382 #ifndef U_HIDE_DRAFT_API
02383
02388 static MeasureUnit getHorsepower();
02389 #endif
02390
02398 static MeasureUnit *createKilowatt(UErrorCode &status);
02399
02400 #ifndef U_HIDE_DRAFT_API
02401
02406 static MeasureUnit getKilowatt();
02407 #endif
02408
02416 static MeasureUnit *createMegawatt(UErrorCode &status);
02417
02418 #ifndef U_HIDE_DRAFT_API
02419
02424 static MeasureUnit getMegawatt();
02425 #endif
02426
02434 static MeasureUnit *createMilliwatt(UErrorCode &status);
02435
02436 #ifndef U_HIDE_DRAFT_API
02437
02442 static MeasureUnit getMilliwatt();
02443 #endif
02444
02452 static MeasureUnit *createWatt(UErrorCode &status);
02453
02454 #ifndef U_HIDE_DRAFT_API
02455
02460 static MeasureUnit getWatt();
02461 #endif
02462
02470 static MeasureUnit *createAtmosphere(UErrorCode &status);
02471
02472 #ifndef U_HIDE_DRAFT_API
02473
02478 static MeasureUnit getAtmosphere();
02479 #endif
02480
02481 #ifndef U_HIDE_DRAFT_API
02482
02489 static MeasureUnit *createBar(UErrorCode &status);
02490
02496 static MeasureUnit getBar();
02497 #endif
02498
02506 static MeasureUnit *createHectopascal(UErrorCode &status);
02507
02508 #ifndef U_HIDE_DRAFT_API
02509
02514 static MeasureUnit getHectopascal();
02515 #endif
02516
02524 static MeasureUnit *createInchHg(UErrorCode &status);
02525
02526 #ifndef U_HIDE_DRAFT_API
02527
02532 static MeasureUnit getInchHg();
02533 #endif
02534
02535 #ifndef U_HIDE_DRAFT_API
02536
02543 static MeasureUnit *createKilopascal(UErrorCode &status);
02544
02550 static MeasureUnit getKilopascal();
02551 #endif
02552
02553 #ifndef U_HIDE_DRAFT_API
02554
02561 static MeasureUnit *createMegapascal(UErrorCode &status);
02562
02568 static MeasureUnit getMegapascal();
02569 #endif
02570
02578 static MeasureUnit *createMillibar(UErrorCode &status);
02579
02580 #ifndef U_HIDE_DRAFT_API
02581
02586 static MeasureUnit getMillibar();
02587 #endif
02588
02596 static MeasureUnit *createMillimeterOfMercury(UErrorCode &status);
02597
02598 #ifndef U_HIDE_DRAFT_API
02599
02604 static MeasureUnit getMillimeterOfMercury();
02605 #endif
02606
02607 #ifndef U_HIDE_DRAFT_API
02608
02615 static MeasureUnit *createPascal(UErrorCode &status);
02616
02622 static MeasureUnit getPascal();
02623 #endif
02624
02632 static MeasureUnit *createPoundPerSquareInch(UErrorCode &status);
02633
02634 #ifndef U_HIDE_DRAFT_API
02635
02640 static MeasureUnit getPoundPerSquareInch();
02641 #endif
02642
02650 static MeasureUnit *createKilometerPerHour(UErrorCode &status);
02651
02652 #ifndef U_HIDE_DRAFT_API
02653
02658 static MeasureUnit getKilometerPerHour();
02659 #endif
02660
02668 static MeasureUnit *createKnot(UErrorCode &status);
02669
02670 #ifndef U_HIDE_DRAFT_API
02671
02676 static MeasureUnit getKnot();
02677 #endif
02678
02686 static MeasureUnit *createMeterPerSecond(UErrorCode &status);
02687
02688 #ifndef U_HIDE_DRAFT_API
02689
02694 static MeasureUnit getMeterPerSecond();
02695 #endif
02696
02704 static MeasureUnit *createMilePerHour(UErrorCode &status);
02705
02706 #ifndef U_HIDE_DRAFT_API
02707
02712 static MeasureUnit getMilePerHour();
02713 #endif
02714
02722 static MeasureUnit *createCelsius(UErrorCode &status);
02723
02724 #ifndef U_HIDE_DRAFT_API
02725
02730 static MeasureUnit getCelsius();
02731 #endif
02732
02740 static MeasureUnit *createFahrenheit(UErrorCode &status);
02741
02742 #ifndef U_HIDE_DRAFT_API
02743
02748 static MeasureUnit getFahrenheit();
02749 #endif
02750
02758 static MeasureUnit *createGenericTemperature(UErrorCode &status);
02759
02760 #ifndef U_HIDE_DRAFT_API
02761
02766 static MeasureUnit getGenericTemperature();
02767 #endif
02768
02776 static MeasureUnit *createKelvin(UErrorCode &status);
02777
02778 #ifndef U_HIDE_DRAFT_API
02779
02784 static MeasureUnit getKelvin();
02785 #endif
02786
02787 #ifndef U_HIDE_DRAFT_API
02788
02795 static MeasureUnit *createNewtonMeter(UErrorCode &status);
02796
02802 static MeasureUnit getNewtonMeter();
02803 #endif
02804
02805 #ifndef U_HIDE_DRAFT_API
02806
02813 static MeasureUnit *createPoundFoot(UErrorCode &status);
02814
02820 static MeasureUnit getPoundFoot();
02821 #endif
02822
02830 static MeasureUnit *createAcreFoot(UErrorCode &status);
02831
02832 #ifndef U_HIDE_DRAFT_API
02833
02838 static MeasureUnit getAcreFoot();
02839 #endif
02840
02841 #ifndef U_HIDE_DRAFT_API
02842
02849 static MeasureUnit *createBarrel(UErrorCode &status);
02850
02856 static MeasureUnit getBarrel();
02857 #endif
02858
02866 static MeasureUnit *createBushel(UErrorCode &status);
02867
02868 #ifndef U_HIDE_DRAFT_API
02869
02874 static MeasureUnit getBushel();
02875 #endif
02876
02884 static MeasureUnit *createCentiliter(UErrorCode &status);
02885
02886 #ifndef U_HIDE_DRAFT_API
02887
02892 static MeasureUnit getCentiliter();
02893 #endif
02894
02902 static MeasureUnit *createCubicCentimeter(UErrorCode &status);
02903
02904 #ifndef U_HIDE_DRAFT_API
02905
02910 static MeasureUnit getCubicCentimeter();
02911 #endif
02912
02920 static MeasureUnit *createCubicFoot(UErrorCode &status);
02921
02922 #ifndef U_HIDE_DRAFT_API
02923
02928 static MeasureUnit getCubicFoot();
02929 #endif
02930
02938 static MeasureUnit *createCubicInch(UErrorCode &status);
02939
02940 #ifndef U_HIDE_DRAFT_API
02941
02946 static MeasureUnit getCubicInch();
02947 #endif
02948
02956 static MeasureUnit *createCubicKilometer(UErrorCode &status);
02957
02958 #ifndef U_HIDE_DRAFT_API
02959
02964 static MeasureUnit getCubicKilometer();
02965 #endif
02966
02974 static MeasureUnit *createCubicMeter(UErrorCode &status);
02975
02976 #ifndef U_HIDE_DRAFT_API
02977
02982 static MeasureUnit getCubicMeter();
02983 #endif
02984
02992 static MeasureUnit *createCubicMile(UErrorCode &status);
02993
02994 #ifndef U_HIDE_DRAFT_API
02995
03000 static MeasureUnit getCubicMile();
03001 #endif
03002
03010 static MeasureUnit *createCubicYard(UErrorCode &status);
03011
03012 #ifndef U_HIDE_DRAFT_API
03013
03018 static MeasureUnit getCubicYard();
03019 #endif
03020
03028 static MeasureUnit *createCup(UErrorCode &status);
03029
03030 #ifndef U_HIDE_DRAFT_API
03031
03036 static MeasureUnit getCup();
03037 #endif
03038
03046 static MeasureUnit *createCupMetric(UErrorCode &status);
03047
03048 #ifndef U_HIDE_DRAFT_API
03049
03054 static MeasureUnit getCupMetric();
03055 #endif
03056
03064 static MeasureUnit *createDeciliter(UErrorCode &status);
03065
03066 #ifndef U_HIDE_DRAFT_API
03067
03072 static MeasureUnit getDeciliter();
03073 #endif
03074
03082 static MeasureUnit *createFluidOunce(UErrorCode &status);
03083
03084 #ifndef U_HIDE_DRAFT_API
03085
03090 static MeasureUnit getFluidOunce();
03091 #endif
03092
03093 #ifndef U_HIDE_DRAFT_API
03094
03101 static MeasureUnit *createFluidOunceImperial(UErrorCode &status);
03102
03108 static MeasureUnit getFluidOunceImperial();
03109 #endif
03110
03118 static MeasureUnit *createGallon(UErrorCode &status);
03119
03120 #ifndef U_HIDE_DRAFT_API
03121
03126 static MeasureUnit getGallon();
03127 #endif
03128
03136 static MeasureUnit *createGallonImperial(UErrorCode &status);
03137
03138 #ifndef U_HIDE_DRAFT_API
03139
03144 static MeasureUnit getGallonImperial();
03145 #endif
03146
03154 static MeasureUnit *createHectoliter(UErrorCode &status);
03155
03156 #ifndef U_HIDE_DRAFT_API
03157
03162 static MeasureUnit getHectoliter();
03163 #endif
03164
03172 static MeasureUnit *createLiter(UErrorCode &status);
03173
03174 #ifndef U_HIDE_DRAFT_API
03175
03180 static MeasureUnit getLiter();
03181 #endif
03182
03190 static MeasureUnit *createMegaliter(UErrorCode &status);
03191
03192 #ifndef U_HIDE_DRAFT_API
03193
03198 static MeasureUnit getMegaliter();
03199 #endif
03200
03208 static MeasureUnit *createMilliliter(UErrorCode &status);
03209
03210 #ifndef U_HIDE_DRAFT_API
03211
03216 static MeasureUnit getMilliliter();
03217 #endif
03218
03226 static MeasureUnit *createPint(UErrorCode &status);
03227
03228 #ifndef U_HIDE_DRAFT_API
03229
03234 static MeasureUnit getPint();
03235 #endif
03236
03244 static MeasureUnit *createPintMetric(UErrorCode &status);
03245
03246 #ifndef U_HIDE_DRAFT_API
03247
03252 static MeasureUnit getPintMetric();
03253 #endif
03254
03262 static MeasureUnit *createQuart(UErrorCode &status);
03263
03264 #ifndef U_HIDE_DRAFT_API
03265
03270 static MeasureUnit getQuart();
03271 #endif
03272
03280 static MeasureUnit *createTablespoon(UErrorCode &status);
03281
03282 #ifndef U_HIDE_DRAFT_API
03283
03288 static MeasureUnit getTablespoon();
03289 #endif
03290
03298 static MeasureUnit *createTeaspoon(UErrorCode &status);
03299
03300 #ifndef U_HIDE_DRAFT_API
03301
03306 static MeasureUnit getTeaspoon();
03307 #endif
03308
03309
03310
03311
03312 protected:
03313
03314 #ifndef U_HIDE_INTERNAL_API
03315
03319 void initTime(const char *timeId);
03320
03325 void initCurrency(const char *isoCurrency);
03326
03331 void initNoUnit(const char *subtype);
03332
03333 #endif
03334
03335 private:
03336 int32_t fTypeId;
03337 int32_t fSubTypeId;
03338 char fCurrency[4];
03339
03340 MeasureUnit(int32_t typeId, int32_t subTypeId) : fTypeId(typeId), fSubTypeId(subTypeId) {
03341 fCurrency[0] = 0;
03342 }
03343 void setTo(int32_t typeId, int32_t subTypeId);
03344 int32_t getOffset() const;
03345 static MeasureUnit *create(int typeId, int subTypeId, UErrorCode &status);
03346 };
03347
03348 U_NAMESPACE_END
03349
03350 #endif // !UNCONFIG_NO_FORMATTING
03351
03352 #endif
03353
03354 #endif // __MEASUREUNIT_H__