ICU 78.3  78.3
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 <utility>
23 #include "unicode/unistr.h"
24 #include "unicode/localpointer.h"
25 
31 U_NAMESPACE_BEGIN
32 
33 class StringEnumeration;
34 class MeasureUnitImpl;
35 
36 namespace number::impl {
37 class LongNameHandler;
38 } // namespace number::impl
39 
62 
69 
76 };
77 
78 
89 typedef enum UMeasurePrefix {
100 
107 
114 
121 
122 #ifndef U_HIDE_INTERNAL_API
123 
128 #ifndef U_HIDE_DRAFT_API
130 #else /* U_HIDE_DRAFT_API */
132 #endif /* U_HIDE_DRAFT_API */
133 
134 #endif /* U_HIDE_INTERNAL_API */
135 
142 
149 
156 
163 
170 
177 
184 
191 
198 
205 
212 
219 
226 
233 
240 
247 
254 
261 
268 
275 
282 
283 #ifndef U_HIDE_INTERNAL_API
284 
289 #ifndef U_HIDE_DRAFT_API
291 #else /* U_HIDE_DRAFT_API */
293 #endif /* U_HIDE_DRAFT_API */
294 
295 #endif // U_HIDE_INTERNAL_API
296 
297  // Cannot conditionalize the following with #ifndef U_HIDE_INTERNAL_API,
298  // used in definitions of non-internal enum values
305 
312 
313 #ifndef U_HIDE_INTERNAL_API
314 
320 #endif // U_HIDE_INTERNAL_API
321 
328 
335 
342 
349 
356 
363 
370 
371 #ifndef U_HIDE_INTERNAL_API
372 
378 #endif // U_HIDE_INTERNAL_API
380 
388 U_CAPI int32_t U_EXPORT2 umeas_getPrefixBase(UMeasurePrefix unitPrefix);
389 
396 U_CAPI int32_t U_EXPORT2 umeas_getPrefixPower(UMeasurePrefix unitPrefix);
397 
406  public:
407 
414  MeasureUnit();
415 
420  MeasureUnit(const MeasureUnit &other);
421 
426  MeasureUnit(MeasureUnit &&other) noexcept;
427 
444  static MeasureUnit forIdentifier(StringPiece identifier, UErrorCode& status);
445 
450  MeasureUnit &operator=(const MeasureUnit &other);
451 
456  MeasureUnit &operator=(MeasureUnit &&other) noexcept;
457 
463  virtual MeasureUnit* clone() const;
464 
469  virtual ~MeasureUnit();
470 
476  virtual bool operator==(const UObject& other) const;
477 
483  bool operator!=(const UObject& other) const {
484  return !(*this == other);
485  }
486 
494  const char *getType() const;
495 
503  const char *getSubtype() const;
504 
511  const char* getIdentifier() const;
512 
520  UMeasureUnitComplexity getComplexity(UErrorCode& status) const;
521 
536  MeasureUnit withPrefix(UMeasurePrefix prefix, UErrorCode& status) const;
537 
552  UMeasurePrefix getPrefix(UErrorCode& status) const;
553 
554 #ifndef U_HIDE_DRAFT_API
555 
570  MeasureUnit withConstantDenominator(uint64_t denominator, UErrorCode &status) const;
571 
588  uint64_t getConstantDenominator(UErrorCode &status) const;
589 
590 #endif /* U_HIDE_DRAFT_API */
591 
606  MeasureUnit withDimensionality(int32_t dimensionality, UErrorCode& status) const;
607 
621  int32_t getDimensionality(UErrorCode& status) const;
622 
637  MeasureUnit reciprocal(UErrorCode& status) const;
638 
656  MeasureUnit product(const MeasureUnit& other, UErrorCode& status) const;
657 
677  inline std::pair<LocalArray<MeasureUnit>, int32_t> splitToSingleUnits(UErrorCode& status) const;
678 
690  static int32_t getAvailable(
691  MeasureUnit *destArray,
692  int32_t destCapacity,
693  UErrorCode &errorCode);
694 
707  static int32_t getAvailable(
708  const char *type,
709  MeasureUnit *destArray,
710  int32_t destCapacity,
711  UErrorCode &errorCode);
712 
721  static StringEnumeration* getAvailableTypes(UErrorCode &errorCode);
722 
734  static UClassID U_EXPORT2 getStaticClassID();
735 
747  virtual UClassID getDynamicClassID() const override;
748 
749 #ifndef U_HIDE_INTERNAL_API
750 
755  int32_t getOffset() const;
756 #endif /* U_HIDE_INTERNAL_API */
757 
758 // All code between the "Start generated createXXX methods" comment and
759 // the "End generated createXXX methods" comment is auto generated code
760 // and must not be edited manually. For instructions on how to correctly
761 // update this code, refer to:
762 // docs/processes/release/tasks/updating-measure-unit.md
763 //
764 // Start generated createXXX methods
765 
773  static MeasureUnit *createGForce(UErrorCode &status);
774 
780  static MeasureUnit getGForce();
781 
789  static MeasureUnit *createMeterPerSecondSquared(UErrorCode &status);
790 
796  static MeasureUnit getMeterPerSecondSquared();
797 
805  static MeasureUnit *createArcMinute(UErrorCode &status);
806 
812  static MeasureUnit getArcMinute();
813 
821  static MeasureUnit *createArcSecond(UErrorCode &status);
822 
828  static MeasureUnit getArcSecond();
829 
837  static MeasureUnit *createDegree(UErrorCode &status);
838 
844  static MeasureUnit getDegree();
845 
853  static MeasureUnit *createRadian(UErrorCode &status);
854 
860  static MeasureUnit getRadian();
861 
869  static MeasureUnit *createRevolutionAngle(UErrorCode &status);
870 
876  static MeasureUnit getRevolutionAngle();
877 
878 #ifndef U_HIDE_DRAFT_API
879 
886  static MeasureUnit *createSteradian(UErrorCode &status);
887 
893  static MeasureUnit getSteradian();
894 #endif /* U_HIDE_DRAFT_API */
895 
903  static MeasureUnit *createAcre(UErrorCode &status);
904 
910  static MeasureUnit getAcre();
911 
912 #ifndef U_HIDE_DRAFT_API
913 
920  static MeasureUnit *createBuJp(UErrorCode &status);
921 
927  static MeasureUnit getBuJp();
928 #endif /* U_HIDE_DRAFT_API */
929 
930 #ifndef U_HIDE_DRAFT_API
931 
938  static MeasureUnit *createCho(UErrorCode &status);
939 
945  static MeasureUnit getCho();
946 #endif /* U_HIDE_DRAFT_API */
947 
955  static MeasureUnit *createDunam(UErrorCode &status);
956 
962  static MeasureUnit getDunam();
963 
971  static MeasureUnit *createHectare(UErrorCode &status);
972 
978  static MeasureUnit getHectare();
979 
980 #ifndef U_HIDE_DRAFT_API
981 
988  static MeasureUnit *createSeJp(UErrorCode &status);
989 
995  static MeasureUnit getSeJp();
996 #endif /* U_HIDE_DRAFT_API */
997 
1005  static MeasureUnit *createSquareCentimeter(UErrorCode &status);
1006 
1012  static MeasureUnit getSquareCentimeter();
1013 
1021  static MeasureUnit *createSquareFoot(UErrorCode &status);
1022 
1028  static MeasureUnit getSquareFoot();
1029 
1037  static MeasureUnit *createSquareInch(UErrorCode &status);
1038 
1044  static MeasureUnit getSquareInch();
1045 
1053  static MeasureUnit *createSquareKilometer(UErrorCode &status);
1054 
1060  static MeasureUnit getSquareKilometer();
1061 
1069  static MeasureUnit *createSquareMeter(UErrorCode &status);
1070 
1076  static MeasureUnit getSquareMeter();
1077 
1085  static MeasureUnit *createSquareMile(UErrorCode &status);
1086 
1092  static MeasureUnit getSquareMile();
1093 
1101  static MeasureUnit *createSquareYard(UErrorCode &status);
1102 
1108  static MeasureUnit getSquareYard();
1109 
1117  static MeasureUnit *createItem(UErrorCode &status);
1118 
1124  static MeasureUnit getItem();
1125 
1133  static MeasureUnit *createKarat(UErrorCode &status);
1134 
1140  static MeasureUnit getKarat();
1141 
1142 #ifndef U_HIDE_DRAFT_API
1143 
1150  static MeasureUnit *createKatal(UErrorCode &status);
1151 
1157  static MeasureUnit getKatal();
1158 #endif /* U_HIDE_DRAFT_API */
1159 
1167  static MeasureUnit *createMilligramOfglucosePerDeciliter(UErrorCode &status);
1168 
1174  static MeasureUnit getMilligramOfglucosePerDeciliter();
1175 
1176 #ifndef U_HIDE_DEPRECATED_API
1177 
1186  static MeasureUnit *createMilligramPerDeciliter(UErrorCode &status);
1187 
1195  static MeasureUnit getMilligramPerDeciliter();
1196 #endif /* U_HIDE_DEPRECATED_API */
1197 
1205  static MeasureUnit *createMillimolePerLiter(UErrorCode &status);
1206 
1212  static MeasureUnit getMillimolePerLiter();
1213 
1221  static MeasureUnit *createMole(UErrorCode &status);
1222 
1228  static MeasureUnit getMole();
1229 
1230 #ifndef U_HIDE_DRAFT_API
1231 
1238  static MeasureUnit *createOfglucose(UErrorCode &status);
1239 
1245  static MeasureUnit getOfglucose();
1246 #endif /* U_HIDE_DRAFT_API */
1247 
1248 #ifndef U_HIDE_DRAFT_API
1249 
1256  static MeasureUnit *createPart(UErrorCode &status);
1257 
1263  static MeasureUnit getPart();
1264 #endif /* U_HIDE_DRAFT_API */
1265 
1266 #ifndef U_HIDE_DRAFT_API
1267 
1274  static MeasureUnit *createPartPer1E6(UErrorCode &status);
1275 
1281  static MeasureUnit getPartPer1E6();
1282 #endif /* U_HIDE_DRAFT_API */
1283 
1293  static MeasureUnit *createPartPerMillion(UErrorCode &status);
1294 
1302  static MeasureUnit getPartPerMillion();
1303 
1304 #ifndef U_HIDE_DRAFT_API
1305 
1312  static MeasureUnit *createPartPer1E9(UErrorCode &status);
1313 
1319  static MeasureUnit getPartPer1E9();
1320 #endif /* U_HIDE_DRAFT_API */
1321 
1329  static MeasureUnit *createPercent(UErrorCode &status);
1330 
1336  static MeasureUnit getPercent();
1337 
1345  static MeasureUnit *createPermille(UErrorCode &status);
1346 
1352  static MeasureUnit getPermille();
1353 
1361  static MeasureUnit *createPermyriad(UErrorCode &status);
1362 
1368  static MeasureUnit getPermyriad();
1369 
1377  static MeasureUnit *createLiterPer100Kilometers(UErrorCode &status);
1378 
1384  static MeasureUnit getLiterPer100Kilometers();
1385 
1393  static MeasureUnit *createLiterPerKilometer(UErrorCode &status);
1394 
1400  static MeasureUnit getLiterPerKilometer();
1401 
1409  static MeasureUnit *createMilePerGallon(UErrorCode &status);
1410 
1416  static MeasureUnit getMilePerGallon();
1417 
1425  static MeasureUnit *createMilePerGallonImperial(UErrorCode &status);
1426 
1432  static MeasureUnit getMilePerGallonImperial();
1433 
1441  static MeasureUnit *createBit(UErrorCode &status);
1442 
1448  static MeasureUnit getBit();
1449 
1457  static MeasureUnit *createByte(UErrorCode &status);
1458 
1464  static MeasureUnit getByte();
1465 
1473  static MeasureUnit *createGigabit(UErrorCode &status);
1474 
1480  static MeasureUnit getGigabit();
1481 
1489  static MeasureUnit *createGigabyte(UErrorCode &status);
1490 
1496  static MeasureUnit getGigabyte();
1497 
1505  static MeasureUnit *createKilobit(UErrorCode &status);
1506 
1512  static MeasureUnit getKilobit();
1513 
1521  static MeasureUnit *createKilobyte(UErrorCode &status);
1522 
1528  static MeasureUnit getKilobyte();
1529 
1537  static MeasureUnit *createMegabit(UErrorCode &status);
1538 
1544  static MeasureUnit getMegabit();
1545 
1553  static MeasureUnit *createMegabyte(UErrorCode &status);
1554 
1560  static MeasureUnit getMegabyte();
1561 
1569  static MeasureUnit *createPetabyte(UErrorCode &status);
1570 
1576  static MeasureUnit getPetabyte();
1577 
1585  static MeasureUnit *createTerabit(UErrorCode &status);
1586 
1592  static MeasureUnit getTerabit();
1593 
1601  static MeasureUnit *createTerabyte(UErrorCode &status);
1602 
1608  static MeasureUnit getTerabyte();
1609 
1617  static MeasureUnit *createCentury(UErrorCode &status);
1618 
1624  static MeasureUnit getCentury();
1625 
1633  static MeasureUnit *createDay(UErrorCode &status);
1634 
1640  static MeasureUnit getDay();
1641 
1649  static MeasureUnit *createDayPerson(UErrorCode &status);
1650 
1656  static MeasureUnit getDayPerson();
1657 
1665  static MeasureUnit *createDecade(UErrorCode &status);
1666 
1672  static MeasureUnit getDecade();
1673 
1674 #ifndef U_HIDE_DRAFT_API
1675 
1682  static MeasureUnit *createFortnight(UErrorCode &status);
1683 
1689  static MeasureUnit getFortnight();
1690 #endif /* U_HIDE_DRAFT_API */
1691 
1699  static MeasureUnit *createHour(UErrorCode &status);
1700 
1706  static MeasureUnit getHour();
1707 
1715  static MeasureUnit *createMicrosecond(UErrorCode &status);
1716 
1722  static MeasureUnit getMicrosecond();
1723 
1731  static MeasureUnit *createMillisecond(UErrorCode &status);
1732 
1738  static MeasureUnit getMillisecond();
1739 
1747  static MeasureUnit *createMinute(UErrorCode &status);
1748 
1754  static MeasureUnit getMinute();
1755 
1763  static MeasureUnit *createMonth(UErrorCode &status);
1764 
1770  static MeasureUnit getMonth();
1771 
1779  static MeasureUnit *createMonthPerson(UErrorCode &status);
1780 
1786  static MeasureUnit getMonthPerson();
1787 
1795  static MeasureUnit *createNanosecond(UErrorCode &status);
1796 
1802  static MeasureUnit getNanosecond();
1803 
1811  static MeasureUnit *createNight(UErrorCode &status);
1812 
1818  static MeasureUnit getNight();
1819 
1827  static MeasureUnit *createQuarter(UErrorCode &status);
1828 
1834  static MeasureUnit getQuarter();
1835 
1843  static MeasureUnit *createSecond(UErrorCode &status);
1844 
1850  static MeasureUnit getSecond();
1851 
1859  static MeasureUnit *createWeek(UErrorCode &status);
1860 
1866  static MeasureUnit getWeek();
1867 
1875  static MeasureUnit *createWeekPerson(UErrorCode &status);
1876 
1882  static MeasureUnit getWeekPerson();
1883 
1891  static MeasureUnit *createYear(UErrorCode &status);
1892 
1898  static MeasureUnit getYear();
1899 
1907  static MeasureUnit *createYearPerson(UErrorCode &status);
1908 
1914  static MeasureUnit getYearPerson();
1915 
1923  static MeasureUnit *createAmpere(UErrorCode &status);
1924 
1930  static MeasureUnit getAmpere();
1931 
1932 #ifndef U_HIDE_DRAFT_API
1933 
1940  static MeasureUnit *createCoulomb(UErrorCode &status);
1941 
1947  static MeasureUnit getCoulomb();
1948 #endif /* U_HIDE_DRAFT_API */
1949 
1950 #ifndef U_HIDE_DRAFT_API
1951 
1958  static MeasureUnit *createFarad(UErrorCode &status);
1959 
1965  static MeasureUnit getFarad();
1966 #endif /* U_HIDE_DRAFT_API */
1967 
1968 #ifndef U_HIDE_DRAFT_API
1969 
1976  static MeasureUnit *createHenry(UErrorCode &status);
1977 
1983  static MeasureUnit getHenry();
1984 #endif /* U_HIDE_DRAFT_API */
1985 
1993  static MeasureUnit *createMilliampere(UErrorCode &status);
1994 
2000  static MeasureUnit getMilliampere();
2001 
2009  static MeasureUnit *createOhm(UErrorCode &status);
2010 
2016  static MeasureUnit getOhm();
2017 
2018 #ifndef U_HIDE_DRAFT_API
2019 
2026  static MeasureUnit *createSiemens(UErrorCode &status);
2027 
2033  static MeasureUnit getSiemens();
2034 #endif /* U_HIDE_DRAFT_API */
2035 
2043  static MeasureUnit *createVolt(UErrorCode &status);
2044 
2050  static MeasureUnit getVolt();
2051 
2052 #ifndef U_HIDE_DRAFT_API
2053 
2060  static MeasureUnit *createBecquerel(UErrorCode &status);
2061 
2067  static MeasureUnit getBecquerel();
2068 #endif /* U_HIDE_DRAFT_API */
2069 
2077  static MeasureUnit *createBritishThermalUnit(UErrorCode &status);
2078 
2084  static MeasureUnit getBritishThermalUnit();
2085 
2086 #ifndef U_HIDE_DRAFT_API
2087 
2094  static MeasureUnit *createBritishThermalUnitIt(UErrorCode &status);
2095 
2101  static MeasureUnit getBritishThermalUnitIt();
2102 #endif /* U_HIDE_DRAFT_API */
2103 
2111  static MeasureUnit *createCalorie(UErrorCode &status);
2112 
2118  static MeasureUnit getCalorie();
2119 
2120 #ifndef U_HIDE_DRAFT_API
2121 
2128  static MeasureUnit *createCalorieIt(UErrorCode &status);
2129 
2135  static MeasureUnit getCalorieIt();
2136 #endif /* U_HIDE_DRAFT_API */
2137 
2145  static MeasureUnit *createElectronvolt(UErrorCode &status);
2146 
2152  static MeasureUnit getElectronvolt();
2153 
2161  static MeasureUnit *createFoodcalorie(UErrorCode &status);
2162 
2168  static MeasureUnit getFoodcalorie();
2169 
2170 #ifndef U_HIDE_DRAFT_API
2171 
2178  static MeasureUnit *createGray(UErrorCode &status);
2179 
2185  static MeasureUnit getGray();
2186 #endif /* U_HIDE_DRAFT_API */
2187 
2195  static MeasureUnit *createJoule(UErrorCode &status);
2196 
2202  static MeasureUnit getJoule();
2203 
2211  static MeasureUnit *createKilocalorie(UErrorCode &status);
2212 
2218  static MeasureUnit getKilocalorie();
2219 
2227  static MeasureUnit *createKilojoule(UErrorCode &status);
2228 
2234  static MeasureUnit getKilojoule();
2235 
2243  static MeasureUnit *createKilowattHour(UErrorCode &status);
2244 
2250  static MeasureUnit getKilowattHour();
2251 
2252 #ifndef U_HIDE_DRAFT_API
2253 
2260  static MeasureUnit *createSievert(UErrorCode &status);
2261 
2267  static MeasureUnit getSievert();
2268 #endif /* U_HIDE_DRAFT_API */
2269 
2277  static MeasureUnit *createThermUs(UErrorCode &status);
2278 
2284  static MeasureUnit getThermUs();
2285 
2286 #ifndef U_HIDE_DRAFT_API
2287 
2294  static MeasureUnit *createKilogramForce(UErrorCode &status);
2295 
2301  static MeasureUnit getKilogramForce();
2302 #endif /* U_HIDE_DRAFT_API */
2303 
2311  static MeasureUnit *createKilowattHourPer100Kilometer(UErrorCode &status);
2312 
2318  static MeasureUnit getKilowattHourPer100Kilometer();
2319 
2327  static MeasureUnit *createNewton(UErrorCode &status);
2328 
2334  static MeasureUnit getNewton();
2335 
2343  static MeasureUnit *createPoundForce(UErrorCode &status);
2344 
2350  static MeasureUnit getPoundForce();
2351 
2359  static MeasureUnit *createGigahertz(UErrorCode &status);
2360 
2366  static MeasureUnit getGigahertz();
2367 
2375  static MeasureUnit *createHertz(UErrorCode &status);
2376 
2382  static MeasureUnit getHertz();
2383 
2391  static MeasureUnit *createKilohertz(UErrorCode &status);
2392 
2398  static MeasureUnit getKilohertz();
2399 
2407  static MeasureUnit *createMegahertz(UErrorCode &status);
2408 
2414  static MeasureUnit getMegahertz();
2415 
2423  static MeasureUnit *createDot(UErrorCode &status);
2424 
2430  static MeasureUnit getDot();
2431 
2439  static MeasureUnit *createDotPerCentimeter(UErrorCode &status);
2440 
2446  static MeasureUnit getDotPerCentimeter();
2447 
2455  static MeasureUnit *createDotPerInch(UErrorCode &status);
2456 
2462  static MeasureUnit getDotPerInch();
2463 
2471  static MeasureUnit *createEm(UErrorCode &status);
2472 
2478  static MeasureUnit getEm();
2479 
2487  static MeasureUnit *createMegapixel(UErrorCode &status);
2488 
2494  static MeasureUnit getMegapixel();
2495 
2503  static MeasureUnit *createPixel(UErrorCode &status);
2504 
2510  static MeasureUnit getPixel();
2511 
2519  static MeasureUnit *createPixelPerCentimeter(UErrorCode &status);
2520 
2526  static MeasureUnit getPixelPerCentimeter();
2527 
2535  static MeasureUnit *createPixelPerInch(UErrorCode &status);
2536 
2542  static MeasureUnit getPixelPerInch();
2543 
2551  static MeasureUnit *createAstronomicalUnit(UErrorCode &status);
2552 
2558  static MeasureUnit getAstronomicalUnit();
2559 
2567  static MeasureUnit *createCentimeter(UErrorCode &status);
2568 
2574  static MeasureUnit getCentimeter();
2575 
2576 #ifndef U_HIDE_DRAFT_API
2577 
2584  static MeasureUnit *createChain(UErrorCode &status);
2585 
2591  static MeasureUnit getChain();
2592 #endif /* U_HIDE_DRAFT_API */
2593 
2601  static MeasureUnit *createDecimeter(UErrorCode &status);
2602 
2608  static MeasureUnit getDecimeter();
2609 
2617  static MeasureUnit *createEarthRadius(UErrorCode &status);
2618 
2624  static MeasureUnit getEarthRadius();
2625 
2633  static MeasureUnit *createFathom(UErrorCode &status);
2634 
2640  static MeasureUnit getFathom();
2641 
2649  static MeasureUnit *createFoot(UErrorCode &status);
2650 
2656  static MeasureUnit getFoot();
2657 
2665  static MeasureUnit *createFurlong(UErrorCode &status);
2666 
2672  static MeasureUnit getFurlong();
2673 
2681  static MeasureUnit *createInch(UErrorCode &status);
2682 
2688  static MeasureUnit getInch();
2689 
2690 #ifndef U_HIDE_DRAFT_API
2691 
2698  static MeasureUnit *createJoJp(UErrorCode &status);
2699 
2705  static MeasureUnit getJoJp();
2706 #endif /* U_HIDE_DRAFT_API */
2707 
2708 #ifndef U_HIDE_DRAFT_API
2709 
2716  static MeasureUnit *createKen(UErrorCode &status);
2717 
2723  static MeasureUnit getKen();
2724 #endif /* U_HIDE_DRAFT_API */
2725 
2733  static MeasureUnit *createKilometer(UErrorCode &status);
2734 
2740  static MeasureUnit getKilometer();
2741 
2749  static MeasureUnit *createLightYear(UErrorCode &status);
2750 
2756  static MeasureUnit getLightYear();
2757 
2765  static MeasureUnit *createMeter(UErrorCode &status);
2766 
2772  static MeasureUnit getMeter();
2773 
2781  static MeasureUnit *createMicrometer(UErrorCode &status);
2782 
2788  static MeasureUnit getMicrometer();
2789 
2797  static MeasureUnit *createMile(UErrorCode &status);
2798 
2804  static MeasureUnit getMile();
2805 
2813  static MeasureUnit *createMileScandinavian(UErrorCode &status);
2814 
2820  static MeasureUnit getMileScandinavian();
2821 
2829  static MeasureUnit *createMillimeter(UErrorCode &status);
2830 
2836  static MeasureUnit getMillimeter();
2837 
2845  static MeasureUnit *createNanometer(UErrorCode &status);
2846 
2852  static MeasureUnit getNanometer();
2853 
2861  static MeasureUnit *createNauticalMile(UErrorCode &status);
2862 
2868  static MeasureUnit getNauticalMile();
2869 
2877  static MeasureUnit *createParsec(UErrorCode &status);
2878 
2884  static MeasureUnit getParsec();
2885 
2893  static MeasureUnit *createPicometer(UErrorCode &status);
2894 
2900  static MeasureUnit getPicometer();
2901 
2909  static MeasureUnit *createPoint(UErrorCode &status);
2910 
2916  static MeasureUnit getPoint();
2917 
2918 #ifndef U_HIDE_DRAFT_API
2919 
2926  static MeasureUnit *createRiJp(UErrorCode &status);
2927 
2933  static MeasureUnit getRiJp();
2934 #endif /* U_HIDE_DRAFT_API */
2935 
2936 #ifndef U_HIDE_DRAFT_API
2937 
2944  static MeasureUnit *createRin(UErrorCode &status);
2945 
2951  static MeasureUnit getRin();
2952 #endif /* U_HIDE_DRAFT_API */
2953 
2954 #ifndef U_HIDE_DRAFT_API
2955 
2962  static MeasureUnit *createRod(UErrorCode &status);
2963 
2969  static MeasureUnit getRod();
2970 #endif /* U_HIDE_DRAFT_API */
2971 
2972 #ifndef U_HIDE_DRAFT_API
2973 
2980  static MeasureUnit *createShakuCloth(UErrorCode &status);
2981 
2987  static MeasureUnit getShakuCloth();
2988 #endif /* U_HIDE_DRAFT_API */
2989 
2990 #ifndef U_HIDE_DRAFT_API
2991 
2998  static MeasureUnit *createShakuLength(UErrorCode &status);
2999 
3005  static MeasureUnit getShakuLength();
3006 #endif /* U_HIDE_DRAFT_API */
3007 
3015  static MeasureUnit *createSolarRadius(UErrorCode &status);
3016 
3022  static MeasureUnit getSolarRadius();
3023 
3024 #ifndef U_HIDE_DRAFT_API
3025 
3032  static MeasureUnit *createSun(UErrorCode &status);
3033 
3039  static MeasureUnit getSun();
3040 #endif /* U_HIDE_DRAFT_API */
3041 
3049  static MeasureUnit *createYard(UErrorCode &status);
3050 
3056  static MeasureUnit getYard();
3057 
3065  static MeasureUnit *createCandela(UErrorCode &status);
3066 
3072  static MeasureUnit getCandela();
3073 
3081  static MeasureUnit *createLumen(UErrorCode &status);
3082 
3088  static MeasureUnit getLumen();
3089 
3097  static MeasureUnit *createLux(UErrorCode &status);
3098 
3104  static MeasureUnit getLux();
3105 
3113  static MeasureUnit *createSolarLuminosity(UErrorCode &status);
3114 
3120  static MeasureUnit getSolarLuminosity();
3121 
3122 #ifndef U_HIDE_DRAFT_API
3123 
3130  static MeasureUnit *createTesla(UErrorCode &status);
3131 
3137  static MeasureUnit getTesla();
3138 #endif /* U_HIDE_DRAFT_API */
3139 
3140 #ifndef U_HIDE_DRAFT_API
3141 
3148  static MeasureUnit *createWeber(UErrorCode &status);
3149 
3155  static MeasureUnit getWeber();
3156 #endif /* U_HIDE_DRAFT_API */
3157 
3165  static MeasureUnit *createCarat(UErrorCode &status);
3166 
3172  static MeasureUnit getCarat();
3173 
3181  static MeasureUnit *createDalton(UErrorCode &status);
3182 
3188  static MeasureUnit getDalton();
3189 
3197  static MeasureUnit *createEarthMass(UErrorCode &status);
3198 
3204  static MeasureUnit getEarthMass();
3205 
3206 #ifndef U_HIDE_DRAFT_API
3207 
3214  static MeasureUnit *createFun(UErrorCode &status);
3215 
3221  static MeasureUnit getFun();
3222 #endif /* U_HIDE_DRAFT_API */
3223 
3231  static MeasureUnit *createGrain(UErrorCode &status);
3232 
3238  static MeasureUnit getGrain();
3239 
3247  static MeasureUnit *createGram(UErrorCode &status);
3248 
3254  static MeasureUnit getGram();
3255 
3263  static MeasureUnit *createKilogram(UErrorCode &status);
3264 
3270  static MeasureUnit getKilogram();
3271 
3279  static MeasureUnit *createMicrogram(UErrorCode &status);
3280 
3286  static MeasureUnit getMicrogram();
3287 
3295  static MeasureUnit *createMilligram(UErrorCode &status);
3296 
3302  static MeasureUnit getMilligram();
3303 
3311  static MeasureUnit *createOunce(UErrorCode &status);
3312 
3318  static MeasureUnit getOunce();
3319 
3327  static MeasureUnit *createOunceTroy(UErrorCode &status);
3328 
3334  static MeasureUnit getOunceTroy();
3335 
3343  static MeasureUnit *createPound(UErrorCode &status);
3344 
3350  static MeasureUnit getPound();
3351 
3352 #ifndef U_HIDE_DRAFT_API
3353 
3360  static MeasureUnit *createSlug(UErrorCode &status);
3361 
3367  static MeasureUnit getSlug();
3368 #endif /* U_HIDE_DRAFT_API */
3369 
3377  static MeasureUnit *createSolarMass(UErrorCode &status);
3378 
3384  static MeasureUnit getSolarMass();
3385 
3393  static MeasureUnit *createStone(UErrorCode &status);
3394 
3400  static MeasureUnit getStone();
3401 
3409  static MeasureUnit *createTon(UErrorCode &status);
3410 
3416  static MeasureUnit getTon();
3417 
3425  static MeasureUnit *createTonne(UErrorCode &status);
3426 
3432  static MeasureUnit getTonne();
3433 
3434 #ifndef U_HIDE_DEPRECATED_API
3435 
3443  static MeasureUnit *createMetricTon(UErrorCode &status);
3444 
3451  static MeasureUnit getMetricTon();
3452 #endif /* U_HIDE_DEPRECATED_API */
3453 
3461  static MeasureUnit *createGigawatt(UErrorCode &status);
3462 
3468  static MeasureUnit getGigawatt();
3469 
3477  static MeasureUnit *createHorsepower(UErrorCode &status);
3478 
3484  static MeasureUnit getHorsepower();
3485 
3493  static MeasureUnit *createKilowatt(UErrorCode &status);
3494 
3500  static MeasureUnit getKilowatt();
3501 
3509  static MeasureUnit *createMegawatt(UErrorCode &status);
3510 
3516  static MeasureUnit getMegawatt();
3517 
3525  static MeasureUnit *createMilliwatt(UErrorCode &status);
3526 
3532  static MeasureUnit getMilliwatt();
3533 
3541  static MeasureUnit *createWatt(UErrorCode &status);
3542 
3548  static MeasureUnit getWatt();
3549 
3557  static MeasureUnit *createAtmosphere(UErrorCode &status);
3558 
3564  static MeasureUnit getAtmosphere();
3565 
3573  static MeasureUnit *createBar(UErrorCode &status);
3574 
3580  static MeasureUnit getBar();
3581 
3589  static MeasureUnit *createGasolineEnergyDensity(UErrorCode &status);
3590 
3596  static MeasureUnit getGasolineEnergyDensity();
3597 
3605  static MeasureUnit *createHectopascal(UErrorCode &status);
3606 
3612  static MeasureUnit getHectopascal();
3613 
3621  static MeasureUnit *createInchHg(UErrorCode &status);
3622 
3628  static MeasureUnit getInchHg();
3629 
3637  static MeasureUnit *createKilopascal(UErrorCode &status);
3638 
3644  static MeasureUnit getKilopascal();
3645 
3653  static MeasureUnit *createMegapascal(UErrorCode &status);
3654 
3660  static MeasureUnit getMegapascal();
3661 
3669  static MeasureUnit *createMillibar(UErrorCode &status);
3670 
3676  static MeasureUnit getMillibar();
3677 
3685  static MeasureUnit *createMillimeterOfMercury(UErrorCode &status);
3686 
3692  static MeasureUnit getMillimeterOfMercury();
3693 
3694 #ifndef U_HIDE_DRAFT_API
3695 
3702  static MeasureUnit *createOfhg(UErrorCode &status);
3703 
3709  static MeasureUnit getOfhg();
3710 #endif /* U_HIDE_DRAFT_API */
3711 
3719  static MeasureUnit *createPascal(UErrorCode &status);
3720 
3726  static MeasureUnit getPascal();
3727 
3735  static MeasureUnit *createPoundPerSquareInch(UErrorCode &status);
3736 
3742  static MeasureUnit getPoundPerSquareInch();
3743 
3751  static MeasureUnit *createBeaufort(UErrorCode &status);
3752 
3758  static MeasureUnit getBeaufort();
3759 
3767  static MeasureUnit *createKilometerPerHour(UErrorCode &status);
3768 
3774  static MeasureUnit getKilometerPerHour();
3775 
3783  static MeasureUnit *createKnot(UErrorCode &status);
3784 
3790  static MeasureUnit getKnot();
3791 
3799  static MeasureUnit *createLightSpeed(UErrorCode &status);
3800 
3806  static MeasureUnit getLightSpeed();
3807 
3815  static MeasureUnit *createMeterPerSecond(UErrorCode &status);
3816 
3822  static MeasureUnit getMeterPerSecond();
3823 
3831  static MeasureUnit *createMilePerHour(UErrorCode &status);
3832 
3838  static MeasureUnit getMilePerHour();
3839 
3847  static MeasureUnit *createCelsius(UErrorCode &status);
3848 
3854  static MeasureUnit getCelsius();
3855 
3863  static MeasureUnit *createFahrenheit(UErrorCode &status);
3864 
3870  static MeasureUnit getFahrenheit();
3871 
3879  static MeasureUnit *createGenericTemperature(UErrorCode &status);
3880 
3886  static MeasureUnit getGenericTemperature();
3887 
3895  static MeasureUnit *createKelvin(UErrorCode &status);
3896 
3902  static MeasureUnit getKelvin();
3903 
3904 #ifndef U_HIDE_DRAFT_API
3905 
3912  static MeasureUnit *createRankine(UErrorCode &status);
3913 
3919  static MeasureUnit getRankine();
3920 #endif /* U_HIDE_DRAFT_API */
3921 
3929  static MeasureUnit *createNewtonMeter(UErrorCode &status);
3930 
3936  static MeasureUnit getNewtonMeter();
3937 
3945  static MeasureUnit *createPoundFoot(UErrorCode &status);
3946 
3952  static MeasureUnit getPoundFoot();
3953 
3961  static MeasureUnit *createAcreFoot(UErrorCode &status);
3962 
3968  static MeasureUnit getAcreFoot();
3969 
3977  static MeasureUnit *createBarrel(UErrorCode &status);
3978 
3984  static MeasureUnit getBarrel();
3985 
3993  static MeasureUnit *createBushel(UErrorCode &status);
3994 
4000  static MeasureUnit getBushel();
4001 
4009  static MeasureUnit *createCentiliter(UErrorCode &status);
4010 
4016  static MeasureUnit getCentiliter();
4017 
4025  static MeasureUnit *createCubicCentimeter(UErrorCode &status);
4026 
4032  static MeasureUnit getCubicCentimeter();
4033 
4041  static MeasureUnit *createCubicFoot(UErrorCode &status);
4042 
4048  static MeasureUnit getCubicFoot();
4049 
4057  static MeasureUnit *createCubicInch(UErrorCode &status);
4058 
4064  static MeasureUnit getCubicInch();
4065 
4073  static MeasureUnit *createCubicKilometer(UErrorCode &status);
4074 
4080  static MeasureUnit getCubicKilometer();
4081 
4089  static MeasureUnit *createCubicMeter(UErrorCode &status);
4090 
4096  static MeasureUnit getCubicMeter();
4097 
4105  static MeasureUnit *createCubicMile(UErrorCode &status);
4106 
4112  static MeasureUnit getCubicMile();
4113 
4121  static MeasureUnit *createCubicYard(UErrorCode &status);
4122 
4128  static MeasureUnit getCubicYard();
4129 
4137  static MeasureUnit *createCup(UErrorCode &status);
4138 
4144  static MeasureUnit getCup();
4145 
4146 #ifndef U_HIDE_DRAFT_API
4147 
4154  static MeasureUnit *createCupImperial(UErrorCode &status);
4155 
4161  static MeasureUnit getCupImperial();
4162 #endif /* U_HIDE_DRAFT_API */
4163 
4164 #ifndef U_HIDE_DRAFT_API
4165 
4172  static MeasureUnit *createCupJp(UErrorCode &status);
4173 
4179  static MeasureUnit getCupJp();
4180 #endif /* U_HIDE_DRAFT_API */
4181 
4189  static MeasureUnit *createCupMetric(UErrorCode &status);
4190 
4196  static MeasureUnit getCupMetric();
4197 
4205  static MeasureUnit *createDeciliter(UErrorCode &status);
4206 
4212  static MeasureUnit getDeciliter();
4213 
4221  static MeasureUnit *createDessertSpoon(UErrorCode &status);
4222 
4228  static MeasureUnit getDessertSpoon();
4229 
4237  static MeasureUnit *createDessertSpoonImperial(UErrorCode &status);
4238 
4244  static MeasureUnit getDessertSpoonImperial();
4245 
4253  static MeasureUnit *createDram(UErrorCode &status);
4254 
4260  static MeasureUnit getDram();
4261 
4269  static MeasureUnit *createDrop(UErrorCode &status);
4270 
4276  static MeasureUnit getDrop();
4277 
4285  static MeasureUnit *createFluidOunce(UErrorCode &status);
4286 
4292  static MeasureUnit getFluidOunce();
4293 
4301  static MeasureUnit *createFluidOunceImperial(UErrorCode &status);
4302 
4308  static MeasureUnit getFluidOunceImperial();
4309 
4310 #ifndef U_HIDE_DRAFT_API
4311 
4318  static MeasureUnit *createFluidOunceMetric(UErrorCode &status);
4319 
4325  static MeasureUnit getFluidOunceMetric();
4326 #endif /* U_HIDE_DRAFT_API */
4327 
4335  static MeasureUnit *createGallon(UErrorCode &status);
4336 
4342  static MeasureUnit getGallon();
4343 
4351  static MeasureUnit *createGallonImperial(UErrorCode &status);
4352 
4358  static MeasureUnit getGallonImperial();
4359 
4367  static MeasureUnit *createHectoliter(UErrorCode &status);
4368 
4374  static MeasureUnit getHectoliter();
4375 
4383  static MeasureUnit *createJigger(UErrorCode &status);
4384 
4390  static MeasureUnit getJigger();
4391 
4392 #ifndef U_HIDE_DRAFT_API
4393 
4400  static MeasureUnit *createKoku(UErrorCode &status);
4401 
4407  static MeasureUnit getKoku();
4408 #endif /* U_HIDE_DRAFT_API */
4409 
4410 #ifndef U_HIDE_DRAFT_API
4411 
4418  static MeasureUnit *createKosaji(UErrorCode &status);
4419 
4425  static MeasureUnit getKosaji();
4426 #endif /* U_HIDE_DRAFT_API */
4427 
4435  static MeasureUnit *createLiter(UErrorCode &status);
4436 
4442  static MeasureUnit getLiter();
4443 
4451  static MeasureUnit *createMegaliter(UErrorCode &status);
4452 
4458  static MeasureUnit getMegaliter();
4459 
4467  static MeasureUnit *createMilliliter(UErrorCode &status);
4468 
4474  static MeasureUnit getMilliliter();
4475 
4476 #ifndef U_HIDE_DRAFT_API
4477 
4484  static MeasureUnit *createOsaji(UErrorCode &status);
4485 
4491  static MeasureUnit getOsaji();
4492 #endif /* U_HIDE_DRAFT_API */
4493 
4501  static MeasureUnit *createPinch(UErrorCode &status);
4502 
4508  static MeasureUnit getPinch();
4509 
4517  static MeasureUnit *createPint(UErrorCode &status);
4518 
4524  static MeasureUnit getPint();
4525 
4526 #ifndef U_HIDE_DRAFT_API
4527 
4534  static MeasureUnit *createPintImperial(UErrorCode &status);
4535 
4541  static MeasureUnit getPintImperial();
4542 #endif /* U_HIDE_DRAFT_API */
4543 
4551  static MeasureUnit *createPintMetric(UErrorCode &status);
4552 
4558  static MeasureUnit getPintMetric();
4559 
4567  static MeasureUnit *createQuart(UErrorCode &status);
4568 
4574  static MeasureUnit getQuart();
4575 
4583  static MeasureUnit *createQuartImperial(UErrorCode &status);
4584 
4590  static MeasureUnit getQuartImperial();
4591 
4592 #ifndef U_HIDE_DRAFT_API
4593 
4600  static MeasureUnit *createSai(UErrorCode &status);
4601 
4607  static MeasureUnit getSai();
4608 #endif /* U_HIDE_DRAFT_API */
4609 
4610 #ifndef U_HIDE_DRAFT_API
4611 
4618  static MeasureUnit *createShaku(UErrorCode &status);
4619 
4625  static MeasureUnit getShaku();
4626 #endif /* U_HIDE_DRAFT_API */
4627 
4635  static MeasureUnit *createTablespoon(UErrorCode &status);
4636 
4642  static MeasureUnit getTablespoon();
4643 
4651  static MeasureUnit *createTeaspoon(UErrorCode &status);
4652 
4658  static MeasureUnit getTeaspoon();
4659 
4660 #ifndef U_HIDE_DRAFT_API
4661 
4668  static MeasureUnit *createToJp(UErrorCode &status);
4669 
4675  static MeasureUnit getToJp();
4676 #endif /* U_HIDE_DRAFT_API */
4677 
4678 // End generated createXXX methods
4679 
4680  protected:
4681 
4682 #ifndef U_HIDE_INTERNAL_API
4683 
4687  void initTime(const char *timeId);
4688 
4693  void initCurrency(StringPiece isoCurrency);
4694 
4695 #endif /* U_HIDE_INTERNAL_API */
4696 
4697 private:
4698 
4699  // Used by new draft APIs in ICU 67. If non-null, fImpl is owned by the
4700  // MeasureUnit.
4701  MeasureUnitImpl* fImpl;
4702 
4703  // An index into a static string list in measunit.cpp. If set to -1, fImpl
4704  // is in use instead of fTypeId and fSubTypeId.
4705  int16_t fSubTypeId;
4706  // An index into a static string list in measunit.cpp. If set to -1, fImpl
4707  // is in use instead of fTypeId and fSubTypeId.
4708  int8_t fTypeId;
4709 
4710  MeasureUnit(int32_t typeId, int32_t subTypeId);
4711  MeasureUnit(MeasureUnitImpl&& impl);
4712  void setTo(int32_t typeId, int32_t subTypeId);
4713  static MeasureUnit *create(int typeId, int subTypeId, UErrorCode &status);
4714 
4722  static bool findBySubType(StringPiece subType, MeasureUnit* output);
4723 
4725  LocalArray<MeasureUnit> splitToSingleUnitsImpl(int32_t& outCount, UErrorCode& status) const;
4726 
4727  friend class MeasureUnitImpl;
4728 
4729  // For access to findBySubType
4730  friend class number::impl::LongNameHandler;
4731 };
4732 
4733 // inline impl of @stable ICU 68 method
4734 inline std::pair<LocalArray<MeasureUnit>, int32_t>
4735 MeasureUnit::splitToSingleUnits(UErrorCode& status) const {
4736  int32_t length;
4737  auto array = splitToSingleUnitsImpl(length, status);
4738  return std::make_pair(std::move(array), length);
4739 }
4740 
4741 U_NAMESPACE_END
4742 
4743 #endif // !UNCONFIG_NO_FORMATTING
4744 
4745 #endif /* U_SHOW_CPLUSPLUS_API */
4746 
4747 #endif // __MEASUREUNIT_H__
SI prefix: femto, 10^-15.
Definition: measunit.h:246
SI prefix: peta, 10^15.
Definition: measunit.h:155
Binary prefix: yobi, 1024^8.
Definition: measunit.h:369
The absence of an SI or binary prefix.
Definition: measunit.h:99
SI prefix: atto, 10^-18.
Definition: measunit.h:253
A unit such as length, mass, volume, currency, etc.
Definition: measunit.h:405
#define U_CAPI
This is used to declare a function as a public ICU C API.
Definition: umachine.h:110
U_COMMON_API UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
SI prefix: kilo, 10^3.
Definition: measunit.h:183
Binary prefix: pebi, 1024^5.
Definition: measunit.h:348
Binary prefix: exbi, 1024^6.
Definition: measunit.h:355
SI prefix: zepto, 10^-21.
Definition: measunit.h:260
C++ API: Unicode String.
A compound unit, like meter-per-second.
Definition: measunit.h:68
void * UClassID
UClassID is used to identify classes without using the compiler&#39;s RTTI.
Definition: uobject.h:96
SI prefix: milli, 10^-3.
Definition: measunit.h:218
SI prefix: quecto, 10^-30.
Definition: measunit.h:281
SI prefix: yocto, 10^-24.
Definition: measunit.h:267
Binary prefix: gibi, 1024^3.
Definition: measunit.h:334
Base class for &#39;pure&#39; C++ implementations of uenum api.
Definition: strenum.h:61
SI prefix: nano, 10^-9.
Definition: measunit.h:232
SI prefix: deka, 10^1.
Definition: measunit.h:197
Binary prefix: mebi, 1024^2.
Definition: measunit.h:327
SI prefix: ronto, 10^-27.
Definition: measunit.h:274
SI prefix: centi, 10^-2.
Definition: measunit.h:211
SI prefix: deci, 10^-1.
Definition: measunit.h:204
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:316
SI prefix: tera, 10^12.
Definition: measunit.h:162
SI prefix: mega, 10^6.
Definition: measunit.h:176
SI prefix: giga, 10^9.
Definition: measunit.h:169
SI prefix: pico, 10^-12.
Definition: measunit.h:239
SI prefix: zetta, 10^21.
Definition: measunit.h:141
SI prefix: micro, 10^-6.
Definition: measunit.h:225
enum icu::UMeasurePrefix UMeasurePrefix
Enumeration for SI and binary prefixes, e.g.
A mixed unit, like hour+minute.
Definition: measunit.h:75
Binary prefix: tebi, 1024^4.
Definition: measunit.h:341
C++ API: "Smart pointers" for use with and in ICU4C C++ code.
"Smart pointer" class, deletes objects via the C++ array delete[] operator.
Definition: localpointer.h:364
virtual UClassID getDynamicClassID() const
ICU4C "poor man&#39;s RTTI", returns a UClassID for the actual ICU class.
SI prefix: quetta, 10^30.
Definition: measunit.h:120
SI prefix: exa, 10^18.
Definition: measunit.h:148
U_CAPI int32_t umeas_getPrefixBase(UMeasurePrefix unitPrefix)
Returns the base of the factor associated with the given unit prefix: the base is 10 for SI prefixes ...
bool operator!=(const UObject &other) const
Inequality operator.
Definition: measunit.h:483
Binary prefix: zebi, 1024^7.
Definition: measunit.h:362
UMeasurePrefix
Enumeration for SI and binary prefixes, e.g.
Definition: measunit.h:89
U_CAPI int32_t umeas_getPrefixPower(UMeasurePrefix unitPrefix)
Returns the exponent of the factor associated with the given unit prefix, for example 3 for kilo...
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:509
SI prefix: ronna, 10^27.
Definition: measunit.h:113
Binary prefix: kibi, 1024^1.
Definition: measunit.h:311
SI prefix: yotta, 10^24.
Definition: measunit.h:106
Basic definitions for ICU, for both C and C++ APIs.
A single unit, like kilojoule.
Definition: measunit.h:61
SI prefix: hecto, 10^2.
Definition: measunit.h:190
A string-like object that points to a sized piece of memory.
Definition: stringpiece.h:61
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:222
UMeasureUnitComplexity
Enumeration for unit complexity.
Definition: measunit.h:55