ICU 67.1 67.1
measunit.h
Go to the documentation of this file.
1// © 2016 and later: Unicode, Inc. and others.
2// License & terms of use: http://www.unicode.org/copyright.html
3/*
4**********************************************************************
5* Copyright (c) 2004-2016, International Business Machines
6* Corporation and others. All Rights Reserved.
7**********************************************************************
8* Author: Alan Liu
9* Created: April 26, 2004
10* Since: ICU 3.0
11**********************************************************************
12*/
13#ifndef __MEASUREUNIT_H__
14#define __MEASUREUNIT_H__
15
16#include "unicode/utypes.h"
17
18#if U_SHOW_CPLUSPLUS_API
19
20#if !UCONFIG_NO_FORMATTING
21
22#include "unicode/unistr.h"
24
29
30U_NAMESPACE_BEGIN
31
32class StringEnumeration;
33struct MeasureUnitImpl;
34
35#ifndef U_HIDE_DRAFT_API
73
228#endif // U_HIDE_DRAFT_API
229
238 public:
239
246
252
253#ifndef U_HIDE_DRAFT_API
258 MeasureUnit(MeasureUnit &&other) noexcept;
259
272 static MeasureUnit forIdentifier(StringPiece identifier, UErrorCode& status);
273#endif // U_HIDE_DRAFT_API
274
280
281#ifndef U_HIDE_DRAFT_API
287#endif // U_HIDE_DRAFT_API
288
294 virtual MeasureUnit* clone() const;
295
300 virtual ~MeasureUnit();
301
307 virtual UBool operator==(const UObject& other) const;
308
314 UBool operator!=(const UObject& other) const {
315 return !(*this == other);
316 }
317
325 const char *getType() const;
326
334 const char *getSubtype() const;
335
336#ifndef U_HIDE_DRAFT_API
343 const char* getIdentifier() const;
344
353
369
382
397 MeasureUnit withDimensionality(int32_t dimensionality, UErrorCode& status) const;
398
412 int32_t getDimensionality(UErrorCode& status) const;
413
427
445 MeasureUnit product(const MeasureUnit& other, UErrorCode& status) const;
446#endif // U_HIDE_DRAFT_API
447
448#ifndef U_HIDE_INTERNAL_API
467 LocalArray<MeasureUnit> splitToSingleUnits(int32_t& outCount, UErrorCode& status) const;
468#endif // U_HIDE_INTERNAL_API
469
481 static int32_t getAvailable(
482 MeasureUnit *destArray,
483 int32_t destCapacity,
484 UErrorCode &errorCode);
485
498 static int32_t getAvailable(
499 const char *type,
500 MeasureUnit *destArray,
501 int32_t destCapacity,
502 UErrorCode &errorCode);
503
513
525 static UClassID U_EXPORT2 getStaticClassID(void);
526
538 virtual UClassID getDynamicClassID(void) const;
539
540#ifndef U_HIDE_INTERNAL_API
547 int32_t getIndex() const;
548
554 static int32_t getIndexCount();
555
562 static int32_t internalGetIndexForTypeAndSubtype(const char *type, const char *subtype);
563
569 const MeasureUnit &unit, const MeasureUnit &perUnit, bool* isResolved);
570#endif /* U_HIDE_INTERNAL_API */
571
572// All code between the "Start generated createXXX methods" comment and
573// the "End generated createXXX methods" comment is auto generated code
574// and must not be edited manually. For instructions on how to correctly
575// update this code, refer to:
576// http://site.icu-project.org/design/formatting/measureformat/updating-measure-unit
577//
578// Start generated createXXX methods
579
588
595
604
611
620
627
636
643
652
659
668
675
684
691
700
707
716
723
732
739
748
755
764
771
780
787
796
803
812
819
828
835
844
851
860
867
876
883
892
899
908
915
924
931
940
947
956
963
972
979
988
995
1004
1011
1020
1027
1036
1043
1052
1059
1068
1075
1084
1091
1100
1107
1116
1123
1132
1139
1148
1155
1164
1171
1180
1187
1196
1203
1212
1219
1228
1235
1244
1251
1260
1267
1268#ifndef U_HIDE_DRAFT_API
1277
1284#endif /* U_HIDE_DRAFT_API */
1285
1294
1301
1310
1317
1326
1333
1342
1349
1358
1365
1374
1381
1390
1397
1406
1413
1422
1429
1438
1445
1454
1461
1470
1477
1486
1493
1502
1509
1518
1525
1534
1541
1550
1557
1566
1573
1582
1589
1598
1605
1614
1621
1630
1637
1646
1653
1662
1669
1670#ifndef U_HIDE_DRAFT_API
1679
1686#endif /* U_HIDE_DRAFT_API */
1687
1696
1703
1712
1719
1728
1735
1744
1751
1760
1767
1776
1783
1784#ifndef U_HIDE_DRAFT_API
1793
1800#endif /* U_HIDE_DRAFT_API */
1801
1802#ifndef U_HIDE_DRAFT_API
1811
1818#endif /* U_HIDE_DRAFT_API */
1819
1820#ifndef U_HIDE_DRAFT_API
1829
1836#endif /* U_HIDE_DRAFT_API */
1837
1838#ifndef U_HIDE_DRAFT_API
1847
1854#endif /* U_HIDE_DRAFT_API */
1855
1856#ifndef U_HIDE_DRAFT_API
1865
1872#endif /* U_HIDE_DRAFT_API */
1873
1874#ifndef U_HIDE_DRAFT_API
1883
1890#endif /* U_HIDE_DRAFT_API */
1891
1892#ifndef U_HIDE_DRAFT_API
1901
1908#endif /* U_HIDE_DRAFT_API */
1909
1918
1925
1934
1941
1950
1957
1966
1973
1982
1989
1998
2005
2014
2021
2030
2037
2046
2053
2062
2069
2078
2085
2094
2101
2110
2117
2126
2133
2142
2149
2158
2165
2174
2181
2190
2197
2206
2213
2222
2229
2238
2245
2254
2261
2270
2277
2286
2293
2302
2309
2318
2325
2334
2341
2350
2357
2366
2373
2382
2389
2398
2405
2414
2421
2430
2437
2446
2453
2462
2469
2478
2485
2494
2501
2510
2517
2526
2533
2542
2549
2558
2565
2574
2581
2590
2597
2606
2613
2614#ifndef U_HIDE_DRAFT_API
2623
2630#endif /* U_HIDE_DRAFT_API */
2631
2640
2647
2656
2663
2672
2679
2688
2695
2704
2711
2720
2727
2728#ifndef U_HIDE_DRAFT_API
2737
2744#endif /* U_HIDE_DRAFT_API */
2745
2754
2761
2770
2777
2786
2793
2802
2809
2818
2825
2834
2841
2850
2857
2866
2873
2882
2889
2898
2905
2914
2921
2930
2937
2946
2953
2962
2969
2978
2985
2994
3001
3010
3017
3026
3033
3042
3049
3058
3065
3074
3081
3090
3097
3106
3113
3122
3129
3138
3145
3154
3161
3170
3177
3186
3193
3202
3209
3218
3225
3234
3241
3250
3257
3266
3273
3282
3289
3298
3305
3314
3321
3330
3337
3346
3353
3354
3355// End generated createXXX methods
3356
3357 protected:
3358
3359#ifndef U_HIDE_INTERNAL_API
3364 void initTime(const char *timeId);
3365
3370 void initCurrency(StringPiece isoCurrency);
3371
3376 void initNoUnit(const char *subtype);
3377
3378#endif /* U_HIDE_INTERNAL_API */
3379
3380private:
3381
3382 // Used by new draft APIs in ICU 67. If non-null, fImpl is owned by the
3383 // MeasureUnit.
3384 MeasureUnitImpl* fImpl;
3385
3386 // An index into a static string list in measunit.cpp. If set to -1, fImpl
3387 // is in use instead of fTypeId and fSubTypeId.
3388 int16_t fSubTypeId;
3389 // An index into a static string list in measunit.cpp. If set to -1, fImpl
3390 // is in use instead of fTypeId and fSubTypeId.
3391 int8_t fTypeId;
3392
3393 MeasureUnit(int32_t typeId, int32_t subTypeId);
3394 MeasureUnit(MeasureUnitImpl&& impl);
3395 void setTo(int32_t typeId, int32_t subTypeId);
3396 int32_t getOffset() const;
3397 static MeasureUnit *create(int typeId, int subTypeId, UErrorCode &status);
3398
3406 static bool findBySubType(StringPiece subType, MeasureUnit* output);
3407
3408 friend struct MeasureUnitImpl;
3409};
3410
3411U_NAMESPACE_END
3412
3413#endif // !UNCONFIG_NO_FORMATTING
3414
3415#endif /* U_SHOW_CPLUSPLUS_API */
3416
3417#endif // __MEASUREUNIT_H__
"Smart pointer" class, deletes objects via the C++ array delete[] operator.
static MeasureUnit getBritishThermalUnit()
Returns by value, unit of energy: british-thermal-unit.
static MeasureUnit getInch()
Returns by value, unit of length: inch.
static MeasureUnit * createMeterPerSecondSquared(UErrorCode &status)
Returns by pointer, unit of acceleration: meter-per-square-second.
static MeasureUnit getMilligramPerDeciliter()
Returns by value, unit of concentr: milligram-per-deciliter.
static MeasureUnit * createDayPerson(UErrorCode &status)
Returns by pointer, unit of duration: day-person.
static MeasureUnit * createMillibar(UErrorCode &status)
Returns by pointer, unit of pressure: millibar.
static MeasureUnit * createDecade(UErrorCode &status)
Returns by pointer, unit of duration: decade.
static MeasureUnit * createArcMinute(UErrorCode &status)
Returns by pointer, unit of angle: arc-minute.
static MeasureUnit * createKilowattHour(UErrorCode &status)
Returns by pointer, unit of energy: kilowatt-hour.
static int32_t getAvailable(const char *type, MeasureUnit *destArray, int32_t destCapacity, UErrorCode &errorCode)
getAvailable gets all of the available units for a specific type.
static MeasureUnit getKilobit()
Returns by value, unit of digital: kilobit.
static MeasureUnit getLiterPerKilometer()
Returns by value, unit of consumption: liter-per-kilometer.
static MeasureUnit getMillimolePerLiter()
Returns by value, unit of concentr: millimole-per-liter.
static MeasureUnit * createKilobyte(UErrorCode &status)
Returns by pointer, unit of digital: kilobyte.
static MeasureUnit getDegree()
Returns by value, unit of angle: degree.
static MeasureUnit getMilePerGallon()
Returns by value, unit of consumption: mile-per-gallon.
static MeasureUnit getKilohertz()
Returns by value, unit of frequency: kilohertz.
static MeasureUnit * createCubicFoot(UErrorCode &status)
Returns by pointer, unit of volume: cubic-foot.
static MeasureUnit getMinute()
Returns by value, unit of duration: minute.
static MeasureUnit getTerabyte()
Returns by value, unit of digital: terabyte.
static MeasureUnit getMillimeterOfMercury()
Returns by value, unit of pressure: millimeter-ofhg.
static MeasureUnit getCubicYard()
Returns by value, unit of volume: cubic-yard.
void initCurrency(StringPiece isoCurrency)
For ICU use only.
static MeasureUnit getGenericTemperature()
Returns by value, unit of temperature: generic.
static MeasureUnit getKilowattHour()
Returns by value, unit of energy: kilowatt-hour.
static MeasureUnit getBit()
Returns by value, unit of digital: bit.
static MeasureUnit getStone()
Returns by value, unit of mass: stone.
static MeasureUnit getParsec()
Returns by value, unit of length: parsec.
static MeasureUnit * createQuart(UErrorCode &status)
Returns by pointer, unit of volume: quart.
static MeasureUnit getKilopascal()
Returns by value, unit of pressure: kilopascal.
static MeasureUnit getHour()
Returns by value, unit of duration: hour.
static MeasureUnit getPoundFoot()
Returns by value, unit of torque: pound-force-foot.
static MeasureUnit * createLightYear(UErrorCode &status)
Returns by pointer, unit of length: light-year.
static MeasureUnit * createNanometer(UErrorCode &status)
Returns by pointer, unit of length: nanometer.
static MeasureUnit getPixelPerCentimeter()
Returns by value, unit of graphics: pixel-per-centimeter.
static int32_t internalGetIndexForTypeAndSubtype(const char *type, const char *subtype)
ICU use only.
static MeasureUnit getMegabyte()
Returns by value, unit of digital: megabyte.
static MeasureUnit * createKarat(UErrorCode &status)
Returns by pointer, unit of concentr: karat.
static MeasureUnit * createOhm(UErrorCode &status)
Returns by pointer, unit of electric: ohm.
static MeasureUnit * createStone(UErrorCode &status)
Returns by pointer, unit of mass: stone.
static MeasureUnit getMile()
Returns by value, unit of length: mile.
static MeasureUnit getPermyriad()
Returns by value, unit of concentr: permyriad.
static MeasureUnit * createPermille(UErrorCode &status)
Returns by pointer, unit of concentr: permille.
static MeasureUnit * createAcreFoot(UErrorCode &status)
Returns by pointer, unit of volume: acre-foot.
static MeasureUnit getAstronomicalUnit()
Returns by value, unit of length: astronomical-unit.
static MeasureUnit * createHertz(UErrorCode &status)
Returns by pointer, unit of frequency: hertz.
static MeasureUnit * createVolt(UErrorCode &status)
Returns by pointer, unit of electric: volt.
static MeasureUnit getBarrel()
Returns by value, unit of volume: barrel.
static MeasureUnit * createSquareKilometer(UErrorCode &status)
Returns by pointer, unit of area: square-kilometer.
static MeasureUnit * createFluidOunceImperial(UErrorCode &status)
Returns by pointer, unit of volume: fluid-ounce-imperial.
static MeasureUnit * createGenericTemperature(UErrorCode &status)
Returns by pointer, unit of temperature: generic.
static MeasureUnit getDalton()
Returns by value, unit of mass: dalton.
static MeasureUnit getMilePerHour()
Returns by value, unit of speed: mile-per-hour.
static MeasureUnit getTerabit()
Returns by value, unit of digital: terabit.
static MeasureUnit * createCup(UErrorCode &status)
Returns by pointer, unit of volume: cup.
static MeasureUnit getDotPerCentimeter()
Returns by value, unit of graphics: dot-per-centimeter.
UMeasureSIPrefix getSIPrefix(UErrorCode &status) const
Gets the current SI prefix of this SINGLE unit.
int32_t getDimensionality(UErrorCode &status) const
Gets the dimensionality (power) of this MeasureUnit.
static MeasureUnit getCalorie()
Returns by value, unit of energy: calorie.
static UClassID getStaticClassID(void)
Return the class ID for this class.
static MeasureUnit getCentimeter()
Returns by value, unit of length: centimeter.
static MeasureUnit getGigahertz()
Returns by value, unit of frequency: gigahertz.
static MeasureUnit getPixelPerInch()
Returns by value, unit of graphics: pixel-per-inch.
static MeasureUnit * createMileScandinavian(UErrorCode &status)
Returns by pointer, unit of length: mile-scandinavian.
static MeasureUnit getFoodcalorie()
Returns by value, unit of energy: foodcalorie.
static MeasureUnit * createInchHg(UErrorCode &status)
Returns by pointer, unit of pressure: inch-ofhg.
static MeasureUnit getMicrogram()
Returns by value, unit of mass: microgram.
static MeasureUnit * createMilePerGallonImperial(UErrorCode &status)
Returns by pointer, unit of consumption: mile-per-gallon-imperial.
static MeasureUnit getSquareKilometer()
Returns by value, unit of area: square-kilometer.
static MeasureUnit getKilometer()
Returns by value, unit of length: kilometer.
static MeasureUnit getGigabyte()
Returns by value, unit of digital: gigabyte.
static MeasureUnit getMilligram()
Returns by value, unit of mass: milligram.
static MeasureUnit getPascal()
Returns by value, unit of pressure: pascal.
static MeasureUnit * createPixelPerInch(UErrorCode &status)
Returns by pointer, unit of graphics: pixel-per-inch.
static MeasureUnit getRadian()
Returns by value, unit of angle: radian.
static MeasureUnit getPoint()
Returns by value, unit of length: point.
static MeasureUnit getPoundForce()
Returns by value, unit of force: pound-force.
static MeasureUnit * createTerabit(UErrorCode &status)
Returns by pointer, unit of digital: terabit.
static MeasureUnit * createMegapascal(UErrorCode &status)
Returns by pointer, unit of pressure: megapascal.
MeasureUnit product(const MeasureUnit &other, UErrorCode &status) const
Gets the product of this unit with another unit.
static MeasureUnit * createYear(UErrorCode &status)
Returns by pointer, unit of duration: year.
static MeasureUnit * createMile(UErrorCode &status)
Returns by pointer, unit of length: mile.
static MeasureUnit * createMonth(UErrorCode &status)
Returns by pointer, unit of duration: month.
static MeasureUnit getKilocalorie()
Returns by value, unit of energy: kilocalorie.
static MeasureUnit getMicrosecond()
Returns by value, unit of duration: microsecond.
static MeasureUnit getBushel()
Returns by value, unit of volume: bushel.
static MeasureUnit * createMilliampere(UErrorCode &status)
Returns by pointer, unit of electric: milliampere.
static MeasureUnit getFluidOunce()
Returns by value, unit of volume: fluid-ounce.
static MeasureUnit getHectoliter()
Returns by value, unit of volume: hectoliter.
static MeasureUnit * createDunam(UErrorCode &status)
Returns by pointer, unit of area: dunam.
static MeasureUnit * createMegabit(UErrorCode &status)
Returns by pointer, unit of digital: megabit.
static MeasureUnit getCarat()
Returns by value, unit of mass: carat.
static MeasureUnit getVolt()
Returns by value, unit of electric: volt.
static MeasureUnit * createThermUs(UErrorCode &status)
Returns by pointer, unit of energy: therm-us.
static MeasureUnit * createAtmosphere(UErrorCode &status)
Returns by pointer, unit of pressure: atmosphere.
static MeasureUnit getOunce()
Returns by value, unit of mass: ounce.
static MeasureUnit getHectare()
Returns by value, unit of area: hectare.
static MeasureUnit getNanosecond()
Returns by value, unit of duration: nanosecond.
static MeasureUnit * createPixelPerCentimeter(UErrorCode &status)
Returns by pointer, unit of graphics: pixel-per-centimeter.
static MeasureUnit getEarthMass()
Returns by value, unit of mass: earth-mass.
static MeasureUnit * createPintMetric(UErrorCode &status)
Returns by pointer, unit of volume: pint-metric.
static MeasureUnit getFahrenheit()
Returns by value, unit of temperature: fahrenheit.
static MeasureUnit * createOunce(UErrorCode &status)
Returns by pointer, unit of mass: ounce.
static int32_t getAvailable(MeasureUnit *destArray, int32_t destCapacity, UErrorCode &errorCode)
getAvailable gets all of the available units.
static MeasureUnit * createKilohertz(UErrorCode &status)
Returns by pointer, unit of frequency: kilohertz.
static MeasureUnit getMileScandinavian()
Returns by value, unit of length: mile-scandinavian.
static MeasureUnit getMegapascal()
Returns by value, unit of pressure: megapascal.
static MeasureUnit * createNewton(UErrorCode &status)
Returns by pointer, unit of force: newton.
static MeasureUnit getDeciliter()
Returns by value, unit of volume: deciliter.
virtual MeasureUnit * clone() const
Returns a polymorphic clone of this object.
static MeasureUnit * createMilliwatt(UErrorCode &status)
Returns by pointer, unit of power: milliwatt.
static MeasureUnit * createMicrosecond(UErrorCode &status)
Returns by pointer, unit of duration: microsecond.
static MeasureUnit getPixel()
Returns by value, unit of graphics: pixel.
static MeasureUnit * createPascal(UErrorCode &status)
Returns by pointer, unit of pressure: pascal.
MeasureUnit(const MeasureUnit &other)
Copy constructor.
static MeasureUnit * createCarat(UErrorCode &status)
Returns by pointer, unit of mass: carat.
static MeasureUnit getSolarLuminosity()
Returns by value, unit of light: solar-luminosity.
static MeasureUnit * createGigabyte(UErrorCode &status)
Returns by pointer, unit of digital: gigabyte.
static MeasureUnit * createGigabit(UErrorCode &status)
Returns by pointer, unit of digital: gigabit.
static MeasureUnit getMonthPerson()
Returns by value, unit of duration: month-person.
static MeasureUnit * createParsec(UErrorCode &status)
Returns by pointer, unit of length: parsec.
static MeasureUnit * createLux(UErrorCode &status)
Returns by pointer, unit of light: lux.
static MeasureUnit * createWeek(UErrorCode &status)
Returns by pointer, unit of duration: week.
static MeasureUnit getCentiliter()
Returns by value, unit of volume: centiliter.
static MeasureUnit getPartPerMillion()
Returns by value, unit of concentr: permillion.
static MeasureUnit * createJoule(UErrorCode &status)
Returns by pointer, unit of energy: joule.
static MeasureUnit * createSolarMass(UErrorCode &status)
Returns by pointer, unit of mass: solar-mass.
virtual UBool operator==(const UObject &other) const
Equality operator.
static MeasureUnit getMegawatt()
Returns by value, unit of power: megawatt.
UMeasureUnitComplexity getComplexity(UErrorCode &status) const
Compute the complexity of the unit.
static MeasureUnit getGigabit()
Returns by value, unit of digital: gigabit.
static MeasureUnit getTon()
Returns by value, unit of mass: ton.
static MeasureUnit * createMilliliter(UErrorCode &status)
Returns by pointer, unit of volume: milliliter.
static MeasureUnit * createHour(UErrorCode &status)
Returns by pointer, unit of duration: hour.
void initNoUnit(const char *subtype)
For ICU use only.
static MeasureUnit getFurlong()
Returns by value, unit of length: furlong.
static MeasureUnit * createBit(UErrorCode &status)
Returns by pointer, unit of digital: bit.
static MeasureUnit getLightYear()
Returns by value, unit of length: light-year.
static MeasureUnit getJoule()
Returns by value, unit of energy: joule.
static MeasureUnit getTeaspoon()
Returns by value, unit of volume: teaspoon.
static MeasureUnit getWeekPerson()
Returns by value, unit of duration: week-person.
static MeasureUnit getLiter()
Returns by value, unit of volume: liter.
static MeasureUnit getPermille()
Returns by value, unit of concentr: permille.
static MeasureUnit * createElectronvolt(UErrorCode &status)
Returns by pointer, unit of energy: electronvolt.
static MeasureUnit getYard()
Returns by value, unit of length: yard.
static MeasureUnit * createCubicYard(UErrorCode &status)
Returns by pointer, unit of volume: cubic-yard.
static MeasureUnit getByte()
Returns by value, unit of digital: byte.
static MeasureUnit getKilogram()
Returns by value, unit of mass: kilogram.
static MeasureUnit * createEarthMass(UErrorCode &status)
Returns by pointer, unit of mass: earth-mass.
static MeasureUnit * createCalorie(UErrorCode &status)
Returns by pointer, unit of energy: calorie.
static MeasureUnit * createFahrenheit(UErrorCode &status)
Returns by pointer, unit of temperature: fahrenheit.
static MeasureUnit getSquareYard()
Returns by value, unit of area: square-yard.
static MeasureUnit resolveUnitPerUnit(const MeasureUnit &unit, const MeasureUnit &perUnit, bool *isResolved)
ICU use only.
static MeasureUnit * createDay(UErrorCode &status)
Returns by pointer, unit of duration: day.
static MeasureUnit * createBritishThermalUnit(UErrorCode &status)
Returns by pointer, unit of energy: british-thermal-unit.
static MeasureUnit * createDeciliter(UErrorCode &status)
Returns by pointer, unit of volume: deciliter.
static MeasureUnit * createPercent(UErrorCode &status)
Returns by pointer, unit of concentr: percent.
static MeasureUnit getDunam()
Returns by value, unit of area: dunam.
static MeasureUnit getKilowatt()
Returns by value, unit of power: kilowatt.
static MeasureUnit * createHectare(UErrorCode &status)
Returns by pointer, unit of area: hectare.
static MeasureUnit getSolarRadius()
Returns by value, unit of length: solar-radius.
static MeasureUnit getMegapixel()
Returns by value, unit of graphics: megapixel.
MeasureUnit & operator=(MeasureUnit &&other) noexcept
Move assignment operator.
static MeasureUnit getLux()
Returns by value, unit of light: lux.
static MeasureUnit getMillimeter()
Returns by value, unit of length: millimeter.
static MeasureUnit * createMinute(UErrorCode &status)
Returns by pointer, unit of duration: minute.
static MeasureUnit * createKilometerPerHour(UErrorCode &status)
Returns by pointer, unit of speed: kilometer-per-hour.
static MeasureUnit getMilliwatt()
Returns by value, unit of power: milliwatt.
static MeasureUnit getOunceTroy()
Returns by value, unit of mass: ounce-troy.
static MeasureUnit getNewtonMeter()
Returns by value, unit of torque: newton-meter.
static MeasureUnit getAcreFoot()
Returns by value, unit of volume: acre-foot.
static MeasureUnit * createYard(UErrorCode &status)
Returns by pointer, unit of length: yard.
static MeasureUnit * createMilligram(UErrorCode &status)
Returns by pointer, unit of mass: milligram.
static MeasureUnit getNauticalMile()
Returns by value, unit of length: nautical-mile.
static MeasureUnit * createEm(UErrorCode &status)
Returns by pointer, unit of graphics: em.
static MeasureUnit * createOunceTroy(UErrorCode &status)
Returns by pointer, unit of mass: ounce-troy.
static MeasureUnit getMegaliter()
Returns by value, unit of volume: megaliter.
static MeasureUnit * createHorsepower(UErrorCode &status)
Returns by pointer, unit of power: horsepower.
static MeasureUnit getWatt()
Returns by value, unit of power: watt.
static StringEnumeration * getAvailableTypes(UErrorCode &errorCode)
getAvailableTypes gets all of the available types.
static MeasureUnit * createMegabyte(UErrorCode &status)
Returns by pointer, unit of digital: megabyte.
static MeasureUnit * createSquareCentimeter(UErrorCode &status)
Returns by pointer, unit of area: square-centimeter.
static MeasureUnit getFluidOunceImperial()
Returns by value, unit of volume: fluid-ounce-imperial.
int32_t getIndex() const
ICU use only.
static MeasureUnit getPintMetric()
Returns by value, unit of volume: pint-metric.
static MeasureUnit getSquareFoot()
Returns by value, unit of area: square-foot.
static MeasureUnit getGigawatt()
Returns by value, unit of power: gigawatt.
static MeasureUnit * createGallon(UErrorCode &status)
Returns by pointer, unit of volume: gallon.
static MeasureUnit * createWeekPerson(UErrorCode &status)
Returns by pointer, unit of duration: week-person.
static MeasureUnit getMilliampere()
Returns by value, unit of electric: milliampere.
static MeasureUnit * createHectopascal(UErrorCode &status)
Returns by pointer, unit of pressure: hectopascal.
static MeasureUnit * createSquareFoot(UErrorCode &status)
Returns by pointer, unit of area: square-foot.
static MeasureUnit * createKilojoule(UErrorCode &status)
Returns by pointer, unit of energy: kilojoule.
static MeasureUnit getHectopascal()
Returns by value, unit of pressure: hectopascal.
static MeasureUnit * createPermyriad(UErrorCode &status)
Returns by pointer, unit of concentr: permyriad.
static MeasureUnit * createGigahertz(UErrorCode &status)
Returns by pointer, unit of frequency: gigahertz.
static MeasureUnit getSquareMeter()
Returns by value, unit of area: square-meter.
static MeasureUnit * createGallonImperial(UErrorCode &status)
Returns by pointer, unit of volume: gallon-imperial.
static MeasureUnit * createSquareYard(UErrorCode &status)
Returns by pointer, unit of area: square-yard.
static MeasureUnit * createGigawatt(UErrorCode &status)
Returns by pointer, unit of power: gigawatt.
static MeasureUnit * createPetabyte(UErrorCode &status)
Returns by pointer, unit of digital: petabyte.
static MeasureUnit getCupMetric()
Returns by value, unit of volume: cup-metric.
static MeasureUnit * createBushel(UErrorCode &status)
Returns by pointer, unit of volume: bushel.
static MeasureUnit getMillisecond()
Returns by value, unit of duration: millisecond.
static MeasureUnit * createCentimeter(UErrorCode &status)
Returns by pointer, unit of length: centimeter.
static MeasureUnit * createDotPerInch(UErrorCode &status)
Returns by pointer, unit of graphics: dot-per-inch.
LocalArray< MeasureUnit > splitToSingleUnits(int32_t &outCount, UErrorCode &status) const
Gets the list of SINGLE units contained within a MIXED of COMPOUND unit.
const char * getSubtype() const
Get the sub type.
static MeasureUnit * createRadian(UErrorCode &status)
Returns by pointer, unit of angle: radian.
static MeasureUnit * createCubicMeter(UErrorCode &status)
Returns by pointer, unit of volume: cubic-meter.
static MeasureUnit getArcMinute()
Returns by value, unit of angle: arc-minute.
static MeasureUnit * createWatt(UErrorCode &status)
Returns by pointer, unit of power: watt.
MeasureUnit(MeasureUnit &&other) noexcept
Move constructor.
static MeasureUnit forIdentifier(StringPiece identifier, UErrorCode &status)
Construct a MeasureUnit from a CLDR Unit Identifier, defined in UTS 35.
static MeasureUnit * createMetricTon(UErrorCode &status)
Returns by pointer, unit of mass: metric-ton.
static MeasureUnit * createMeter(UErrorCode &status)
Returns by pointer, unit of length: meter.
static MeasureUnit * createLiter(UErrorCode &status)
Returns by pointer, unit of volume: liter.
static MeasureUnit * createPint(UErrorCode &status)
Returns by pointer, unit of volume: pint.
static MeasureUnit getMillibar()
Returns by value, unit of pressure: millibar.
static MeasureUnit * createBarrel(UErrorCode &status)
Returns by pointer, unit of volume: barrel.
static MeasureUnit getPetabyte()
Returns by value, unit of digital: petabyte.
static MeasureUnit getYearPerson()
Returns by value, unit of duration: year-person.
MeasureUnit()
Default constructor.
static MeasureUnit getDayPerson()
Returns by value, unit of duration: day-person.
static MeasureUnit * createTablespoon(UErrorCode &status)
Returns by pointer, unit of volume: tablespoon.
static MeasureUnit * createMeterPerSecond(UErrorCode &status)
Returns by pointer, unit of speed: meter-per-second.
static MeasureUnit * createFoot(UErrorCode &status)
Returns by pointer, unit of length: foot.
static MeasureUnit * createLiterPer100Kilometers(UErrorCode &status)
Returns by pointer, unit of consumption: liter-per-100-kilometer.
static MeasureUnit * createSquareMeter(UErrorCode &status)
Returns by pointer, unit of area: square-meter.
static MeasureUnit getNanometer()
Returns by value, unit of length: nanometer.
static MeasureUnit getGram()
Returns by value, unit of mass: gram.
static MeasureUnit * createMonthPerson(UErrorCode &status)
Returns by pointer, unit of duration: month-person.
static MeasureUnit getSquareInch()
Returns by value, unit of area: square-inch.
static MeasureUnit getAtmosphere()
Returns by value, unit of pressure: atmosphere.
static MeasureUnit getKarat()
Returns by value, unit of concentr: karat.
static MeasureUnit getMole()
Returns by value, unit of concentr: mole.
static MeasureUnit getMilePerGallonImperial()
Returns by value, unit of consumption: mile-per-gallon-imperial.
static MeasureUnit getMegahertz()
Returns by value, unit of frequency: megahertz.
static MeasureUnit * createRevolutionAngle(UErrorCode &status)
Returns by pointer, unit of angle: revolution.
MeasureUnit & operator=(const MeasureUnit &other)
Copy assignment operator.
static MeasureUnit * createCelsius(UErrorCode &status)
Returns by pointer, unit of temperature: celsius.
static MeasureUnit * createDegree(UErrorCode &status)
Returns by pointer, unit of angle: degree.
static MeasureUnit * createKilobit(UErrorCode &status)
Returns by pointer, unit of digital: kilobit.
static MeasureUnit * createKelvin(UErrorCode &status)
Returns by pointer, unit of temperature: kelvin.
static MeasureUnit * createMole(UErrorCode &status)
Returns by pointer, unit of concentr: mole.
static MeasureUnit getMegabit()
Returns by value, unit of digital: megabit.
static MeasureUnit * createSolarRadius(UErrorCode &status)
Returns by pointer, unit of length: solar-radius.
static MeasureUnit * createCubicMile(UErrorCode &status)
Returns by pointer, unit of volume: cubic-mile.
static MeasureUnit * createSquareInch(UErrorCode &status)
Returns by pointer, unit of area: square-inch.
static MeasureUnit getHertz()
Returns by value, unit of frequency: hertz.
static MeasureUnit getKilobyte()
Returns by value, unit of digital: kilobyte.
static MeasureUnit getMeterPerSecond()
Returns by value, unit of speed: meter-per-second.
virtual ~MeasureUnit()
Destructor.
static MeasureUnit getMilliliter()
Returns by value, unit of volume: milliliter.
static MeasureUnit * createGram(UErrorCode &status)
Returns by pointer, unit of mass: gram.
static MeasureUnit * createMillimeterOfMercury(UErrorCode &status)
Returns by pointer, unit of pressure: millimeter-ofhg.
static MeasureUnit * createPoundPerSquareInch(UErrorCode &status)
Returns by pointer, unit of pressure: pound-force-per-square-inch.
static MeasureUnit * createMicrometer(UErrorCode &status)
Returns by pointer, unit of length: micrometer.
static MeasureUnit getDay()
Returns by value, unit of duration: day.
static MeasureUnit * createDecimeter(UErrorCode &status)
Returns by pointer, unit of length: decimeter.
static MeasureUnit * createPound(UErrorCode &status)
Returns by pointer, unit of mass: pound.
MeasureUnit reciprocal(UErrorCode &status) const
Gets the reciprocal of this MeasureUnit, with the numerator and denominator flipped.
static MeasureUnit * createDotPerCentimeter(UErrorCode &status)
Returns by pointer, unit of graphics: dot-per-centimeter.
static MeasureUnit * createAcre(UErrorCode &status)
Returns by pointer, unit of area: acre.
virtual UClassID getDynamicClassID(void) const
Returns a unique class ID POLYMORPHICALLY.
static MeasureUnit getCubicFoot()
Returns by value, unit of volume: cubic-foot.
static MeasureUnit getPound()
Returns by value, unit of mass: pound.
static MeasureUnit getCubicMile()
Returns by value, unit of volume: cubic-mile.
static MeasureUnit getOhm()
Returns by value, unit of electric: ohm.
static MeasureUnit * createMillimeter(UErrorCode &status)
Returns by pointer, unit of length: millimeter.
const char * getType() const
Get the type.
static MeasureUnit * createGForce(UErrorCode &status)
Returns by pointer, unit of acceleration: g-force.
static MeasureUnit * createKilopascal(UErrorCode &status)
Returns by pointer, unit of pressure: kilopascal.
static MeasureUnit * createSecond(UErrorCode &status)
Returns by pointer, unit of duration: second.
static MeasureUnit * createAstronomicalUnit(UErrorCode &status)
Returns by pointer, unit of length: astronomical-unit.
static MeasureUnit getPicometer()
Returns by value, unit of length: picometer.
static MeasureUnit getFathom()
Returns by value, unit of length: fathom.
static MeasureUnit getMonth()
Returns by value, unit of duration: month.
static MeasureUnit getCentury()
Returns by value, unit of duration: century.
static MeasureUnit * createCentiliter(UErrorCode &status)
Returns by pointer, unit of volume: centiliter.
static MeasureUnit getCubicInch()
Returns by value, unit of volume: cubic-inch.
static MeasureUnit * createPartPerMillion(UErrorCode &status)
Returns by pointer, unit of concentr: permillion.
static MeasureUnit * createKilowatt(UErrorCode &status)
Returns by pointer, unit of power: kilowatt.
static MeasureUnit getYear()
Returns by value, unit of duration: year.
static int32_t getIndexCount()
ICU use only.
static MeasureUnit * createPixel(UErrorCode &status)
Returns by pointer, unit of graphics: pixel.
static MeasureUnit * createMillisecond(UErrorCode &status)
Returns by pointer, unit of duration: millisecond.
static MeasureUnit * createPoundFoot(UErrorCode &status)
Returns by pointer, unit of torque: pound-force-foot.
static MeasureUnit getPoundPerSquareInch()
Returns by value, unit of pressure: pound-force-per-square-inch.
static MeasureUnit getInchHg()
Returns by value, unit of pressure: inch-ofhg.
static MeasureUnit * createFoodcalorie(UErrorCode &status)
Returns by pointer, unit of energy: foodcalorie.
static MeasureUnit getLiterPer100Kilometers()
Returns by value, unit of consumption: liter-per-100-kilometer.
static MeasureUnit getAmpere()
Returns by value, unit of electric: ampere.
static MeasureUnit * createNewtonMeter(UErrorCode &status)
Returns by pointer, unit of torque: newton-meter.
static MeasureUnit getTablespoon()
Returns by value, unit of volume: tablespoon.
static MeasureUnit getCup()
Returns by value, unit of volume: cup.
static MeasureUnit * createBar(UErrorCode &status)
Returns by pointer, unit of pressure: bar.
static MeasureUnit * createNanosecond(UErrorCode &status)
Returns by pointer, unit of duration: nanosecond.
static MeasureUnit * createByte(UErrorCode &status)
Returns by pointer, unit of digital: byte.
static MeasureUnit * createKilocalorie(UErrorCode &status)
Returns by pointer, unit of energy: kilocalorie.
const char * getIdentifier() const
Get the CLDR Unit Identifier for this MeasureUnit, as defined in UTS 35.
static MeasureUnit getPercent()
Returns by value, unit of concentr: percent.
static MeasureUnit getRevolutionAngle()
Returns by value, unit of angle: revolution.
static MeasureUnit getSecond()
Returns by value, unit of duration: second.
static MeasureUnit * createTerabyte(UErrorCode &status)
Returns by pointer, unit of digital: terabyte.
static MeasureUnit * createTeaspoon(UErrorCode &status)
Returns by pointer, unit of volume: teaspoon.
static MeasureUnit * createFathom(UErrorCode &status)
Returns by pointer, unit of length: fathom.
static MeasureUnit getQuart()
Returns by value, unit of volume: quart.
static MeasureUnit * createMilligramPerDeciliter(UErrorCode &status)
Returns by pointer, unit of concentr: milligram-per-deciliter.
static MeasureUnit * createCubicKilometer(UErrorCode &status)
Returns by pointer, unit of volume: cubic-kilometer.
static MeasureUnit * createAmpere(UErrorCode &status)
Returns by pointer, unit of electric: ampere.
static MeasureUnit * createCubicInch(UErrorCode &status)
Returns by pointer, unit of volume: cubic-inch.
static MeasureUnit * createCubicCentimeter(UErrorCode &status)
Returns by pointer, unit of volume: cubic-centimeter.
static MeasureUnit getBar()
Returns by value, unit of pressure: bar.
static MeasureUnit getElectronvolt()
Returns by value, unit of energy: electronvolt.
static MeasureUnit getKelvin()
Returns by value, unit of temperature: kelvin.
static MeasureUnit * createKnot(UErrorCode &status)
Returns by pointer, unit of speed: knot.
static MeasureUnit * createSolarLuminosity(UErrorCode &status)
Returns by pointer, unit of light: solar-luminosity.
static MeasureUnit getEm()
Returns by value, unit of graphics: em.
static MeasureUnit * createInch(UErrorCode &status)
Returns by pointer, unit of length: inch.
static MeasureUnit * createLiterPerKilometer(UErrorCode &status)
Returns by pointer, unit of consumption: liter-per-kilometer.
static MeasureUnit * createKilogram(UErrorCode &status)
Returns by pointer, unit of mass: kilogram.
static MeasureUnit * createDalton(UErrorCode &status)
Returns by pointer, unit of mass: dalton.
static MeasureUnit * createYearPerson(UErrorCode &status)
Returns by pointer, unit of duration: year-person.
static MeasureUnit * createNauticalMile(UErrorCode &status)
Returns by pointer, unit of length: nautical-mile.
static MeasureUnit * createMillimolePerLiter(UErrorCode &status)
Returns by pointer, unit of concentr: millimole-per-liter.
static MeasureUnit * createSquareMile(UErrorCode &status)
Returns by pointer, unit of area: square-mile.
static MeasureUnit getKilometerPerHour()
Returns by value, unit of speed: kilometer-per-hour.
static MeasureUnit getCubicMeter()
Returns by value, unit of volume: cubic-meter.
static MeasureUnit getCubicCentimeter()
Returns by value, unit of volume: cubic-centimeter.
static MeasureUnit getGallon()
Returns by value, unit of volume: gallon.
void initTime(const char *timeId)
For ICU use only.
static MeasureUnit * createMicrogram(UErrorCode &status)
Returns by pointer, unit of mass: microgram.
static MeasureUnit * createTon(UErrorCode &status)
Returns by pointer, unit of mass: ton.
UBool operator!=(const UObject &other) const
Inequality operator.
Definition measunit.h:314
static MeasureUnit getKnot()
Returns by value, unit of speed: knot.
static MeasureUnit getFoot()
Returns by value, unit of length: foot.
static MeasureUnit getMicrometer()
Returns by value, unit of length: micrometer.
static MeasureUnit getAcre()
Returns by value, unit of area: acre.
static MeasureUnit * createMilePerGallon(UErrorCode &status)
Returns by pointer, unit of consumption: mile-per-gallon.
static MeasureUnit getNewton()
Returns by value, unit of force: newton.
static MeasureUnit * createPoint(UErrorCode &status)
Returns by pointer, unit of length: point.
static MeasureUnit * createMegahertz(UErrorCode &status)
Returns by pointer, unit of frequency: megahertz.
static MeasureUnit * createPicometer(UErrorCode &status)
Returns by pointer, unit of length: picometer.
static MeasureUnit getPint()
Returns by value, unit of volume: pint.
static MeasureUnit * createMegapixel(UErrorCode &status)
Returns by pointer, unit of graphics: megapixel.
static MeasureUnit getGForce()
Returns by value, unit of acceleration: g-force.
static MeasureUnit getGallonImperial()
Returns by value, unit of volume: gallon-imperial.
static MeasureUnit getArcSecond()
Returns by value, unit of angle: arc-second.
static MeasureUnit getMeter()
Returns by value, unit of length: meter.
static MeasureUnit getMeterPerSecondSquared()
Returns by value, unit of acceleration: meter-per-square-second.
static MeasureUnit * createFurlong(UErrorCode &status)
Returns by pointer, unit of length: furlong.
MeasureUnit withSIPrefix(UMeasureSIPrefix prefix, UErrorCode &status) const
Creates a MeasureUnit which is this SINGLE unit augmented with the specified SI prefix.
static MeasureUnit * createCupMetric(UErrorCode &status)
Returns by pointer, unit of volume: cup-metric.
static MeasureUnit getCelsius()
Returns by value, unit of temperature: celsius.
static MeasureUnit getDecimeter()
Returns by value, unit of length: decimeter.
static MeasureUnit * createCentury(UErrorCode &status)
Returns by pointer, unit of duration: century.
static MeasureUnit getHorsepower()
Returns by value, unit of power: horsepower.
static MeasureUnit * createPoundForce(UErrorCode &status)
Returns by pointer, unit of force: pound-force.
static MeasureUnit * createArcSecond(UErrorCode &status)
Returns by pointer, unit of angle: arc-second.
static MeasureUnit getMetricTon()
Returns by value, unit of mass: metric-ton.
static MeasureUnit * createHectoliter(UErrorCode &status)
Returns by pointer, unit of volume: hectoliter.
static MeasureUnit getSolarMass()
Returns by value, unit of mass: solar-mass.
static MeasureUnit getSquareCentimeter()
Returns by value, unit of area: square-centimeter.
static MeasureUnit getKilojoule()
Returns by value, unit of energy: kilojoule.
static MeasureUnit getThermUs()
Returns by value, unit of energy: therm-us.
static MeasureUnit * createMilePerHour(UErrorCode &status)
Returns by pointer, unit of speed: mile-per-hour.
static MeasureUnit getCubicKilometer()
Returns by value, unit of volume: cubic-kilometer.
static MeasureUnit * createFluidOunce(UErrorCode &status)
Returns by pointer, unit of volume: fluid-ounce.
static MeasureUnit getDotPerInch()
Returns by value, unit of graphics: dot-per-inch.
static MeasureUnit * createMegaliter(UErrorCode &status)
Returns by pointer, unit of volume: megaliter.
static MeasureUnit getWeek()
Returns by value, unit of duration: week.
static MeasureUnit getSquareMile()
Returns by value, unit of area: square-mile.
static MeasureUnit getDecade()
Returns by value, unit of duration: decade.
static MeasureUnit * createKilometer(UErrorCode &status)
Returns by pointer, unit of length: kilometer.
static MeasureUnit * createMegawatt(UErrorCode &status)
Returns by pointer, unit of power: megawatt.
MeasureUnit withDimensionality(int32_t dimensionality, UErrorCode &status) const
Creates a MeasureUnit which is this SINGLE unit augmented with the specified dimensionality (power).
Base class for 'pure' C++ implementations of uenum api.
Definition strenum.h:61
A string-like object that points to a sized piece of memory.
Definition stringpiece.h:60
UObject is the common ICU "boilerplate" class.
Definition uobject.h:223
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
UMeasureUnitComplexity
Enumeration for unit complexity.
Definition measunit.h:51
@ UMEASURE_UNIT_MIXED
A mixed unit, like hour+minute.
Definition measunit.h:71
@ UMEASURE_UNIT_COMPOUND
A compound unit, like meter-per-second.
Definition measunit.h:64
@ UMEASURE_UNIT_SINGLE
A single unit, like kilojoule.
Definition measunit.h:57
UMeasureSIPrefix
Enumeration for SI prefixes, such as "kilo".
Definition measunit.h:79
@ UMEASURE_SI_PREFIX_KILO
SI prefix: kilo, 10^3.
Definition measunit.h:135
@ UMEASURE_SI_PREFIX_TERA
SI prefix: tera, 10^12.
Definition measunit.h:114
@ UMEASURE_SI_PREFIX_GIGA
SI prefix: giga, 10^9.
Definition measunit.h:121
@ UMEASURE_SI_PREFIX_CENTI
SI prefix: centi, 10^-2.
Definition measunit.h:170
@ UMEASURE_SI_PREFIX_FEMTO
SI prefix: femto, 10^-15.
Definition measunit.h:205
@ UMEASURE_SI_PREFIX_YOTTA
SI prefix: yotta, 10^24.
Definition measunit.h:86
@ UMEASURE_SI_PREFIX_ONE
The absence of an SI prefix.
Definition measunit.h:156
@ UMEASURE_SI_PREFIX_PICO
SI prefix: pico, 10^-12.
Definition measunit.h:198
@ UMEASURE_SI_PREFIX_PETA
SI prefix: peta, 10^15.
Definition measunit.h:107
@ UMEASURE_SI_PREFIX_ZEPTO
SI prefix: zepto, 10^-21.
Definition measunit.h:219
@ UMEASURE_SI_PREFIX_YOCTO
SI prefix: yocto, 10^-24.
Definition measunit.h:226
@ UMEASURE_SI_PREFIX_EXA
SI prefix: exa, 10^18.
Definition measunit.h:100
@ UMEASURE_SI_PREFIX_HECTO
SI prefix: hecto, 10^2.
Definition measunit.h:142
@ UMEASURE_SI_PREFIX_ATTO
SI prefix: atto, 10^-18.
Definition measunit.h:212
@ UMEASURE_SI_PREFIX_MEGA
SI prefix: mega, 10^6.
Definition measunit.h:128
@ UMEASURE_SI_PREFIX_MILLI
SI prefix: milli, 10^-3.
Definition measunit.h:177
@ UMEASURE_SI_PREFIX_MICRO
SI prefix: micro, 10^-6.
Definition measunit.h:184
@ UMEASURE_SI_PREFIX_DEKA
SI prefix: deka, 10^1.
Definition measunit.h:149
@ UMEASURE_SI_PREFIX_ZETTA
SI prefix: zetta, 10^21.
Definition measunit.h:93
@ UMEASURE_SI_PREFIX_NANO
SI prefix: nano, 10^-9.
Definition measunit.h:191
@ UMEASURE_SI_PREFIX_DECI
SI prefix: deci, 10^-1.
Definition measunit.h:163
int8_t UBool
The ICU boolean type.
Definition umachine.h:261
C++ API: Unicode String.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition uobject.h:96
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition utypes.h:415
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
Definition utypes.h:301