![]() |
|
|||
File indexing completed on 2025-07-14 09:08:20
0001 // © 2016 and later: Unicode, Inc. and others. 0002 // License & terms of use: http://www.unicode.org/copyright.html 0003 /* 0004 ********************************************************************** 0005 * Copyright (c) 2004-2016, International Business Machines 0006 * Corporation and others. All Rights Reserved. 0007 ********************************************************************** 0008 * Author: Alan Liu 0009 * Created: April 26, 2004 0010 * Since: ICU 3.0 0011 ********************************************************************** 0012 */ 0013 #ifndef __MEASUREUNIT_H__ 0014 #define __MEASUREUNIT_H__ 0015 0016 #include "unicode/utypes.h" 0017 0018 #if U_SHOW_CPLUSPLUS_API 0019 0020 #if !UCONFIG_NO_FORMATTING 0021 0022 #include <utility> 0023 #include "unicode/unistr.h" 0024 #include "unicode/localpointer.h" 0025 0026 /** 0027 * \file 0028 * \brief C++ API: A unit for measuring a quantity. 0029 */ 0030 0031 U_NAMESPACE_BEGIN 0032 0033 class StringEnumeration; 0034 class MeasureUnitImpl; 0035 0036 namespace number { 0037 namespace impl { 0038 class LongNameHandler; 0039 } 0040 } // namespace number 0041 0042 /** 0043 * Enumeration for unit complexity. There are three levels: 0044 * 0045 * - SINGLE: A single unit, optionally with a power and/or SI or binary prefix. 0046 * Examples: hectare, square-kilometer, kilojoule, per-second, mebibyte. 0047 * - COMPOUND: A unit composed of the product of multiple single units. Examples: 0048 * meter-per-second, kilowatt-hour, kilogram-meter-per-square-second. 0049 * - MIXED: A unit composed of the sum of multiple single units. Examples: foot+inch, 0050 * hour+minute+second, degree+arcminute+arcsecond. 0051 * 0052 * The complexity determines which operations are available. For example, you cannot set the power 0053 * or prefix of a compound unit. 0054 * 0055 * @stable ICU 67 0056 */ 0057 enum UMeasureUnitComplexity { 0058 /** 0059 * A single unit, like kilojoule. 0060 * 0061 * @stable ICU 67 0062 */ 0063 UMEASURE_UNIT_SINGLE, 0064 0065 /** 0066 * A compound unit, like meter-per-second. 0067 * 0068 * @stable ICU 67 0069 */ 0070 UMEASURE_UNIT_COMPOUND, 0071 0072 /** 0073 * A mixed unit, like hour+minute. 0074 * 0075 * @stable ICU 67 0076 */ 0077 UMEASURE_UNIT_MIXED 0078 }; 0079 0080 0081 /** 0082 * Enumeration for SI and binary prefixes, e.g. "kilo-", "nano-", "mebi-". 0083 * 0084 * Enum values should be treated as opaque: use umeas_getPrefixPower() and 0085 * umeas_getPrefixBase() to find their corresponding values. 0086 * 0087 * @stable ICU 69 0088 * @see umeas_getPrefixBase 0089 * @see umeas_getPrefixPower 0090 */ 0091 typedef enum UMeasurePrefix { 0092 /** 0093 * The absence of an SI or binary prefix. 0094 * 0095 * The integer representation of this enum value is an arbitrary 0096 * implementation detail and should not be relied upon: use 0097 * umeas_getPrefixPower() to obtain meaningful values. 0098 * 0099 * @stable ICU 69 0100 */ 0101 UMEASURE_PREFIX_ONE = 30 + 0, 0102 0103 /** 0104 * SI prefix: yotta, 10^24. 0105 * 0106 * @stable ICU 69 0107 */ 0108 UMEASURE_PREFIX_YOTTA = UMEASURE_PREFIX_ONE + 24, 0109 0110 #ifndef U_HIDE_INTERNAL_API 0111 /** 0112 * ICU use only. 0113 * Used to determine the set of base-10 SI prefixes. 0114 * @internal 0115 */ 0116 UMEASURE_PREFIX_INTERNAL_MAX_SI = UMEASURE_PREFIX_YOTTA, 0117 #endif /* U_HIDE_INTERNAL_API */ 0118 0119 /** 0120 * SI prefix: zetta, 10^21. 0121 * 0122 * @stable ICU 69 0123 */ 0124 UMEASURE_PREFIX_ZETTA = UMEASURE_PREFIX_ONE + 21, 0125 0126 /** 0127 * SI prefix: exa, 10^18. 0128 * 0129 * @stable ICU 69 0130 */ 0131 UMEASURE_PREFIX_EXA = UMEASURE_PREFIX_ONE + 18, 0132 0133 /** 0134 * SI prefix: peta, 10^15. 0135 * 0136 * @stable ICU 69 0137 */ 0138 UMEASURE_PREFIX_PETA = UMEASURE_PREFIX_ONE + 15, 0139 0140 /** 0141 * SI prefix: tera, 10^12. 0142 * 0143 * @stable ICU 69 0144 */ 0145 UMEASURE_PREFIX_TERA = UMEASURE_PREFIX_ONE + 12, 0146 0147 /** 0148 * SI prefix: giga, 10^9. 0149 * 0150 * @stable ICU 69 0151 */ 0152 UMEASURE_PREFIX_GIGA = UMEASURE_PREFIX_ONE + 9, 0153 0154 /** 0155 * SI prefix: mega, 10^6. 0156 * 0157 * @stable ICU 69 0158 */ 0159 UMEASURE_PREFIX_MEGA = UMEASURE_PREFIX_ONE + 6, 0160 0161 /** 0162 * SI prefix: kilo, 10^3. 0163 * 0164 * @stable ICU 69 0165 */ 0166 UMEASURE_PREFIX_KILO = UMEASURE_PREFIX_ONE + 3, 0167 0168 /** 0169 * SI prefix: hecto, 10^2. 0170 * 0171 * @stable ICU 69 0172 */ 0173 UMEASURE_PREFIX_HECTO = UMEASURE_PREFIX_ONE + 2, 0174 0175 /** 0176 * SI prefix: deka, 10^1. 0177 * 0178 * @stable ICU 69 0179 */ 0180 UMEASURE_PREFIX_DEKA = UMEASURE_PREFIX_ONE + 1, 0181 0182 /** 0183 * SI prefix: deci, 10^-1. 0184 * 0185 * @stable ICU 69 0186 */ 0187 UMEASURE_PREFIX_DECI = UMEASURE_PREFIX_ONE + -1, 0188 0189 /** 0190 * SI prefix: centi, 10^-2. 0191 * 0192 * @stable ICU 69 0193 */ 0194 UMEASURE_PREFIX_CENTI = UMEASURE_PREFIX_ONE + -2, 0195 0196 /** 0197 * SI prefix: milli, 10^-3. 0198 * 0199 * @stable ICU 69 0200 */ 0201 UMEASURE_PREFIX_MILLI = UMEASURE_PREFIX_ONE + -3, 0202 0203 /** 0204 * SI prefix: micro, 10^-6. 0205 * 0206 * @stable ICU 69 0207 */ 0208 UMEASURE_PREFIX_MICRO = UMEASURE_PREFIX_ONE + -6, 0209 0210 /** 0211 * SI prefix: nano, 10^-9. 0212 * 0213 * @stable ICU 69 0214 */ 0215 UMEASURE_PREFIX_NANO = UMEASURE_PREFIX_ONE + -9, 0216 0217 /** 0218 * SI prefix: pico, 10^-12. 0219 * 0220 * @stable ICU 69 0221 */ 0222 UMEASURE_PREFIX_PICO = UMEASURE_PREFIX_ONE + -12, 0223 0224 /** 0225 * SI prefix: femto, 10^-15. 0226 * 0227 * @stable ICU 69 0228 */ 0229 UMEASURE_PREFIX_FEMTO = UMEASURE_PREFIX_ONE + -15, 0230 0231 /** 0232 * SI prefix: atto, 10^-18. 0233 * 0234 * @stable ICU 69 0235 */ 0236 UMEASURE_PREFIX_ATTO = UMEASURE_PREFIX_ONE + -18, 0237 0238 /** 0239 * SI prefix: zepto, 10^-21. 0240 * 0241 * @stable ICU 69 0242 */ 0243 UMEASURE_PREFIX_ZEPTO = UMEASURE_PREFIX_ONE + -21, 0244 0245 /** 0246 * SI prefix: yocto, 10^-24. 0247 * 0248 * @stable ICU 69 0249 */ 0250 UMEASURE_PREFIX_YOCTO = UMEASURE_PREFIX_ONE + -24, 0251 0252 #ifndef U_HIDE_INTERNAL_API 0253 /** 0254 * ICU use only. 0255 * Used to determine the set of base-10 SI prefixes. 0256 * @internal 0257 */ 0258 UMEASURE_PREFIX_INTERNAL_MIN_SI = UMEASURE_PREFIX_YOCTO, 0259 #endif // U_HIDE_INTERNAL_API 0260 0261 // Cannot conditionalize the following with #ifndef U_HIDE_INTERNAL_API, 0262 // used in definitions of non-internal enum values 0263 /** 0264 * ICU use only. 0265 * Sets the arbitrary offset of the base-1024 binary prefixes' enum values. 0266 * @internal 0267 */ 0268 UMEASURE_PREFIX_INTERNAL_ONE_BIN = -60, 0269 0270 /** 0271 * Binary prefix: kibi, 1024^1. 0272 * 0273 * @stable ICU 69 0274 */ 0275 UMEASURE_PREFIX_KIBI = UMEASURE_PREFIX_INTERNAL_ONE_BIN + 1, 0276 0277 #ifndef U_HIDE_INTERNAL_API 0278 /** 0279 * ICU use only. 0280 * Used to determine the set of base-1024 binary prefixes. 0281 * @internal 0282 */ 0283 UMEASURE_PREFIX_INTERNAL_MIN_BIN = UMEASURE_PREFIX_KIBI, 0284 #endif // U_HIDE_INTERNAL_API 0285 0286 /** 0287 * Binary prefix: mebi, 1024^2. 0288 * 0289 * @stable ICU 69 0290 */ 0291 UMEASURE_PREFIX_MEBI = UMEASURE_PREFIX_INTERNAL_ONE_BIN + 2, 0292 0293 /** 0294 * Binary prefix: gibi, 1024^3. 0295 * 0296 * @stable ICU 69 0297 */ 0298 UMEASURE_PREFIX_GIBI = UMEASURE_PREFIX_INTERNAL_ONE_BIN + 3, 0299 0300 /** 0301 * Binary prefix: tebi, 1024^4. 0302 * 0303 * @stable ICU 69 0304 */ 0305 UMEASURE_PREFIX_TEBI = UMEASURE_PREFIX_INTERNAL_ONE_BIN + 4, 0306 0307 /** 0308 * Binary prefix: pebi, 1024^5. 0309 * 0310 * @stable ICU 69 0311 */ 0312 UMEASURE_PREFIX_PEBI = UMEASURE_PREFIX_INTERNAL_ONE_BIN + 5, 0313 0314 /** 0315 * Binary prefix: exbi, 1024^6. 0316 * 0317 * @stable ICU 69 0318 */ 0319 UMEASURE_PREFIX_EXBI = UMEASURE_PREFIX_INTERNAL_ONE_BIN + 6, 0320 0321 /** 0322 * Binary prefix: zebi, 1024^7. 0323 * 0324 * @stable ICU 69 0325 */ 0326 UMEASURE_PREFIX_ZEBI = UMEASURE_PREFIX_INTERNAL_ONE_BIN + 7, 0327 0328 /** 0329 * Binary prefix: yobi, 1024^8. 0330 * 0331 * @stable ICU 69 0332 */ 0333 UMEASURE_PREFIX_YOBI = UMEASURE_PREFIX_INTERNAL_ONE_BIN + 8, 0334 0335 #ifndef U_HIDE_INTERNAL_API 0336 /** 0337 * ICU use only. 0338 * Used to determine the set of base-1024 binary prefixes. 0339 * @internal 0340 */ 0341 UMEASURE_PREFIX_INTERNAL_MAX_BIN = UMEASURE_PREFIX_YOBI, 0342 #endif // U_HIDE_INTERNAL_API 0343 } UMeasurePrefix; 0344 0345 /** 0346 * Returns the base of the factor associated with the given unit prefix: the 0347 * base is 10 for SI prefixes (kilo, micro) and 1024 for binary prefixes (kibi, 0348 * mebi). 0349 * 0350 * @stable ICU 69 0351 */ 0352 U_CAPI int32_t U_EXPORT2 umeas_getPrefixBase(UMeasurePrefix unitPrefix); 0353 0354 /** 0355 * Returns the exponent of the factor associated with the given unit prefix, for 0356 * example 3 for kilo, -6 for micro, 1 for kibi, 2 for mebi, 3 for gibi. 0357 * 0358 * @stable ICU 69 0359 */ 0360 U_CAPI int32_t U_EXPORT2 umeas_getPrefixPower(UMeasurePrefix unitPrefix); 0361 0362 /** 0363 * A unit such as length, mass, volume, currency, etc. A unit is 0364 * coupled with a numeric amount to produce a Measure. 0365 * 0366 * @author Alan Liu 0367 * @stable ICU 3.0 0368 */ 0369 class U_I18N_API MeasureUnit: public UObject { 0370 public: 0371 0372 /** 0373 * Default constructor. 0374 * Populates the instance with the base dimensionless unit, which means that there will be 0375 * no unit on the formatted number. 0376 * @stable ICU 3.0 0377 */ 0378 MeasureUnit(); 0379 0380 /** 0381 * Copy constructor. 0382 * @stable ICU 3.0 0383 */ 0384 MeasureUnit(const MeasureUnit &other); 0385 0386 /** 0387 * Move constructor. 0388 * @stable ICU 67 0389 */ 0390 MeasureUnit(MeasureUnit &&other) noexcept; 0391 0392 /** 0393 * Construct a MeasureUnit from a CLDR Core Unit Identifier, defined in UTS 0394 * 35. (Core unit identifiers and mixed unit identifiers are supported, long 0395 * unit identifiers are not.) Validates and canonicalizes the identifier. 0396 * 0397 * <pre> 0398 * MeasureUnit example = MeasureUnit::forIdentifier("furlong-per-nanosecond") 0399 * </pre> 0400 * 0401 * @param identifier The CLDR Unit Identifier. 0402 * @param status Set if the identifier is invalid. 0403 * @stable ICU 67 0404 */ 0405 static MeasureUnit forIdentifier(StringPiece identifier, UErrorCode& status); 0406 0407 /** 0408 * Copy assignment operator. 0409 * @stable ICU 3.0 0410 */ 0411 MeasureUnit &operator=(const MeasureUnit &other); 0412 0413 /** 0414 * Move assignment operator. 0415 * @stable ICU 67 0416 */ 0417 MeasureUnit &operator=(MeasureUnit &&other) noexcept; 0418 0419 /** 0420 * Returns a polymorphic clone of this object. The result will 0421 * have the same class as returned by getDynamicClassID(). 0422 * @stable ICU 3.0 0423 */ 0424 virtual MeasureUnit* clone() const; 0425 0426 /** 0427 * Destructor 0428 * @stable ICU 3.0 0429 */ 0430 virtual ~MeasureUnit(); 0431 0432 /** 0433 * Equality operator. Return true if this object is equal 0434 * to the given object. 0435 * @stable ICU 3.0 0436 */ 0437 virtual bool operator==(const UObject& other) const; 0438 0439 /** 0440 * Inequality operator. Return true if this object is not equal 0441 * to the given object. 0442 * @stable ICU 53 0443 */ 0444 bool operator!=(const UObject& other) const { 0445 return !(*this == other); 0446 } 0447 0448 /** 0449 * Get the type. 0450 * 0451 * If the unit does not have a type, the empty string is returned. 0452 * 0453 * @stable ICU 53 0454 */ 0455 const char *getType() const; 0456 0457 /** 0458 * Get the sub type. 0459 * 0460 * If the unit does not have a subtype, the empty string is returned. 0461 * 0462 * @stable ICU 53 0463 */ 0464 const char *getSubtype() const; 0465 0466 /** 0467 * Get CLDR Unit Identifier for this MeasureUnit, as defined in UTS 35. 0468 * 0469 * @return The string form of this unit, owned by this MeasureUnit. 0470 * @stable ICU 67 0471 */ 0472 const char* getIdentifier() const; 0473 0474 /** 0475 * Compute the complexity of the unit. See UMeasureUnitComplexity for more information. 0476 * 0477 * @param status Set if an error occurs. 0478 * @return The unit complexity. 0479 * @stable ICU 67 0480 */ 0481 UMeasureUnitComplexity getComplexity(UErrorCode& status) const; 0482 0483 /** 0484 * Creates a MeasureUnit which is this SINGLE unit augmented with the specified prefix. 0485 * For example, UMEASURE_PREFIX_KILO for "kilo", or UMEASURE_PREFIX_KIBI for "kibi". 0486 * 0487 * There is sufficient locale data to format all standard prefixes. 0488 * 0489 * NOTE: Only works on SINGLE units. If this is a COMPOUND or MIXED unit, an error will 0490 * occur. For more information, see UMeasureUnitComplexity. 0491 * 0492 * @param prefix The prefix, from UMeasurePrefix. 0493 * @param status Set if this is not a SINGLE unit or if another error occurs. 0494 * @return A new SINGLE unit. 0495 * @stable ICU 69 0496 */ 0497 MeasureUnit withPrefix(UMeasurePrefix prefix, UErrorCode& status) const; 0498 0499 /** 0500 * Returns the current SI or binary prefix of this SINGLE unit. For example, 0501 * if the unit has the prefix "kilo", then UMEASURE_PREFIX_KILO is 0502 * returned. 0503 * 0504 * NOTE: Only works on SINGLE units. If this is a COMPOUND or MIXED unit, an error will 0505 * occur. For more information, see UMeasureUnitComplexity. 0506 * 0507 * @param status Set if this is not a SINGLE unit or if another error occurs. 0508 * @return The prefix of this SINGLE unit, from UMeasurePrefix. 0509 * @see umeas_getPrefixBase 0510 * @see umeas_getPrefixPower 0511 * @stable ICU 69 0512 */ 0513 UMeasurePrefix getPrefix(UErrorCode& status) const; 0514 0515 /** 0516 * Creates a MeasureUnit which is this SINGLE unit augmented with the specified dimensionality 0517 * (power). For example, if dimensionality is 2, the unit will be squared. 0518 * 0519 * NOTE: Only works on SINGLE units. If this is a COMPOUND or MIXED unit, an error will 0520 * occur. For more information, see UMeasureUnitComplexity. 0521 * 0522 * For the base dimensionless unit, withDimensionality does nothing. 0523 * 0524 * @param dimensionality The dimensionality (power). 0525 * @param status Set if this is not a SINGLE unit or if another error occurs. 0526 * @return A new SINGLE unit. 0527 * @stable ICU 67 0528 */ 0529 MeasureUnit withDimensionality(int32_t dimensionality, UErrorCode& status) const; 0530 0531 /** 0532 * Gets the dimensionality (power) of this MeasureUnit. For example, if the unit is square, 0533 * then 2 is returned. 0534 * 0535 * NOTE: Only works on SINGLE units. If this is a COMPOUND or MIXED unit, an error will 0536 * occur. For more information, see UMeasureUnitComplexity. 0537 * 0538 * For the base dimensionless unit, getDimensionality returns 0. 0539 * 0540 * @param status Set if this is not a SINGLE unit or if another error occurs. 0541 * @return The dimensionality (power) of this simple unit. 0542 * @stable ICU 67 0543 */ 0544 int32_t getDimensionality(UErrorCode& status) const; 0545 0546 /** 0547 * Gets the reciprocal of this MeasureUnit, with the numerator and denominator flipped. 0548 * 0549 * For example, if the receiver is "meter-per-second", the unit "second-per-meter" is returned. 0550 * 0551 * NOTE: Only works on SINGLE and COMPOUND units. If this is a MIXED unit, an error will 0552 * occur. For more information, see UMeasureUnitComplexity. 0553 * 0554 * @param status Set if this is a MIXED unit or if another error occurs. 0555 * @return The reciprocal of the target unit. 0556 * @stable ICU 67 0557 */ 0558 MeasureUnit reciprocal(UErrorCode& status) const; 0559 0560 /** 0561 * Gets the product of this unit with another unit. This is a way to build units from 0562 * constituent parts. 0563 * 0564 * The numerator and denominator are preserved through this operation. 0565 * 0566 * For example, if the receiver is "kilowatt" and the argument is "hour-per-day", then the 0567 * unit "kilowatt-hour-per-day" is returned. 0568 * 0569 * NOTE: Only works on SINGLE and COMPOUND units. If either unit (receiver and argument) is a 0570 * MIXED unit, an error will occur. For more information, see UMeasureUnitComplexity. 0571 * 0572 * @param other The MeasureUnit to multiply with the target. 0573 * @param status Set if this or other is a MIXED unit or if another error occurs. 0574 * @return The product of the target unit with the provided unit. 0575 * @stable ICU 67 0576 */ 0577 MeasureUnit product(const MeasureUnit& other, UErrorCode& status) const; 0578 0579 /** 0580 * Gets the list of SINGLE units contained within a MIXED or COMPOUND unit. 0581 * 0582 * Examples: 0583 * - Given "meter-kilogram-per-second", three units will be returned: "meter", 0584 * "kilogram", and "per-second". 0585 * - Given "hour+minute+second", three units will be returned: "hour", "minute", 0586 * and "second". 0587 * 0588 * If this is a SINGLE unit, an array of length 1 will be returned. 0589 * 0590 * @param status Set if an error occurs. 0591 * @return A pair with the list of units as a LocalArray and the number of units in the list. 0592 * @stable ICU 68 0593 */ 0594 inline std::pair<LocalArray<MeasureUnit>, int32_t> splitToSingleUnits(UErrorCode& status) const; 0595 0596 /** 0597 * getAvailable gets all of the available units. 0598 * If there are too many units to fit into destCapacity then the 0599 * error code is set to U_BUFFER_OVERFLOW_ERROR. 0600 * 0601 * @param destArray destination buffer. 0602 * @param destCapacity number of MeasureUnit instances available at dest. 0603 * @param errorCode ICU error code. 0604 * @return number of available units. 0605 * @stable ICU 53 0606 */ 0607 static int32_t getAvailable( 0608 MeasureUnit *destArray, 0609 int32_t destCapacity, 0610 UErrorCode &errorCode); 0611 0612 /** 0613 * getAvailable gets all of the available units for a specific type. 0614 * If there are too many units to fit into destCapacity then the 0615 * error code is set to U_BUFFER_OVERFLOW_ERROR. 0616 * 0617 * @param type the type 0618 * @param destArray destination buffer. 0619 * @param destCapacity number of MeasureUnit instances available at dest. 0620 * @param errorCode ICU error code. 0621 * @return number of available units for type. 0622 * @stable ICU 53 0623 */ 0624 static int32_t getAvailable( 0625 const char *type, 0626 MeasureUnit *destArray, 0627 int32_t destCapacity, 0628 UErrorCode &errorCode); 0629 0630 /** 0631 * getAvailableTypes gets all of the available types. Caller owns the 0632 * returned StringEnumeration and must delete it when finished using it. 0633 * 0634 * @param errorCode ICU error code. 0635 * @return the types. 0636 * @stable ICU 53 0637 */ 0638 static StringEnumeration* getAvailableTypes(UErrorCode &errorCode); 0639 0640 /** 0641 * Return the class ID for this class. This is useful only for comparing to 0642 * a return value from getDynamicClassID(). For example: 0643 * <pre> 0644 * . Base* polymorphic_pointer = createPolymorphicObject(); 0645 * . if (polymorphic_pointer->getDynamicClassID() == 0646 * . Derived::getStaticClassID()) ... 0647 * </pre> 0648 * @return The class ID for all objects of this class. 0649 * @stable ICU 53 0650 */ 0651 static UClassID U_EXPORT2 getStaticClassID(void); 0652 0653 /** 0654 * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This 0655 * method is to implement a simple version of RTTI, since not all C++ 0656 * compilers support genuine RTTI. Polymorphic operator==() and clone() 0657 * methods call this method. 0658 * 0659 * @return The class ID for this object. All objects of a 0660 * given class have the same class ID. Objects of 0661 * other classes have different class IDs. 0662 * @stable ICU 53 0663 */ 0664 virtual UClassID getDynamicClassID(void) const override; 0665 0666 #ifndef U_HIDE_INTERNAL_API 0667 /** 0668 * ICU use only. 0669 * Returns associated array index for this measure unit. 0670 * @internal 0671 */ 0672 int32_t getOffset() const; 0673 #endif /* U_HIDE_INTERNAL_API */ 0674 0675 // All code between the "Start generated createXXX methods" comment and 0676 // the "End generated createXXX methods" comment is auto generated code 0677 // and must not be edited manually. For instructions on how to correctly 0678 // update this code, refer to: 0679 // docs/processes/release/tasks/updating-measure-unit.md 0680 // 0681 // Start generated createXXX methods 0682 0683 /** 0684 * Returns by pointer, unit of acceleration: g-force. 0685 * Caller owns returned value and must free it. 0686 * Also see {@link #getGForce()}. 0687 * @param status ICU error code. 0688 * @stable ICU 53 0689 */ 0690 static MeasureUnit *createGForce(UErrorCode &status); 0691 0692 /** 0693 * Returns by value, unit of acceleration: g-force. 0694 * Also see {@link #createGForce()}. 0695 * @stable ICU 64 0696 */ 0697 static MeasureUnit getGForce(); 0698 0699 /** 0700 * Returns by pointer, unit of acceleration: meter-per-square-second. 0701 * Caller owns returned value and must free it. 0702 * Also see {@link #getMeterPerSecondSquared()}. 0703 * @param status ICU error code. 0704 * @stable ICU 54 0705 */ 0706 static MeasureUnit *createMeterPerSecondSquared(UErrorCode &status); 0707 0708 /** 0709 * Returns by value, unit of acceleration: meter-per-square-second. 0710 * Also see {@link #createMeterPerSecondSquared()}. 0711 * @stable ICU 64 0712 */ 0713 static MeasureUnit getMeterPerSecondSquared(); 0714 0715 /** 0716 * Returns by pointer, unit of angle: arc-minute. 0717 * Caller owns returned value and must free it. 0718 * Also see {@link #getArcMinute()}. 0719 * @param status ICU error code. 0720 * @stable ICU 53 0721 */ 0722 static MeasureUnit *createArcMinute(UErrorCode &status); 0723 0724 /** 0725 * Returns by value, unit of angle: arc-minute. 0726 * Also see {@link #createArcMinute()}. 0727 * @stable ICU 64 0728 */ 0729 static MeasureUnit getArcMinute(); 0730 0731 /** 0732 * Returns by pointer, unit of angle: arc-second. 0733 * Caller owns returned value and must free it. 0734 * Also see {@link #getArcSecond()}. 0735 * @param status ICU error code. 0736 * @stable ICU 53 0737 */ 0738 static MeasureUnit *createArcSecond(UErrorCode &status); 0739 0740 /** 0741 * Returns by value, unit of angle: arc-second. 0742 * Also see {@link #createArcSecond()}. 0743 * @stable ICU 64 0744 */ 0745 static MeasureUnit getArcSecond(); 0746 0747 /** 0748 * Returns by pointer, unit of angle: degree. 0749 * Caller owns returned value and must free it. 0750 * Also see {@link #getDegree()}. 0751 * @param status ICU error code. 0752 * @stable ICU 53 0753 */ 0754 static MeasureUnit *createDegree(UErrorCode &status); 0755 0756 /** 0757 * Returns by value, unit of angle: degree. 0758 * Also see {@link #createDegree()}. 0759 * @stable ICU 64 0760 */ 0761 static MeasureUnit getDegree(); 0762 0763 /** 0764 * Returns by pointer, unit of angle: radian. 0765 * Caller owns returned value and must free it. 0766 * Also see {@link #getRadian()}. 0767 * @param status ICU error code. 0768 * @stable ICU 54 0769 */ 0770 static MeasureUnit *createRadian(UErrorCode &status); 0771 0772 /** 0773 * Returns by value, unit of angle: radian. 0774 * Also see {@link #createRadian()}. 0775 * @stable ICU 64 0776 */ 0777 static MeasureUnit getRadian(); 0778 0779 /** 0780 * Returns by pointer, unit of angle: revolution. 0781 * Caller owns returned value and must free it. 0782 * Also see {@link #getRevolutionAngle()}. 0783 * @param status ICU error code. 0784 * @stable ICU 56 0785 */ 0786 static MeasureUnit *createRevolutionAngle(UErrorCode &status); 0787 0788 /** 0789 * Returns by value, unit of angle: revolution. 0790 * Also see {@link #createRevolutionAngle()}. 0791 * @stable ICU 64 0792 */ 0793 static MeasureUnit getRevolutionAngle(); 0794 0795 /** 0796 * Returns by pointer, unit of area: acre. 0797 * Caller owns returned value and must free it. 0798 * Also see {@link #getAcre()}. 0799 * @param status ICU error code. 0800 * @stable ICU 53 0801 */ 0802 static MeasureUnit *createAcre(UErrorCode &status); 0803 0804 /** 0805 * Returns by value, unit of area: acre. 0806 * Also see {@link #createAcre()}. 0807 * @stable ICU 64 0808 */ 0809 static MeasureUnit getAcre(); 0810 0811 /** 0812 * Returns by pointer, unit of area: dunam. 0813 * Caller owns returned value and must free it. 0814 * Also see {@link #getDunam()}. 0815 * @param status ICU error code. 0816 * @stable ICU 64 0817 */ 0818 static MeasureUnit *createDunam(UErrorCode &status); 0819 0820 /** 0821 * Returns by value, unit of area: dunam. 0822 * Also see {@link #createDunam()}. 0823 * @stable ICU 64 0824 */ 0825 static MeasureUnit getDunam(); 0826 0827 /** 0828 * Returns by pointer, unit of area: hectare. 0829 * Caller owns returned value and must free it. 0830 * Also see {@link #getHectare()}. 0831 * @param status ICU error code. 0832 * @stable ICU 53 0833 */ 0834 static MeasureUnit *createHectare(UErrorCode &status); 0835 0836 /** 0837 * Returns by value, unit of area: hectare. 0838 * Also see {@link #createHectare()}. 0839 * @stable ICU 64 0840 */ 0841 static MeasureUnit getHectare(); 0842 0843 /** 0844 * Returns by pointer, unit of area: square-centimeter. 0845 * Caller owns returned value and must free it. 0846 * Also see {@link #getSquareCentimeter()}. 0847 * @param status ICU error code. 0848 * @stable ICU 54 0849 */ 0850 static MeasureUnit *createSquareCentimeter(UErrorCode &status); 0851 0852 /** 0853 * Returns by value, unit of area: square-centimeter. 0854 * Also see {@link #createSquareCentimeter()}. 0855 * @stable ICU 64 0856 */ 0857 static MeasureUnit getSquareCentimeter(); 0858 0859 /** 0860 * Returns by pointer, unit of area: square-foot. 0861 * Caller owns returned value and must free it. 0862 * Also see {@link #getSquareFoot()}. 0863 * @param status ICU error code. 0864 * @stable ICU 53 0865 */ 0866 static MeasureUnit *createSquareFoot(UErrorCode &status); 0867 0868 /** 0869 * Returns by value, unit of area: square-foot. 0870 * Also see {@link #createSquareFoot()}. 0871 * @stable ICU 64 0872 */ 0873 static MeasureUnit getSquareFoot(); 0874 0875 /** 0876 * Returns by pointer, unit of area: square-inch. 0877 * Caller owns returned value and must free it. 0878 * Also see {@link #getSquareInch()}. 0879 * @param status ICU error code. 0880 * @stable ICU 54 0881 */ 0882 static MeasureUnit *createSquareInch(UErrorCode &status); 0883 0884 /** 0885 * Returns by value, unit of area: square-inch. 0886 * Also see {@link #createSquareInch()}. 0887 * @stable ICU 64 0888 */ 0889 static MeasureUnit getSquareInch(); 0890 0891 /** 0892 * Returns by pointer, unit of area: square-kilometer. 0893 * Caller owns returned value and must free it. 0894 * Also see {@link #getSquareKilometer()}. 0895 * @param status ICU error code. 0896 * @stable ICU 53 0897 */ 0898 static MeasureUnit *createSquareKilometer(UErrorCode &status); 0899 0900 /** 0901 * Returns by value, unit of area: square-kilometer. 0902 * Also see {@link #createSquareKilometer()}. 0903 * @stable ICU 64 0904 */ 0905 static MeasureUnit getSquareKilometer(); 0906 0907 /** 0908 * Returns by pointer, unit of area: square-meter. 0909 * Caller owns returned value and must free it. 0910 * Also see {@link #getSquareMeter()}. 0911 * @param status ICU error code. 0912 * @stable ICU 53 0913 */ 0914 static MeasureUnit *createSquareMeter(UErrorCode &status); 0915 0916 /** 0917 * Returns by value, unit of area: square-meter. 0918 * Also see {@link #createSquareMeter()}. 0919 * @stable ICU 64 0920 */ 0921 static MeasureUnit getSquareMeter(); 0922 0923 /** 0924 * Returns by pointer, unit of area: square-mile. 0925 * Caller owns returned value and must free it. 0926 * Also see {@link #getSquareMile()}. 0927 * @param status ICU error code. 0928 * @stable ICU 53 0929 */ 0930 static MeasureUnit *createSquareMile(UErrorCode &status); 0931 0932 /** 0933 * Returns by value, unit of area: square-mile. 0934 * Also see {@link #createSquareMile()}. 0935 * @stable ICU 64 0936 */ 0937 static MeasureUnit getSquareMile(); 0938 0939 /** 0940 * Returns by pointer, unit of area: square-yard. 0941 * Caller owns returned value and must free it. 0942 * Also see {@link #getSquareYard()}. 0943 * @param status ICU error code. 0944 * @stable ICU 54 0945 */ 0946 static MeasureUnit *createSquareYard(UErrorCode &status); 0947 0948 /** 0949 * Returns by value, unit of area: square-yard. 0950 * Also see {@link #createSquareYard()}. 0951 * @stable ICU 64 0952 */ 0953 static MeasureUnit getSquareYard(); 0954 0955 /** 0956 * Returns by pointer, unit of concentr: item. 0957 * Caller owns returned value and must free it. 0958 * Also see {@link #getItem()}. 0959 * @param status ICU error code. 0960 * @stable ICU 70 0961 */ 0962 static MeasureUnit *createItem(UErrorCode &status); 0963 0964 /** 0965 * Returns by value, unit of concentr: item. 0966 * Also see {@link #createItem()}. 0967 * @stable ICU 70 0968 */ 0969 static MeasureUnit getItem(); 0970 0971 /** 0972 * Returns by pointer, unit of concentr: karat. 0973 * Caller owns returned value and must free it. 0974 * Also see {@link #getKarat()}. 0975 * @param status ICU error code. 0976 * @stable ICU 54 0977 */ 0978 static MeasureUnit *createKarat(UErrorCode &status); 0979 0980 /** 0981 * Returns by value, unit of concentr: karat. 0982 * Also see {@link #createKarat()}. 0983 * @stable ICU 64 0984 */ 0985 static MeasureUnit getKarat(); 0986 0987 /** 0988 * Returns by pointer, unit of concentr: milligram-ofglucose-per-deciliter. 0989 * Caller owns returned value and must free it. 0990 * Also see {@link #getMilligramOfglucosePerDeciliter()}. 0991 * @param status ICU error code. 0992 * @stable ICU 69 0993 */ 0994 static MeasureUnit *createMilligramOfglucosePerDeciliter(UErrorCode &status); 0995 0996 /** 0997 * Returns by value, unit of concentr: milligram-ofglucose-per-deciliter. 0998 * Also see {@link #createMilligramOfglucosePerDeciliter()}. 0999 * @stable ICU 69 1000 */ 1001 static MeasureUnit getMilligramOfglucosePerDeciliter(); 1002 1003 /** 1004 * Returns by pointer, unit of concentr: milligram-per-deciliter. 1005 * Caller owns returned value and must free it. 1006 * Also see {@link #getMilligramPerDeciliter()}. 1007 * @param status ICU error code. 1008 * @stable ICU 57 1009 */ 1010 static MeasureUnit *createMilligramPerDeciliter(UErrorCode &status); 1011 1012 /** 1013 * Returns by value, unit of concentr: milligram-per-deciliter. 1014 * Also see {@link #createMilligramPerDeciliter()}. 1015 * @stable ICU 64 1016 */ 1017 static MeasureUnit getMilligramPerDeciliter(); 1018 1019 /** 1020 * Returns by pointer, unit of concentr: millimole-per-liter. 1021 * Caller owns returned value and must free it. 1022 * Also see {@link #getMillimolePerLiter()}. 1023 * @param status ICU error code. 1024 * @stable ICU 57 1025 */ 1026 static MeasureUnit *createMillimolePerLiter(UErrorCode &status); 1027 1028 /** 1029 * Returns by value, unit of concentr: millimole-per-liter. 1030 * Also see {@link #createMillimolePerLiter()}. 1031 * @stable ICU 64 1032 */ 1033 static MeasureUnit getMillimolePerLiter(); 1034 1035 /** 1036 * Returns by pointer, unit of concentr: mole. 1037 * Caller owns returned value and must free it. 1038 * Also see {@link #getMole()}. 1039 * @param status ICU error code. 1040 * @stable ICU 64 1041 */ 1042 static MeasureUnit *createMole(UErrorCode &status); 1043 1044 /** 1045 * Returns by value, unit of concentr: mole. 1046 * Also see {@link #createMole()}. 1047 * @stable ICU 64 1048 */ 1049 static MeasureUnit getMole(); 1050 1051 /** 1052 * Returns by pointer, unit of concentr: percent. 1053 * Caller owns returned value and must free it. 1054 * Also see {@link #getPercent()}. 1055 * @param status ICU error code. 1056 * @stable ICU 63 1057 */ 1058 static MeasureUnit *createPercent(UErrorCode &status); 1059 1060 /** 1061 * Returns by value, unit of concentr: percent. 1062 * Also see {@link #createPercent()}. 1063 * @stable ICU 64 1064 */ 1065 static MeasureUnit getPercent(); 1066 1067 /** 1068 * Returns by pointer, unit of concentr: permille. 1069 * Caller owns returned value and must free it. 1070 * Also see {@link #getPermille()}. 1071 * @param status ICU error code. 1072 * @stable ICU 63 1073 */ 1074 static MeasureUnit *createPermille(UErrorCode &status); 1075 1076 /** 1077 * Returns by value, unit of concentr: permille. 1078 * Also see {@link #createPermille()}. 1079 * @stable ICU 64 1080 */ 1081 static MeasureUnit getPermille(); 1082 1083 /** 1084 * Returns by pointer, unit of concentr: permillion. 1085 * Caller owns returned value and must free it. 1086 * Also see {@link #getPartPerMillion()}. 1087 * @param status ICU error code. 1088 * @stable ICU 57 1089 */ 1090 static MeasureUnit *createPartPerMillion(UErrorCode &status); 1091 1092 /** 1093 * Returns by value, unit of concentr: permillion. 1094 * Also see {@link #createPartPerMillion()}. 1095 * @stable ICU 64 1096 */ 1097 static MeasureUnit getPartPerMillion(); 1098 1099 /** 1100 * Returns by pointer, unit of concentr: permyriad. 1101 * Caller owns returned value and must free it. 1102 * Also see {@link #getPermyriad()}. 1103 * @param status ICU error code. 1104 * @stable ICU 64 1105 */ 1106 static MeasureUnit *createPermyriad(UErrorCode &status); 1107 1108 /** 1109 * Returns by value, unit of concentr: permyriad. 1110 * Also see {@link #createPermyriad()}. 1111 * @stable ICU 64 1112 */ 1113 static MeasureUnit getPermyriad(); 1114 1115 /** 1116 * Returns by pointer, unit of consumption: liter-per-100-kilometer. 1117 * Caller owns returned value and must free it. 1118 * Also see {@link #getLiterPer100Kilometers()}. 1119 * @param status ICU error code. 1120 * @stable ICU 56 1121 */ 1122 static MeasureUnit *createLiterPer100Kilometers(UErrorCode &status); 1123 1124 /** 1125 * Returns by value, unit of consumption: liter-per-100-kilometer. 1126 * Also see {@link #createLiterPer100Kilometers()}. 1127 * @stable ICU 64 1128 */ 1129 static MeasureUnit getLiterPer100Kilometers(); 1130 1131 /** 1132 * Returns by pointer, unit of consumption: liter-per-kilometer. 1133 * Caller owns returned value and must free it. 1134 * Also see {@link #getLiterPerKilometer()}. 1135 * @param status ICU error code. 1136 * @stable ICU 54 1137 */ 1138 static MeasureUnit *createLiterPerKilometer(UErrorCode &status); 1139 1140 /** 1141 * Returns by value, unit of consumption: liter-per-kilometer. 1142 * Also see {@link #createLiterPerKilometer()}. 1143 * @stable ICU 64 1144 */ 1145 static MeasureUnit getLiterPerKilometer(); 1146 1147 /** 1148 * Returns by pointer, unit of consumption: mile-per-gallon. 1149 * Caller owns returned value and must free it. 1150 * Also see {@link #getMilePerGallon()}. 1151 * @param status ICU error code. 1152 * @stable ICU 54 1153 */ 1154 static MeasureUnit *createMilePerGallon(UErrorCode &status); 1155 1156 /** 1157 * Returns by value, unit of consumption: mile-per-gallon. 1158 * Also see {@link #createMilePerGallon()}. 1159 * @stable ICU 64 1160 */ 1161 static MeasureUnit getMilePerGallon(); 1162 1163 /** 1164 * Returns by pointer, unit of consumption: mile-per-gallon-imperial. 1165 * Caller owns returned value and must free it. 1166 * Also see {@link #getMilePerGallonImperial()}. 1167 * @param status ICU error code. 1168 * @stable ICU 57 1169 */ 1170 static MeasureUnit *createMilePerGallonImperial(UErrorCode &status); 1171 1172 /** 1173 * Returns by value, unit of consumption: mile-per-gallon-imperial. 1174 * Also see {@link #createMilePerGallonImperial()}. 1175 * @stable ICU 64 1176 */ 1177 static MeasureUnit getMilePerGallonImperial(); 1178 1179 /** 1180 * Returns by pointer, unit of digital: bit. 1181 * Caller owns returned value and must free it. 1182 * Also see {@link #getBit()}. 1183 * @param status ICU error code. 1184 * @stable ICU 54 1185 */ 1186 static MeasureUnit *createBit(UErrorCode &status); 1187 1188 /** 1189 * Returns by value, unit of digital: bit. 1190 * Also see {@link #createBit()}. 1191 * @stable ICU 64 1192 */ 1193 static MeasureUnit getBit(); 1194 1195 /** 1196 * Returns by pointer, unit of digital: byte. 1197 * Caller owns returned value and must free it. 1198 * Also see {@link #getByte()}. 1199 * @param status ICU error code. 1200 * @stable ICU 54 1201 */ 1202 static MeasureUnit *createByte(UErrorCode &status); 1203 1204 /** 1205 * Returns by value, unit of digital: byte. 1206 * Also see {@link #createByte()}. 1207 * @stable ICU 64 1208 */ 1209 static MeasureUnit getByte(); 1210 1211 /** 1212 * Returns by pointer, unit of digital: gigabit. 1213 * Caller owns returned value and must free it. 1214 * Also see {@link #getGigabit()}. 1215 * @param status ICU error code. 1216 * @stable ICU 54 1217 */ 1218 static MeasureUnit *createGigabit(UErrorCode &status); 1219 1220 /** 1221 * Returns by value, unit of digital: gigabit. 1222 * Also see {@link #createGigabit()}. 1223 * @stable ICU 64 1224 */ 1225 static MeasureUnit getGigabit(); 1226 1227 /** 1228 * Returns by pointer, unit of digital: gigabyte. 1229 * Caller owns returned value and must free it. 1230 * Also see {@link #getGigabyte()}. 1231 * @param status ICU error code. 1232 * @stable ICU 54 1233 */ 1234 static MeasureUnit *createGigabyte(UErrorCode &status); 1235 1236 /** 1237 * Returns by value, unit of digital: gigabyte. 1238 * Also see {@link #createGigabyte()}. 1239 * @stable ICU 64 1240 */ 1241 static MeasureUnit getGigabyte(); 1242 1243 /** 1244 * Returns by pointer, unit of digital: kilobit. 1245 * Caller owns returned value and must free it. 1246 * Also see {@link #getKilobit()}. 1247 * @param status ICU error code. 1248 * @stable ICU 54 1249 */ 1250 static MeasureUnit *createKilobit(UErrorCode &status); 1251 1252 /** 1253 * Returns by value, unit of digital: kilobit. 1254 * Also see {@link #createKilobit()}. 1255 * @stable ICU 64 1256 */ 1257 static MeasureUnit getKilobit(); 1258 1259 /** 1260 * Returns by pointer, unit of digital: kilobyte. 1261 * Caller owns returned value and must free it. 1262 * Also see {@link #getKilobyte()}. 1263 * @param status ICU error code. 1264 * @stable ICU 54 1265 */ 1266 static MeasureUnit *createKilobyte(UErrorCode &status); 1267 1268 /** 1269 * Returns by value, unit of digital: kilobyte. 1270 * Also see {@link #createKilobyte()}. 1271 * @stable ICU 64 1272 */ 1273 static MeasureUnit getKilobyte(); 1274 1275 /** 1276 * Returns by pointer, unit of digital: megabit. 1277 * Caller owns returned value and must free it. 1278 * Also see {@link #getMegabit()}. 1279 * @param status ICU error code. 1280 * @stable ICU 54 1281 */ 1282 static MeasureUnit *createMegabit(UErrorCode &status); 1283 1284 /** 1285 * Returns by value, unit of digital: megabit. 1286 * Also see {@link #createMegabit()}. 1287 * @stable ICU 64 1288 */ 1289 static MeasureUnit getMegabit(); 1290 1291 /** 1292 * Returns by pointer, unit of digital: megabyte. 1293 * Caller owns returned value and must free it. 1294 * Also see {@link #getMegabyte()}. 1295 * @param status ICU error code. 1296 * @stable ICU 54 1297 */ 1298 static MeasureUnit *createMegabyte(UErrorCode &status); 1299 1300 /** 1301 * Returns by value, unit of digital: megabyte. 1302 * Also see {@link #createMegabyte()}. 1303 * @stable ICU 64 1304 */ 1305 static MeasureUnit getMegabyte(); 1306 1307 /** 1308 * Returns by pointer, unit of digital: petabyte. 1309 * Caller owns returned value and must free it. 1310 * Also see {@link #getPetabyte()}. 1311 * @param status ICU error code. 1312 * @stable ICU 63 1313 */ 1314 static MeasureUnit *createPetabyte(UErrorCode &status); 1315 1316 /** 1317 * Returns by value, unit of digital: petabyte. 1318 * Also see {@link #createPetabyte()}. 1319 * @stable ICU 64 1320 */ 1321 static MeasureUnit getPetabyte(); 1322 1323 /** 1324 * Returns by pointer, unit of digital: terabit. 1325 * Caller owns returned value and must free it. 1326 * Also see {@link #getTerabit()}. 1327 * @param status ICU error code. 1328 * @stable ICU 54 1329 */ 1330 static MeasureUnit *createTerabit(UErrorCode &status); 1331 1332 /** 1333 * Returns by value, unit of digital: terabit. 1334 * Also see {@link #createTerabit()}. 1335 * @stable ICU 64 1336 */ 1337 static MeasureUnit getTerabit(); 1338 1339 /** 1340 * Returns by pointer, unit of digital: terabyte. 1341 * Caller owns returned value and must free it. 1342 * Also see {@link #getTerabyte()}. 1343 * @param status ICU error code. 1344 * @stable ICU 54 1345 */ 1346 static MeasureUnit *createTerabyte(UErrorCode &status); 1347 1348 /** 1349 * Returns by value, unit of digital: terabyte. 1350 * Also see {@link #createTerabyte()}. 1351 * @stable ICU 64 1352 */ 1353 static MeasureUnit getTerabyte(); 1354 1355 /** 1356 * Returns by pointer, unit of duration: century. 1357 * Caller owns returned value and must free it. 1358 * Also see {@link #getCentury()}. 1359 * @param status ICU error code. 1360 * @stable ICU 56 1361 */ 1362 static MeasureUnit *createCentury(UErrorCode &status); 1363 1364 /** 1365 * Returns by value, unit of duration: century. 1366 * Also see {@link #createCentury()}. 1367 * @stable ICU 64 1368 */ 1369 static MeasureUnit getCentury(); 1370 1371 /** 1372 * Returns by pointer, unit of duration: day. 1373 * Caller owns returned value and must free it. 1374 * Also see {@link #getDay()}. 1375 * @param status ICU error code. 1376 * @stable ICU 53 1377 */ 1378 static MeasureUnit *createDay(UErrorCode &status); 1379 1380 /** 1381 * Returns by value, unit of duration: day. 1382 * Also see {@link #createDay()}. 1383 * @stable ICU 64 1384 */ 1385 static MeasureUnit getDay(); 1386 1387 /** 1388 * Returns by pointer, unit of duration: day-person. 1389 * Caller owns returned value and must free it. 1390 * Also see {@link #getDayPerson()}. 1391 * @param status ICU error code. 1392 * @stable ICU 64 1393 */ 1394 static MeasureUnit *createDayPerson(UErrorCode &status); 1395 1396 /** 1397 * Returns by value, unit of duration: day-person. 1398 * Also see {@link #createDayPerson()}. 1399 * @stable ICU 64 1400 */ 1401 static MeasureUnit getDayPerson(); 1402 1403 /** 1404 * Returns by pointer, unit of duration: decade. 1405 * Caller owns returned value and must free it. 1406 * Also see {@link #getDecade()}. 1407 * @param status ICU error code. 1408 * @stable ICU 65 1409 */ 1410 static MeasureUnit *createDecade(UErrorCode &status); 1411 1412 /** 1413 * Returns by value, unit of duration: decade. 1414 * Also see {@link #createDecade()}. 1415 * @stable ICU 65 1416 */ 1417 static MeasureUnit getDecade(); 1418 1419 /** 1420 * Returns by pointer, unit of duration: hour. 1421 * Caller owns returned value and must free it. 1422 * Also see {@link #getHour()}. 1423 * @param status ICU error code. 1424 * @stable ICU 53 1425 */ 1426 static MeasureUnit *createHour(UErrorCode &status); 1427 1428 /** 1429 * Returns by value, unit of duration: hour. 1430 * Also see {@link #createHour()}. 1431 * @stable ICU 64 1432 */ 1433 static MeasureUnit getHour(); 1434 1435 /** 1436 * Returns by pointer, unit of duration: microsecond. 1437 * Caller owns returned value and must free it. 1438 * Also see {@link #getMicrosecond()}. 1439 * @param status ICU error code. 1440 * @stable ICU 54 1441 */ 1442 static MeasureUnit *createMicrosecond(UErrorCode &status); 1443 1444 /** 1445 * Returns by value, unit of duration: microsecond. 1446 * Also see {@link #createMicrosecond()}. 1447 * @stable ICU 64 1448 */ 1449 static MeasureUnit getMicrosecond(); 1450 1451 /** 1452 * Returns by pointer, unit of duration: millisecond. 1453 * Caller owns returned value and must free it. 1454 * Also see {@link #getMillisecond()}. 1455 * @param status ICU error code. 1456 * @stable ICU 53 1457 */ 1458 static MeasureUnit *createMillisecond(UErrorCode &status); 1459 1460 /** 1461 * Returns by value, unit of duration: millisecond. 1462 * Also see {@link #createMillisecond()}. 1463 * @stable ICU 64 1464 */ 1465 static MeasureUnit getMillisecond(); 1466 1467 /** 1468 * Returns by pointer, unit of duration: minute. 1469 * Caller owns returned value and must free it. 1470 * Also see {@link #getMinute()}. 1471 * @param status ICU error code. 1472 * @stable ICU 53 1473 */ 1474 static MeasureUnit *createMinute(UErrorCode &status); 1475 1476 /** 1477 * Returns by value, unit of duration: minute. 1478 * Also see {@link #createMinute()}. 1479 * @stable ICU 64 1480 */ 1481 static MeasureUnit getMinute(); 1482 1483 /** 1484 * Returns by pointer, unit of duration: month. 1485 * Caller owns returned value and must free it. 1486 * Also see {@link #getMonth()}. 1487 * @param status ICU error code. 1488 * @stable ICU 53 1489 */ 1490 static MeasureUnit *createMonth(UErrorCode &status); 1491 1492 /** 1493 * Returns by value, unit of duration: month. 1494 * Also see {@link #createMonth()}. 1495 * @stable ICU 64 1496 */ 1497 static MeasureUnit getMonth(); 1498 1499 /** 1500 * Returns by pointer, unit of duration: month-person. 1501 * Caller owns returned value and must free it. 1502 * Also see {@link #getMonthPerson()}. 1503 * @param status ICU error code. 1504 * @stable ICU 64 1505 */ 1506 static MeasureUnit *createMonthPerson(UErrorCode &status); 1507 1508 /** 1509 * Returns by value, unit of duration: month-person. 1510 * Also see {@link #createMonthPerson()}. 1511 * @stable ICU 64 1512 */ 1513 static MeasureUnit getMonthPerson(); 1514 1515 /** 1516 * Returns by pointer, unit of duration: nanosecond. 1517 * Caller owns returned value and must free it. 1518 * Also see {@link #getNanosecond()}. 1519 * @param status ICU error code. 1520 * @stable ICU 54 1521 */ 1522 static MeasureUnit *createNanosecond(UErrorCode &status); 1523 1524 /** 1525 * Returns by value, unit of duration: nanosecond. 1526 * Also see {@link #createNanosecond()}. 1527 * @stable ICU 64 1528 */ 1529 static MeasureUnit getNanosecond(); 1530 1531 /** 1532 * Returns by pointer, unit of duration: quarter. 1533 * Caller owns returned value and must free it. 1534 * Also see {@link #getQuarter()}. 1535 * @param status ICU error code. 1536 * @stable ICU 72 1537 */ 1538 static MeasureUnit *createQuarter(UErrorCode &status); 1539 1540 /** 1541 * Returns by value, unit of duration: quarter. 1542 * Also see {@link #createQuarter()}. 1543 * @stable ICU 72 1544 */ 1545 static MeasureUnit getQuarter(); 1546 1547 /** 1548 * Returns by pointer, unit of duration: second. 1549 * Caller owns returned value and must free it. 1550 * Also see {@link #getSecond()}. 1551 * @param status ICU error code. 1552 * @stable ICU 53 1553 */ 1554 static MeasureUnit *createSecond(UErrorCode &status); 1555 1556 /** 1557 * Returns by value, unit of duration: second. 1558 * Also see {@link #createSecond()}. 1559 * @stable ICU 64 1560 */ 1561 static MeasureUnit getSecond(); 1562 1563 /** 1564 * Returns by pointer, unit of duration: week. 1565 * Caller owns returned value and must free it. 1566 * Also see {@link #getWeek()}. 1567 * @param status ICU error code. 1568 * @stable ICU 53 1569 */ 1570 static MeasureUnit *createWeek(UErrorCode &status); 1571 1572 /** 1573 * Returns by value, unit of duration: week. 1574 * Also see {@link #createWeek()}. 1575 * @stable ICU 64 1576 */ 1577 static MeasureUnit getWeek(); 1578 1579 /** 1580 * Returns by pointer, unit of duration: week-person. 1581 * Caller owns returned value and must free it. 1582 * Also see {@link #getWeekPerson()}. 1583 * @param status ICU error code. 1584 * @stable ICU 64 1585 */ 1586 static MeasureUnit *createWeekPerson(UErrorCode &status); 1587 1588 /** 1589 * Returns by value, unit of duration: week-person. 1590 * Also see {@link #createWeekPerson()}. 1591 * @stable ICU 64 1592 */ 1593 static MeasureUnit getWeekPerson(); 1594 1595 /** 1596 * Returns by pointer, unit of duration: year. 1597 * Caller owns returned value and must free it. 1598 * Also see {@link #getYear()}. 1599 * @param status ICU error code. 1600 * @stable ICU 53 1601 */ 1602 static MeasureUnit *createYear(UErrorCode &status); 1603 1604 /** 1605 * Returns by value, unit of duration: year. 1606 * Also see {@link #createYear()}. 1607 * @stable ICU 64 1608 */ 1609 static MeasureUnit getYear(); 1610 1611 /** 1612 * Returns by pointer, unit of duration: year-person. 1613 * Caller owns returned value and must free it. 1614 * Also see {@link #getYearPerson()}. 1615 * @param status ICU error code. 1616 * @stable ICU 64 1617 */ 1618 static MeasureUnit *createYearPerson(UErrorCode &status); 1619 1620 /** 1621 * Returns by value, unit of duration: year-person. 1622 * Also see {@link #createYearPerson()}. 1623 * @stable ICU 64 1624 */ 1625 static MeasureUnit getYearPerson(); 1626 1627 /** 1628 * Returns by pointer, unit of electric: ampere. 1629 * Caller owns returned value and must free it. 1630 * Also see {@link #getAmpere()}. 1631 * @param status ICU error code. 1632 * @stable ICU 54 1633 */ 1634 static MeasureUnit *createAmpere(UErrorCode &status); 1635 1636 /** 1637 * Returns by value, unit of electric: ampere. 1638 * Also see {@link #createAmpere()}. 1639 * @stable ICU 64 1640 */ 1641 static MeasureUnit getAmpere(); 1642 1643 /** 1644 * Returns by pointer, unit of electric: milliampere. 1645 * Caller owns returned value and must free it. 1646 * Also see {@link #getMilliampere()}. 1647 * @param status ICU error code. 1648 * @stable ICU 54 1649 */ 1650 static MeasureUnit *createMilliampere(UErrorCode &status); 1651 1652 /** 1653 * Returns by value, unit of electric: milliampere. 1654 * Also see {@link #createMilliampere()}. 1655 * @stable ICU 64 1656 */ 1657 static MeasureUnit getMilliampere(); 1658 1659 /** 1660 * Returns by pointer, unit of electric: ohm. 1661 * Caller owns returned value and must free it. 1662 * Also see {@link #getOhm()}. 1663 * @param status ICU error code. 1664 * @stable ICU 54 1665 */ 1666 static MeasureUnit *createOhm(UErrorCode &status); 1667 1668 /** 1669 * Returns by value, unit of electric: ohm. 1670 * Also see {@link #createOhm()}. 1671 * @stable ICU 64 1672 */ 1673 static MeasureUnit getOhm(); 1674 1675 /** 1676 * Returns by pointer, unit of electric: volt. 1677 * Caller owns returned value and must free it. 1678 * Also see {@link #getVolt()}. 1679 * @param status ICU error code. 1680 * @stable ICU 54 1681 */ 1682 static MeasureUnit *createVolt(UErrorCode &status); 1683 1684 /** 1685 * Returns by value, unit of electric: volt. 1686 * Also see {@link #createVolt()}. 1687 * @stable ICU 64 1688 */ 1689 static MeasureUnit getVolt(); 1690 1691 /** 1692 * Returns by pointer, unit of energy: british-thermal-unit. 1693 * Caller owns returned value and must free it. 1694 * Also see {@link #getBritishThermalUnit()}. 1695 * @param status ICU error code. 1696 * @stable ICU 64 1697 */ 1698 static MeasureUnit *createBritishThermalUnit(UErrorCode &status); 1699 1700 /** 1701 * Returns by value, unit of energy: british-thermal-unit. 1702 * Also see {@link #createBritishThermalUnit()}. 1703 * @stable ICU 64 1704 */ 1705 static MeasureUnit getBritishThermalUnit(); 1706 1707 /** 1708 * Returns by pointer, unit of energy: calorie. 1709 * Caller owns returned value and must free it. 1710 * Also see {@link #getCalorie()}. 1711 * @param status ICU error code. 1712 * @stable ICU 54 1713 */ 1714 static MeasureUnit *createCalorie(UErrorCode &status); 1715 1716 /** 1717 * Returns by value, unit of energy: calorie. 1718 * Also see {@link #createCalorie()}. 1719 * @stable ICU 64 1720 */ 1721 static MeasureUnit getCalorie(); 1722 1723 /** 1724 * Returns by pointer, unit of energy: electronvolt. 1725 * Caller owns returned value and must free it. 1726 * Also see {@link #getElectronvolt()}. 1727 * @param status ICU error code. 1728 * @stable ICU 64 1729 */ 1730 static MeasureUnit *createElectronvolt(UErrorCode &status); 1731 1732 /** 1733 * Returns by value, unit of energy: electronvolt. 1734 * Also see {@link #createElectronvolt()}. 1735 * @stable ICU 64 1736 */ 1737 static MeasureUnit getElectronvolt(); 1738 1739 /** 1740 * Returns by pointer, unit of energy: foodcalorie. 1741 * Caller owns returned value and must free it. 1742 * Also see {@link #getFoodcalorie()}. 1743 * @param status ICU error code. 1744 * @stable ICU 54 1745 */ 1746 static MeasureUnit *createFoodcalorie(UErrorCode &status); 1747 1748 /** 1749 * Returns by value, unit of energy: foodcalorie. 1750 * Also see {@link #createFoodcalorie()}. 1751 * @stable ICU 64 1752 */ 1753 static MeasureUnit getFoodcalorie(); 1754 1755 /** 1756 * Returns by pointer, unit of energy: joule. 1757 * Caller owns returned value and must free it. 1758 * Also see {@link #getJoule()}. 1759 * @param status ICU error code. 1760 * @stable ICU 54 1761 */ 1762 static MeasureUnit *createJoule(UErrorCode &status); 1763 1764 /** 1765 * Returns by value, unit of energy: joule. 1766 * Also see {@link #createJoule()}. 1767 * @stable ICU 64 1768 */ 1769 static MeasureUnit getJoule(); 1770 1771 /** 1772 * Returns by pointer, unit of energy: kilocalorie. 1773 * Caller owns returned value and must free it. 1774 * Also see {@link #getKilocalorie()}. 1775 * @param status ICU error code. 1776 * @stable ICU 54 1777 */ 1778 static MeasureUnit *createKilocalorie(UErrorCode &status); 1779 1780 /** 1781 * Returns by value, unit of energy: kilocalorie. 1782 * Also see {@link #createKilocalorie()}. 1783 * @stable ICU 64 1784 */ 1785 static MeasureUnit getKilocalorie(); 1786 1787 /** 1788 * Returns by pointer, unit of energy: kilojoule. 1789 * Caller owns returned value and must free it. 1790 * Also see {@link #getKilojoule()}. 1791 * @param status ICU error code. 1792 * @stable ICU 54 1793 */ 1794 static MeasureUnit *createKilojoule(UErrorCode &status); 1795 1796 /** 1797 * Returns by value, unit of energy: kilojoule. 1798 * Also see {@link #createKilojoule()}. 1799 * @stable ICU 64 1800 */ 1801 static MeasureUnit getKilojoule(); 1802 1803 /** 1804 * Returns by pointer, unit of energy: kilowatt-hour. 1805 * Caller owns returned value and must free it. 1806 * Also see {@link #getKilowattHour()}. 1807 * @param status ICU error code. 1808 * @stable ICU 54 1809 */ 1810 static MeasureUnit *createKilowattHour(UErrorCode &status); 1811 1812 /** 1813 * Returns by value, unit of energy: kilowatt-hour. 1814 * Also see {@link #createKilowattHour()}. 1815 * @stable ICU 64 1816 */ 1817 static MeasureUnit getKilowattHour(); 1818 1819 /** 1820 * Returns by pointer, unit of energy: therm-us. 1821 * Caller owns returned value and must free it. 1822 * Also see {@link #getThermUs()}. 1823 * @param status ICU error code. 1824 * @stable ICU 65 1825 */ 1826 static MeasureUnit *createThermUs(UErrorCode &status); 1827 1828 /** 1829 * Returns by value, unit of energy: therm-us. 1830 * Also see {@link #createThermUs()}. 1831 * @stable ICU 65 1832 */ 1833 static MeasureUnit getThermUs(); 1834 1835 /** 1836 * Returns by pointer, unit of force: kilowatt-hour-per-100-kilometer. 1837 * Caller owns returned value and must free it. 1838 * Also see {@link #getKilowattHourPer100Kilometer()}. 1839 * @param status ICU error code. 1840 * @stable ICU 70 1841 */ 1842 static MeasureUnit *createKilowattHourPer100Kilometer(UErrorCode &status); 1843 1844 /** 1845 * Returns by value, unit of force: kilowatt-hour-per-100-kilometer. 1846 * Also see {@link #createKilowattHourPer100Kilometer()}. 1847 * @stable ICU 70 1848 */ 1849 static MeasureUnit getKilowattHourPer100Kilometer(); 1850 1851 /** 1852 * Returns by pointer, unit of force: newton. 1853 * Caller owns returned value and must free it. 1854 * Also see {@link #getNewton()}. 1855 * @param status ICU error code. 1856 * @stable ICU 64 1857 */ 1858 static MeasureUnit *createNewton(UErrorCode &status); 1859 1860 /** 1861 * Returns by value, unit of force: newton. 1862 * Also see {@link #createNewton()}. 1863 * @stable ICU 64 1864 */ 1865 static MeasureUnit getNewton(); 1866 1867 /** 1868 * Returns by pointer, unit of force: pound-force. 1869 * Caller owns returned value and must free it. 1870 * Also see {@link #getPoundForce()}. 1871 * @param status ICU error code. 1872 * @stable ICU 64 1873 */ 1874 static MeasureUnit *createPoundForce(UErrorCode &status); 1875 1876 /** 1877 * Returns by value, unit of force: pound-force. 1878 * Also see {@link #createPoundForce()}. 1879 * @stable ICU 64 1880 */ 1881 static MeasureUnit getPoundForce(); 1882 1883 /** 1884 * Returns by pointer, unit of frequency: gigahertz. 1885 * Caller owns returned value and must free it. 1886 * Also see {@link #getGigahertz()}. 1887 * @param status ICU error code. 1888 * @stable ICU 54 1889 */ 1890 static MeasureUnit *createGigahertz(UErrorCode &status); 1891 1892 /** 1893 * Returns by value, unit of frequency: gigahertz. 1894 * Also see {@link #createGigahertz()}. 1895 * @stable ICU 64 1896 */ 1897 static MeasureUnit getGigahertz(); 1898 1899 /** 1900 * Returns by pointer, unit of frequency: hertz. 1901 * Caller owns returned value and must free it. 1902 * Also see {@link #getHertz()}. 1903 * @param status ICU error code. 1904 * @stable ICU 54 1905 */ 1906 static MeasureUnit *createHertz(UErrorCode &status); 1907 1908 /** 1909 * Returns by value, unit of frequency: hertz. 1910 * Also see {@link #createHertz()}. 1911 * @stable ICU 64 1912 */ 1913 static MeasureUnit getHertz(); 1914 1915 /** 1916 * Returns by pointer, unit of frequency: kilohertz. 1917 * Caller owns returned value and must free it. 1918 * Also see {@link #getKilohertz()}. 1919 * @param status ICU error code. 1920 * @stable ICU 54 1921 */ 1922 static MeasureUnit *createKilohertz(UErrorCode &status); 1923 1924 /** 1925 * Returns by value, unit of frequency: kilohertz. 1926 * Also see {@link #createKilohertz()}. 1927 * @stable ICU 64 1928 */ 1929 static MeasureUnit getKilohertz(); 1930 1931 /** 1932 * Returns by pointer, unit of frequency: megahertz. 1933 * Caller owns returned value and must free it. 1934 * Also see {@link #getMegahertz()}. 1935 * @param status ICU error code. 1936 * @stable ICU 54 1937 */ 1938 static MeasureUnit *createMegahertz(UErrorCode &status); 1939 1940 /** 1941 * Returns by value, unit of frequency: megahertz. 1942 * Also see {@link #createMegahertz()}. 1943 * @stable ICU 64 1944 */ 1945 static MeasureUnit getMegahertz(); 1946 1947 /** 1948 * Returns by pointer, unit of graphics: dot. 1949 * Caller owns returned value and must free it. 1950 * Also see {@link #getDot()}. 1951 * @param status ICU error code. 1952 * @stable ICU 68 1953 */ 1954 static MeasureUnit *createDot(UErrorCode &status); 1955 1956 /** 1957 * Returns by value, unit of graphics: dot. 1958 * Also see {@link #createDot()}. 1959 * @stable ICU 68 1960 */ 1961 static MeasureUnit getDot(); 1962 1963 /** 1964 * Returns by pointer, unit of graphics: dot-per-centimeter. 1965 * Caller owns returned value and must free it. 1966 * Also see {@link #getDotPerCentimeter()}. 1967 * @param status ICU error code. 1968 * @stable ICU 65 1969 */ 1970 static MeasureUnit *createDotPerCentimeter(UErrorCode &status); 1971 1972 /** 1973 * Returns by value, unit of graphics: dot-per-centimeter. 1974 * Also see {@link #createDotPerCentimeter()}. 1975 * @stable ICU 65 1976 */ 1977 static MeasureUnit getDotPerCentimeter(); 1978 1979 /** 1980 * Returns by pointer, unit of graphics: dot-per-inch. 1981 * Caller owns returned value and must free it. 1982 * Also see {@link #getDotPerInch()}. 1983 * @param status ICU error code. 1984 * @stable ICU 65 1985 */ 1986 static MeasureUnit *createDotPerInch(UErrorCode &status); 1987 1988 /** 1989 * Returns by value, unit of graphics: dot-per-inch. 1990 * Also see {@link #createDotPerInch()}. 1991 * @stable ICU 65 1992 */ 1993 static MeasureUnit getDotPerInch(); 1994 1995 /** 1996 * Returns by pointer, unit of graphics: em. 1997 * Caller owns returned value and must free it. 1998 * Also see {@link #getEm()}. 1999 * @param status ICU error code. 2000 * @stable ICU 65 2001 */ 2002 static MeasureUnit *createEm(UErrorCode &status); 2003 2004 /** 2005 * Returns by value, unit of graphics: em. 2006 * Also see {@link #createEm()}. 2007 * @stable ICU 65 2008 */ 2009 static MeasureUnit getEm(); 2010 2011 /** 2012 * Returns by pointer, unit of graphics: megapixel. 2013 * Caller owns returned value and must free it. 2014 * Also see {@link #getMegapixel()}. 2015 * @param status ICU error code. 2016 * @stable ICU 65 2017 */ 2018 static MeasureUnit *createMegapixel(UErrorCode &status); 2019 2020 /** 2021 * Returns by value, unit of graphics: megapixel. 2022 * Also see {@link #createMegapixel()}. 2023 * @stable ICU 65 2024 */ 2025 static MeasureUnit getMegapixel(); 2026 2027 /** 2028 * Returns by pointer, unit of graphics: pixel. 2029 * Caller owns returned value and must free it. 2030 * Also see {@link #getPixel()}. 2031 * @param status ICU error code. 2032 * @stable ICU 65 2033 */ 2034 static MeasureUnit *createPixel(UErrorCode &status); 2035 2036 /** 2037 * Returns by value, unit of graphics: pixel. 2038 * Also see {@link #createPixel()}. 2039 * @stable ICU 65 2040 */ 2041 static MeasureUnit getPixel(); 2042 2043 /** 2044 * Returns by pointer, unit of graphics: pixel-per-centimeter. 2045 * Caller owns returned value and must free it. 2046 * Also see {@link #getPixelPerCentimeter()}. 2047 * @param status ICU error code. 2048 * @stable ICU 65 2049 */ 2050 static MeasureUnit *createPixelPerCentimeter(UErrorCode &status); 2051 2052 /** 2053 * Returns by value, unit of graphics: pixel-per-centimeter. 2054 * Also see {@link #createPixelPerCentimeter()}. 2055 * @stable ICU 65 2056 */ 2057 static MeasureUnit getPixelPerCentimeter(); 2058 2059 /** 2060 * Returns by pointer, unit of graphics: pixel-per-inch. 2061 * Caller owns returned value and must free it. 2062 * Also see {@link #getPixelPerInch()}. 2063 * @param status ICU error code. 2064 * @stable ICU 65 2065 */ 2066 static MeasureUnit *createPixelPerInch(UErrorCode &status); 2067 2068 /** 2069 * Returns by value, unit of graphics: pixel-per-inch. 2070 * Also see {@link #createPixelPerInch()}. 2071 * @stable ICU 65 2072 */ 2073 static MeasureUnit getPixelPerInch(); 2074 2075 /** 2076 * Returns by pointer, unit of length: astronomical-unit. 2077 * Caller owns returned value and must free it. 2078 * Also see {@link #getAstronomicalUnit()}. 2079 * @param status ICU error code. 2080 * @stable ICU 54 2081 */ 2082 static MeasureUnit *createAstronomicalUnit(UErrorCode &status); 2083 2084 /** 2085 * Returns by value, unit of length: astronomical-unit. 2086 * Also see {@link #createAstronomicalUnit()}. 2087 * @stable ICU 64 2088 */ 2089 static MeasureUnit getAstronomicalUnit(); 2090 2091 /** 2092 * Returns by pointer, unit of length: centimeter. 2093 * Caller owns returned value and must free it. 2094 * Also see {@link #getCentimeter()}. 2095 * @param status ICU error code. 2096 * @stable ICU 53 2097 */ 2098 static MeasureUnit *createCentimeter(UErrorCode &status); 2099 2100 /** 2101 * Returns by value, unit of length: centimeter. 2102 * Also see {@link #createCentimeter()}. 2103 * @stable ICU 64 2104 */ 2105 static MeasureUnit getCentimeter(); 2106 2107 /** 2108 * Returns by pointer, unit of length: decimeter. 2109 * Caller owns returned value and must free it. 2110 * Also see {@link #getDecimeter()}. 2111 * @param status ICU error code. 2112 * @stable ICU 54 2113 */ 2114 static MeasureUnit *createDecimeter(UErrorCode &status); 2115 2116 /** 2117 * Returns by value, unit of length: decimeter. 2118 * Also see {@link #createDecimeter()}. 2119 * @stable ICU 64 2120 */ 2121 static MeasureUnit getDecimeter(); 2122 2123 /** 2124 * Returns by pointer, unit of length: earth-radius. 2125 * Caller owns returned value and must free it. 2126 * Also see {@link #getEarthRadius()}. 2127 * @param status ICU error code. 2128 * @stable ICU 68 2129 */ 2130 static MeasureUnit *createEarthRadius(UErrorCode &status); 2131 2132 /** 2133 * Returns by value, unit of length: earth-radius. 2134 * Also see {@link #createEarthRadius()}. 2135 * @stable ICU 68 2136 */ 2137 static MeasureUnit getEarthRadius(); 2138 2139 /** 2140 * Returns by pointer, unit of length: fathom. 2141 * Caller owns returned value and must free it. 2142 * Also see {@link #getFathom()}. 2143 * @param status ICU error code. 2144 * @stable ICU 54 2145 */ 2146 static MeasureUnit *createFathom(UErrorCode &status); 2147 2148 /** 2149 * Returns by value, unit of length: fathom. 2150 * Also see {@link #createFathom()}. 2151 * @stable ICU 64 2152 */ 2153 static MeasureUnit getFathom(); 2154 2155 /** 2156 * Returns by pointer, unit of length: foot. 2157 * Caller owns returned value and must free it. 2158 * Also see {@link #getFoot()}. 2159 * @param status ICU error code. 2160 * @stable ICU 53 2161 */ 2162 static MeasureUnit *createFoot(UErrorCode &status); 2163 2164 /** 2165 * Returns by value, unit of length: foot. 2166 * Also see {@link #createFoot()}. 2167 * @stable ICU 64 2168 */ 2169 static MeasureUnit getFoot(); 2170 2171 /** 2172 * Returns by pointer, unit of length: furlong. 2173 * Caller owns returned value and must free it. 2174 * Also see {@link #getFurlong()}. 2175 * @param status ICU error code. 2176 * @stable ICU 54 2177 */ 2178 static MeasureUnit *createFurlong(UErrorCode &status); 2179 2180 /** 2181 * Returns by value, unit of length: furlong. 2182 * Also see {@link #createFurlong()}. 2183 * @stable ICU 64 2184 */ 2185 static MeasureUnit getFurlong(); 2186 2187 /** 2188 * Returns by pointer, unit of length: inch. 2189 * Caller owns returned value and must free it. 2190 * Also see {@link #getInch()}. 2191 * @param status ICU error code. 2192 * @stable ICU 53 2193 */ 2194 static MeasureUnit *createInch(UErrorCode &status); 2195 2196 /** 2197 * Returns by value, unit of length: inch. 2198 * Also see {@link #createInch()}. 2199 * @stable ICU 64 2200 */ 2201 static MeasureUnit getInch(); 2202 2203 /** 2204 * Returns by pointer, unit of length: kilometer. 2205 * Caller owns returned value and must free it. 2206 * Also see {@link #getKilometer()}. 2207 * @param status ICU error code. 2208 * @stable ICU 53 2209 */ 2210 static MeasureUnit *createKilometer(UErrorCode &status); 2211 2212 /** 2213 * Returns by value, unit of length: kilometer. 2214 * Also see {@link #createKilometer()}. 2215 * @stable ICU 64 2216 */ 2217 static MeasureUnit getKilometer(); 2218 2219 /** 2220 * Returns by pointer, unit of length: light-year. 2221 * Caller owns returned value and must free it. 2222 * Also see {@link #getLightYear()}. 2223 * @param status ICU error code. 2224 * @stable ICU 53 2225 */ 2226 static MeasureUnit *createLightYear(UErrorCode &status); 2227 2228 /** 2229 * Returns by value, unit of length: light-year. 2230 * Also see {@link #createLightYear()}. 2231 * @stable ICU 64 2232 */ 2233 static MeasureUnit getLightYear(); 2234 2235 /** 2236 * Returns by pointer, unit of length: meter. 2237 * Caller owns returned value and must free it. 2238 * Also see {@link #getMeter()}. 2239 * @param status ICU error code. 2240 * @stable ICU 53 2241 */ 2242 static MeasureUnit *createMeter(UErrorCode &status); 2243 2244 /** 2245 * Returns by value, unit of length: meter. 2246 * Also see {@link #createMeter()}. 2247 * @stable ICU 64 2248 */ 2249 static MeasureUnit getMeter(); 2250 2251 /** 2252 * Returns by pointer, unit of length: micrometer. 2253 * Caller owns returned value and must free it. 2254 * Also see {@link #getMicrometer()}. 2255 * @param status ICU error code. 2256 * @stable ICU 54 2257 */ 2258 static MeasureUnit *createMicrometer(UErrorCode &status); 2259 2260 /** 2261 * Returns by value, unit of length: micrometer. 2262 * Also see {@link #createMicrometer()}. 2263 * @stable ICU 64 2264 */ 2265 static MeasureUnit getMicrometer(); 2266 2267 /** 2268 * Returns by pointer, unit of length: mile. 2269 * Caller owns returned value and must free it. 2270 * Also see {@link #getMile()}. 2271 * @param status ICU error code. 2272 * @stable ICU 53 2273 */ 2274 static MeasureUnit *createMile(UErrorCode &status); 2275 2276 /** 2277 * Returns by value, unit of length: mile. 2278 * Also see {@link #createMile()}. 2279 * @stable ICU 64 2280 */ 2281 static MeasureUnit getMile(); 2282 2283 /** 2284 * Returns by pointer, unit of length: mile-scandinavian. 2285 * Caller owns returned value and must free it. 2286 * Also see {@link #getMileScandinavian()}. 2287 * @param status ICU error code. 2288 * @stable ICU 56 2289 */ 2290 static MeasureUnit *createMileScandinavian(UErrorCode &status); 2291 2292 /** 2293 * Returns by value, unit of length: mile-scandinavian. 2294 * Also see {@link #createMileScandinavian()}. 2295 * @stable ICU 64 2296 */ 2297 static MeasureUnit getMileScandinavian(); 2298 2299 /** 2300 * Returns by pointer, unit of length: millimeter. 2301 * Caller owns returned value and must free it. 2302 * Also see {@link #getMillimeter()}. 2303 * @param status ICU error code. 2304 * @stable ICU 53 2305 */ 2306 static MeasureUnit *createMillimeter(UErrorCode &status); 2307 2308 /** 2309 * Returns by value, unit of length: millimeter. 2310 * Also see {@link #createMillimeter()}. 2311 * @stable ICU 64 2312 */ 2313 static MeasureUnit getMillimeter(); 2314 2315 /** 2316 * Returns by pointer, unit of length: nanometer. 2317 * Caller owns returned value and must free it. 2318 * Also see {@link #getNanometer()}. 2319 * @param status ICU error code. 2320 * @stable ICU 54 2321 */ 2322 static MeasureUnit *createNanometer(UErrorCode &status); 2323 2324 /** 2325 * Returns by value, unit of length: nanometer. 2326 * Also see {@link #createNanometer()}. 2327 * @stable ICU 64 2328 */ 2329 static MeasureUnit getNanometer(); 2330 2331 /** 2332 * Returns by pointer, unit of length: nautical-mile. 2333 * Caller owns returned value and must free it. 2334 * Also see {@link #getNauticalMile()}. 2335 * @param status ICU error code. 2336 * @stable ICU 54 2337 */ 2338 static MeasureUnit *createNauticalMile(UErrorCode &status); 2339 2340 /** 2341 * Returns by value, unit of length: nautical-mile. 2342 * Also see {@link #createNauticalMile()}. 2343 * @stable ICU 64 2344 */ 2345 static MeasureUnit getNauticalMile(); 2346 2347 /** 2348 * Returns by pointer, unit of length: parsec. 2349 * Caller owns returned value and must free it. 2350 * Also see {@link #getParsec()}. 2351 * @param status ICU error code. 2352 * @stable ICU 54 2353 */ 2354 static MeasureUnit *createParsec(UErrorCode &status); 2355 2356 /** 2357 * Returns by value, unit of length: parsec. 2358 * Also see {@link #createParsec()}. 2359 * @stable ICU 64 2360 */ 2361 static MeasureUnit getParsec(); 2362 2363 /** 2364 * Returns by pointer, unit of length: picometer. 2365 * Caller owns returned value and must free it. 2366 * Also see {@link #getPicometer()}. 2367 * @param status ICU error code. 2368 * @stable ICU 53 2369 */ 2370 static MeasureUnit *createPicometer(UErrorCode &status); 2371 2372 /** 2373 * Returns by value, unit of length: picometer. 2374 * Also see {@link #createPicometer()}. 2375 * @stable ICU 64 2376 */ 2377 static MeasureUnit getPicometer(); 2378 2379 /** 2380 * Returns by pointer, unit of length: point. 2381 * Caller owns returned value and must free it. 2382 * Also see {@link #getPoint()}. 2383 * @param status ICU error code. 2384 * @stable ICU 59 2385 */ 2386 static MeasureUnit *createPoint(UErrorCode &status); 2387 2388 /** 2389 * Returns by value, unit of length: point. 2390 * Also see {@link #createPoint()}. 2391 * @stable ICU 64 2392 */ 2393 static MeasureUnit getPoint(); 2394 2395 /** 2396 * Returns by pointer, unit of length: solar-radius. 2397 * Caller owns returned value and must free it. 2398 * Also see {@link #getSolarRadius()}. 2399 * @param status ICU error code. 2400 * @stable ICU 64 2401 */ 2402 static MeasureUnit *createSolarRadius(UErrorCode &status); 2403 2404 /** 2405 * Returns by value, unit of length: solar-radius. 2406 * Also see {@link #createSolarRadius()}. 2407 * @stable ICU 64 2408 */ 2409 static MeasureUnit getSolarRadius(); 2410 2411 /** 2412 * Returns by pointer, unit of length: yard. 2413 * Caller owns returned value and must free it. 2414 * Also see {@link #getYard()}. 2415 * @param status ICU error code. 2416 * @stable ICU 53 2417 */ 2418 static MeasureUnit *createYard(UErrorCode &status); 2419 2420 /** 2421 * Returns by value, unit of length: yard. 2422 * Also see {@link #createYard()}. 2423 * @stable ICU 64 2424 */ 2425 static MeasureUnit getYard(); 2426 2427 /** 2428 * Returns by pointer, unit of light: candela. 2429 * Caller owns returned value and must free it. 2430 * Also see {@link #getCandela()}. 2431 * @param status ICU error code. 2432 * @stable ICU 68 2433 */ 2434 static MeasureUnit *createCandela(UErrorCode &status); 2435 2436 /** 2437 * Returns by value, unit of light: candela. 2438 * Also see {@link #createCandela()}. 2439 * @stable ICU 68 2440 */ 2441 static MeasureUnit getCandela(); 2442 2443 /** 2444 * Returns by pointer, unit of light: lumen. 2445 * Caller owns returned value and must free it. 2446 * Also see {@link #getLumen()}. 2447 * @param status ICU error code. 2448 * @stable ICU 68 2449 */ 2450 static MeasureUnit *createLumen(UErrorCode &status); 2451 2452 /** 2453 * Returns by value, unit of light: lumen. 2454 * Also see {@link #createLumen()}. 2455 * @stable ICU 68 2456 */ 2457 static MeasureUnit getLumen(); 2458 2459 /** 2460 * Returns by pointer, unit of light: lux. 2461 * Caller owns returned value and must free it. 2462 * Also see {@link #getLux()}. 2463 * @param status ICU error code. 2464 * @stable ICU 54 2465 */ 2466 static MeasureUnit *createLux(UErrorCode &status); 2467 2468 /** 2469 * Returns by value, unit of light: lux. 2470 * Also see {@link #createLux()}. 2471 * @stable ICU 64 2472 */ 2473 static MeasureUnit getLux(); 2474 2475 /** 2476 * Returns by pointer, unit of light: solar-luminosity. 2477 * Caller owns returned value and must free it. 2478 * Also see {@link #getSolarLuminosity()}. 2479 * @param status ICU error code. 2480 * @stable ICU 64 2481 */ 2482 static MeasureUnit *createSolarLuminosity(UErrorCode &status); 2483 2484 /** 2485 * Returns by value, unit of light: solar-luminosity. 2486 * Also see {@link #createSolarLuminosity()}. 2487 * @stable ICU 64 2488 */ 2489 static MeasureUnit getSolarLuminosity(); 2490 2491 /** 2492 * Returns by pointer, unit of mass: carat. 2493 * Caller owns returned value and must free it. 2494 * Also see {@link #getCarat()}. 2495 * @param status ICU error code. 2496 * @stable ICU 54 2497 */ 2498 static MeasureUnit *createCarat(UErrorCode &status); 2499 2500 /** 2501 * Returns by value, unit of mass: carat. 2502 * Also see {@link #createCarat()}. 2503 * @stable ICU 64 2504 */ 2505 static MeasureUnit getCarat(); 2506 2507 /** 2508 * Returns by pointer, unit of mass: dalton. 2509 * Caller owns returned value and must free it. 2510 * Also see {@link #getDalton()}. 2511 * @param status ICU error code. 2512 * @stable ICU 64 2513 */ 2514 static MeasureUnit *createDalton(UErrorCode &status); 2515 2516 /** 2517 * Returns by value, unit of mass: dalton. 2518 * Also see {@link #createDalton()}. 2519 * @stable ICU 64 2520 */ 2521 static MeasureUnit getDalton(); 2522 2523 /** 2524 * Returns by pointer, unit of mass: earth-mass. 2525 * Caller owns returned value and must free it. 2526 * Also see {@link #getEarthMass()}. 2527 * @param status ICU error code. 2528 * @stable ICU 64 2529 */ 2530 static MeasureUnit *createEarthMass(UErrorCode &status); 2531 2532 /** 2533 * Returns by value, unit of mass: earth-mass. 2534 * Also see {@link #createEarthMass()}. 2535 * @stable ICU 64 2536 */ 2537 static MeasureUnit getEarthMass(); 2538 2539 /** 2540 * Returns by pointer, unit of mass: grain. 2541 * Caller owns returned value and must free it. 2542 * Also see {@link #getGrain()}. 2543 * @param status ICU error code. 2544 * @stable ICU 68 2545 */ 2546 static MeasureUnit *createGrain(UErrorCode &status); 2547 2548 /** 2549 * Returns by value, unit of mass: grain. 2550 * Also see {@link #createGrain()}. 2551 * @stable ICU 68 2552 */ 2553 static MeasureUnit getGrain(); 2554 2555 /** 2556 * Returns by pointer, unit of mass: gram. 2557 * Caller owns returned value and must free it. 2558 * Also see {@link #getGram()}. 2559 * @param status ICU error code. 2560 * @stable ICU 53 2561 */ 2562 static MeasureUnit *createGram(UErrorCode &status); 2563 2564 /** 2565 * Returns by value, unit of mass: gram. 2566 * Also see {@link #createGram()}. 2567 * @stable ICU 64 2568 */ 2569 static MeasureUnit getGram(); 2570 2571 /** 2572 * Returns by pointer, unit of mass: kilogram. 2573 * Caller owns returned value and must free it. 2574 * Also see {@link #getKilogram()}. 2575 * @param status ICU error code. 2576 * @stable ICU 53 2577 */ 2578 static MeasureUnit *createKilogram(UErrorCode &status); 2579 2580 /** 2581 * Returns by value, unit of mass: kilogram. 2582 * Also see {@link #createKilogram()}. 2583 * @stable ICU 64 2584 */ 2585 static MeasureUnit getKilogram(); 2586 2587 /** 2588 * Returns by pointer, unit of mass: metric-ton 2589 * (renamed to tonne in CLDR 42 / ICU 72). 2590 * Caller owns returned value and must free it. 2591 * Note: In ICU 74 this will be deprecated in favor of 2592 * createTonne(), which is currently draft but will 2593 * become stable in ICU 74, and which uses the preferred naming. 2594 * Also see {@link #getMetricTon()} and {@link #createTonne()}. 2595 * @param status ICU error code. 2596 * @stable ICU 54 2597 */ 2598 static MeasureUnit *createMetricTon(UErrorCode &status); 2599 2600 /** 2601 * Returns by value, unit of mass: metric-ton 2602 * (renamed to tonne in CLDR 42 / ICU 72). 2603 * Note: In ICU 74 this will be deprecated in favor of 2604 * getTonne(), which is currently draft but will 2605 * become stable in ICU 74, and which uses the preferred naming. 2606 * Also see {@link #createMetricTon()} and {@link #getTonne()}. 2607 * @stable ICU 64 2608 */ 2609 static MeasureUnit getMetricTon(); 2610 2611 /** 2612 * Returns by pointer, unit of mass: microgram. 2613 * Caller owns returned value and must free it. 2614 * Also see {@link #getMicrogram()}. 2615 * @param status ICU error code. 2616 * @stable ICU 54 2617 */ 2618 static MeasureUnit *createMicrogram(UErrorCode &status); 2619 2620 /** 2621 * Returns by value, unit of mass: microgram. 2622 * Also see {@link #createMicrogram()}. 2623 * @stable ICU 64 2624 */ 2625 static MeasureUnit getMicrogram(); 2626 2627 /** 2628 * Returns by pointer, unit of mass: milligram. 2629 * Caller owns returned value and must free it. 2630 * Also see {@link #getMilligram()}. 2631 * @param status ICU error code. 2632 * @stable ICU 54 2633 */ 2634 static MeasureUnit *createMilligram(UErrorCode &status); 2635 2636 /** 2637 * Returns by value, unit of mass: milligram. 2638 * Also see {@link #createMilligram()}. 2639 * @stable ICU 64 2640 */ 2641 static MeasureUnit getMilligram(); 2642 2643 /** 2644 * Returns by pointer, unit of mass: ounce. 2645 * Caller owns returned value and must free it. 2646 * Also see {@link #getOunce()}. 2647 * @param status ICU error code. 2648 * @stable ICU 53 2649 */ 2650 static MeasureUnit *createOunce(UErrorCode &status); 2651 2652 /** 2653 * Returns by value, unit of mass: ounce. 2654 * Also see {@link #createOunce()}. 2655 * @stable ICU 64 2656 */ 2657 static MeasureUnit getOunce(); 2658 2659 /** 2660 * Returns by pointer, unit of mass: ounce-troy. 2661 * Caller owns returned value and must free it. 2662 * Also see {@link #getOunceTroy()}. 2663 * @param status ICU error code. 2664 * @stable ICU 54 2665 */ 2666 static MeasureUnit *createOunceTroy(UErrorCode &status); 2667 2668 /** 2669 * Returns by value, unit of mass: ounce-troy. 2670 * Also see {@link #createOunceTroy()}. 2671 * @stable ICU 64 2672 */ 2673 static MeasureUnit getOunceTroy(); 2674 2675 /** 2676 * Returns by pointer, unit of mass: pound. 2677 * Caller owns returned value and must free it. 2678 * Also see {@link #getPound()}. 2679 * @param status ICU error code. 2680 * @stable ICU 53 2681 */ 2682 static MeasureUnit *createPound(UErrorCode &status); 2683 2684 /** 2685 * Returns by value, unit of mass: pound. 2686 * Also see {@link #createPound()}. 2687 * @stable ICU 64 2688 */ 2689 static MeasureUnit getPound(); 2690 2691 /** 2692 * Returns by pointer, unit of mass: solar-mass. 2693 * Caller owns returned value and must free it. 2694 * Also see {@link #getSolarMass()}. 2695 * @param status ICU error code. 2696 * @stable ICU 64 2697 */ 2698 static MeasureUnit *createSolarMass(UErrorCode &status); 2699 2700 /** 2701 * Returns by value, unit of mass: solar-mass. 2702 * Also see {@link #createSolarMass()}. 2703 * @stable ICU 64 2704 */ 2705 static MeasureUnit getSolarMass(); 2706 2707 /** 2708 * Returns by pointer, unit of mass: stone. 2709 * Caller owns returned value and must free it. 2710 * Also see {@link #getStone()}. 2711 * @param status ICU error code. 2712 * @stable ICU 54 2713 */ 2714 static MeasureUnit *createStone(UErrorCode &status); 2715 2716 /** 2717 * Returns by value, unit of mass: stone. 2718 * Also see {@link #createStone()}. 2719 * @stable ICU 64 2720 */ 2721 static MeasureUnit getStone(); 2722 2723 /** 2724 * Returns by pointer, unit of mass: ton. 2725 * Caller owns returned value and must free it. 2726 * Also see {@link #getTon()}. 2727 * @param status ICU error code. 2728 * @stable ICU 54 2729 */ 2730 static MeasureUnit *createTon(UErrorCode &status); 2731 2732 /** 2733 * Returns by value, unit of mass: ton. 2734 * Also see {@link #createTon()}. 2735 * @stable ICU 64 2736 */ 2737 static MeasureUnit getTon(); 2738 2739 /** 2740 * Returns by pointer, unit of mass: tonne. 2741 * Caller owns returned value and must free it. 2742 * Also see {@link #getTonne()}. 2743 * @param status ICU error code. 2744 * @stable ICU 72 2745 */ 2746 static MeasureUnit *createTonne(UErrorCode &status); 2747 2748 /** 2749 * Returns by value, unit of mass: tonne. 2750 * Also see {@link #createTonne()}. 2751 * @stable ICU 72 2752 */ 2753 static MeasureUnit getTonne(); 2754 2755 /** 2756 * Returns by pointer, unit of power: gigawatt. 2757 * Caller owns returned value and must free it. 2758 * Also see {@link #getGigawatt()}. 2759 * @param status ICU error code. 2760 * @stable ICU 54 2761 */ 2762 static MeasureUnit *createGigawatt(UErrorCode &status); 2763 2764 /** 2765 * Returns by value, unit of power: gigawatt. 2766 * Also see {@link #createGigawatt()}. 2767 * @stable ICU 64 2768 */ 2769 static MeasureUnit getGigawatt(); 2770 2771 /** 2772 * Returns by pointer, unit of power: horsepower. 2773 * Caller owns returned value and must free it. 2774 * Also see {@link #getHorsepower()}. 2775 * @param status ICU error code. 2776 * @stable ICU 53 2777 */ 2778 static MeasureUnit *createHorsepower(UErrorCode &status); 2779 2780 /** 2781 * Returns by value, unit of power: horsepower. 2782 * Also see {@link #createHorsepower()}. 2783 * @stable ICU 64 2784 */ 2785 static MeasureUnit getHorsepower(); 2786 2787 /** 2788 * Returns by pointer, unit of power: kilowatt. 2789 * Caller owns returned value and must free it. 2790 * Also see {@link #getKilowatt()}. 2791 * @param status ICU error code. 2792 * @stable ICU 53 2793 */ 2794 static MeasureUnit *createKilowatt(UErrorCode &status); 2795 2796 /** 2797 * Returns by value, unit of power: kilowatt. 2798 * Also see {@link #createKilowatt()}. 2799 * @stable ICU 64 2800 */ 2801 static MeasureUnit getKilowatt(); 2802 2803 /** 2804 * Returns by pointer, unit of power: megawatt. 2805 * Caller owns returned value and must free it. 2806 * Also see {@link #getMegawatt()}. 2807 * @param status ICU error code. 2808 * @stable ICU 54 2809 */ 2810 static MeasureUnit *createMegawatt(UErrorCode &status); 2811 2812 /** 2813 * Returns by value, unit of power: megawatt. 2814 * Also see {@link #createMegawatt()}. 2815 * @stable ICU 64 2816 */ 2817 static MeasureUnit getMegawatt(); 2818 2819 /** 2820 * Returns by pointer, unit of power: milliwatt. 2821 * Caller owns returned value and must free it. 2822 * Also see {@link #getMilliwatt()}. 2823 * @param status ICU error code. 2824 * @stable ICU 54 2825 */ 2826 static MeasureUnit *createMilliwatt(UErrorCode &status); 2827 2828 /** 2829 * Returns by value, unit of power: milliwatt. 2830 * Also see {@link #createMilliwatt()}. 2831 * @stable ICU 64 2832 */ 2833 static MeasureUnit getMilliwatt(); 2834 2835 /** 2836 * Returns by pointer, unit of power: watt. 2837 * Caller owns returned value and must free it. 2838 * Also see {@link #getWatt()}. 2839 * @param status ICU error code. 2840 * @stable ICU 53 2841 */ 2842 static MeasureUnit *createWatt(UErrorCode &status); 2843 2844 /** 2845 * Returns by value, unit of power: watt. 2846 * Also see {@link #createWatt()}. 2847 * @stable ICU 64 2848 */ 2849 static MeasureUnit getWatt(); 2850 2851 /** 2852 * Returns by pointer, unit of pressure: atmosphere. 2853 * Caller owns returned value and must free it. 2854 * Also see {@link #getAtmosphere()}. 2855 * @param status ICU error code. 2856 * @stable ICU 63 2857 */ 2858 static MeasureUnit *createAtmosphere(UErrorCode &status); 2859 2860 /** 2861 * Returns by value, unit of pressure: atmosphere. 2862 * Also see {@link #createAtmosphere()}. 2863 * @stable ICU 64 2864 */ 2865 static MeasureUnit getAtmosphere(); 2866 2867 /** 2868 * Returns by pointer, unit of pressure: bar. 2869 * Caller owns returned value and must free it. 2870 * Also see {@link #getBar()}. 2871 * @param status ICU error code. 2872 * @stable ICU 65 2873 */ 2874 static MeasureUnit *createBar(UErrorCode &status); 2875 2876 /** 2877 * Returns by value, unit of pressure: bar. 2878 * Also see {@link #createBar()}. 2879 * @stable ICU 65 2880 */ 2881 static MeasureUnit getBar(); 2882 2883 #ifndef U_HIDE_DRAFT_API 2884 /** 2885 * Returns by pointer, unit of pressure: gasoline-energy-density. 2886 * Caller owns returned value and must free it. 2887 * Also see {@link #getGasolineEnergyDensity()}. 2888 * @param status ICU error code. 2889 * @draft ICU 74 2890 */ 2891 static MeasureUnit *createGasolineEnergyDensity(UErrorCode &status); 2892 2893 /** 2894 * Returns by value, unit of pressure: gasoline-energy-density. 2895 * Also see {@link #createGasolineEnergyDensity()}. 2896 * @draft ICU 74 2897 */ 2898 static MeasureUnit getGasolineEnergyDensity(); 2899 #endif /* U_HIDE_DRAFT_API */ 2900 2901 /** 2902 * Returns by pointer, unit of pressure: hectopascal. 2903 * Caller owns returned value and must free it. 2904 * Also see {@link #getHectopascal()}. 2905 * @param status ICU error code. 2906 * @stable ICU 53 2907 */ 2908 static MeasureUnit *createHectopascal(UErrorCode &status); 2909 2910 /** 2911 * Returns by value, unit of pressure: hectopascal. 2912 * Also see {@link #createHectopascal()}. 2913 * @stable ICU 64 2914 */ 2915 static MeasureUnit getHectopascal(); 2916 2917 /** 2918 * Returns by pointer, unit of pressure: inch-ofhg. 2919 * Caller owns returned value and must free it. 2920 * Also see {@link #getInchHg()}. 2921 * @param status ICU error code. 2922 * @stable ICU 53 2923 */ 2924 static MeasureUnit *createInchHg(UErrorCode &status); 2925 2926 /** 2927 * Returns by value, unit of pressure: inch-ofhg. 2928 * Also see {@link #createInchHg()}. 2929 * @stable ICU 64 2930 */ 2931 static MeasureUnit getInchHg(); 2932 2933 /** 2934 * Returns by pointer, unit of pressure: kilopascal. 2935 * Caller owns returned value and must free it. 2936 * Also see {@link #getKilopascal()}. 2937 * @param status ICU error code. 2938 * @stable ICU 64 2939 */ 2940 static MeasureUnit *createKilopascal(UErrorCode &status); 2941 2942 /** 2943 * Returns by value, unit of pressure: kilopascal. 2944 * Also see {@link #createKilopascal()}. 2945 * @stable ICU 64 2946 */ 2947 static MeasureUnit getKilopascal(); 2948 2949 /** 2950 * Returns by pointer, unit of pressure: megapascal. 2951 * Caller owns returned value and must free it. 2952 * Also see {@link #getMegapascal()}. 2953 * @param status ICU error code. 2954 * @stable ICU 64 2955 */ 2956 static MeasureUnit *createMegapascal(UErrorCode &status); 2957 2958 /** 2959 * Returns by value, unit of pressure: megapascal. 2960 * Also see {@link #createMegapascal()}. 2961 * @stable ICU 64 2962 */ 2963 static MeasureUnit getMegapascal(); 2964 2965 /** 2966 * Returns by pointer, unit of pressure: millibar. 2967 * Caller owns returned value and must free it. 2968 * Also see {@link #getMillibar()}. 2969 * @param status ICU error code. 2970 * @stable ICU 53 2971 */ 2972 static MeasureUnit *createMillibar(UErrorCode &status); 2973 2974 /** 2975 * Returns by value, unit of pressure: millibar. 2976 * Also see {@link #createMillibar()}. 2977 * @stable ICU 64 2978 */ 2979 static MeasureUnit getMillibar(); 2980 2981 /** 2982 * Returns by pointer, unit of pressure: millimeter-ofhg. 2983 * Caller owns returned value and must free it. 2984 * Also see {@link #getMillimeterOfMercury()}. 2985 * @param status ICU error code. 2986 * @stable ICU 54 2987 */ 2988 static MeasureUnit *createMillimeterOfMercury(UErrorCode &status); 2989 2990 /** 2991 * Returns by value, unit of pressure: millimeter-ofhg. 2992 * Also see {@link #createMillimeterOfMercury()}. 2993 * @stable ICU 64 2994 */ 2995 static MeasureUnit getMillimeterOfMercury(); 2996 2997 /** 2998 * Returns by pointer, unit of pressure: pascal. 2999 * Caller owns returned value and must free it. 3000 * Also see {@link #getPascal()}. 3001 * @param status ICU error code. 3002 * @stable ICU 65 3003 */ 3004 static MeasureUnit *createPascal(UErrorCode &status); 3005 3006 /** 3007 * Returns by value, unit of pressure: pascal. 3008 * Also see {@link #createPascal()}. 3009 * @stable ICU 65 3010 */ 3011 static MeasureUnit getPascal(); 3012 3013 /** 3014 * Returns by pointer, unit of pressure: pound-force-per-square-inch. 3015 * Caller owns returned value and must free it. 3016 * Also see {@link #getPoundPerSquareInch()}. 3017 * @param status ICU error code. 3018 * @stable ICU 54 3019 */ 3020 static MeasureUnit *createPoundPerSquareInch(UErrorCode &status); 3021 3022 /** 3023 * Returns by value, unit of pressure: pound-force-per-square-inch. 3024 * Also see {@link #createPoundPerSquareInch()}. 3025 * @stable ICU 64 3026 */ 3027 static MeasureUnit getPoundPerSquareInch(); 3028 3029 #ifndef U_HIDE_DRAFT_API 3030 /** 3031 * Returns by pointer, unit of speed: beaufort. 3032 * Caller owns returned value and must free it. 3033 * Also see {@link #getBeaufort()}. 3034 * @param status ICU error code. 3035 * @draft ICU 73 3036 */ 3037 static MeasureUnit *createBeaufort(UErrorCode &status); 3038 3039 /** 3040 * Returns by value, unit of speed: beaufort. 3041 * Also see {@link #createBeaufort()}. 3042 * @draft ICU 73 3043 */ 3044 static MeasureUnit getBeaufort(); 3045 #endif /* U_HIDE_DRAFT_API */ 3046 3047 /** 3048 * Returns by pointer, unit of speed: kilometer-per-hour. 3049 * Caller owns returned value and must free it. 3050 * Also see {@link #getKilometerPerHour()}. 3051 * @param status ICU error code. 3052 * @stable ICU 53 3053 */ 3054 static MeasureUnit *createKilometerPerHour(UErrorCode &status); 3055 3056 /** 3057 * Returns by value, unit of speed: kilometer-per-hour. 3058 * Also see {@link #createKilometerPerHour()}. 3059 * @stable ICU 64 3060 */ 3061 static MeasureUnit getKilometerPerHour(); 3062 3063 /** 3064 * Returns by pointer, unit of speed: knot. 3065 * Caller owns returned value and must free it. 3066 * Also see {@link #getKnot()}. 3067 * @param status ICU error code. 3068 * @stable ICU 56 3069 */ 3070 static MeasureUnit *createKnot(UErrorCode &status); 3071 3072 /** 3073 * Returns by value, unit of speed: knot. 3074 * Also see {@link #createKnot()}. 3075 * @stable ICU 64 3076 */ 3077 static MeasureUnit getKnot(); 3078 3079 /** 3080 * Returns by pointer, unit of speed: meter-per-second. 3081 * Caller owns returned value and must free it. 3082 * Also see {@link #getMeterPerSecond()}. 3083 * @param status ICU error code. 3084 * @stable ICU 53 3085 */ 3086 static MeasureUnit *createMeterPerSecond(UErrorCode &status); 3087 3088 /** 3089 * Returns by value, unit of speed: meter-per-second. 3090 * Also see {@link #createMeterPerSecond()}. 3091 * @stable ICU 64 3092 */ 3093 static MeasureUnit getMeterPerSecond(); 3094 3095 /** 3096 * Returns by pointer, unit of speed: mile-per-hour. 3097 * Caller owns returned value and must free it. 3098 * Also see {@link #getMilePerHour()}. 3099 * @param status ICU error code. 3100 * @stable ICU 53 3101 */ 3102 static MeasureUnit *createMilePerHour(UErrorCode &status); 3103 3104 /** 3105 * Returns by value, unit of speed: mile-per-hour. 3106 * Also see {@link #createMilePerHour()}. 3107 * @stable ICU 64 3108 */ 3109 static MeasureUnit getMilePerHour(); 3110 3111 /** 3112 * Returns by pointer, unit of temperature: celsius. 3113 * Caller owns returned value and must free it. 3114 * Also see {@link #getCelsius()}. 3115 * @param status ICU error code. 3116 * @stable ICU 53 3117 */ 3118 static MeasureUnit *createCelsius(UErrorCode &status); 3119 3120 /** 3121 * Returns by value, unit of temperature: celsius. 3122 * Also see {@link #createCelsius()}. 3123 * @stable ICU 64 3124 */ 3125 static MeasureUnit getCelsius(); 3126 3127 /** 3128 * Returns by pointer, unit of temperature: fahrenheit. 3129 * Caller owns returned value and must free it. 3130 * Also see {@link #getFahrenheit()}. 3131 * @param status ICU error code. 3132 * @stable ICU 53 3133 */ 3134 static MeasureUnit *createFahrenheit(UErrorCode &status); 3135 3136 /** 3137 * Returns by value, unit of temperature: fahrenheit. 3138 * Also see {@link #createFahrenheit()}. 3139 * @stable ICU 64 3140 */ 3141 static MeasureUnit getFahrenheit(); 3142 3143 /** 3144 * Returns by pointer, unit of temperature: generic. 3145 * Caller owns returned value and must free it. 3146 * Also see {@link #getGenericTemperature()}. 3147 * @param status ICU error code. 3148 * @stable ICU 56 3149 */ 3150 static MeasureUnit *createGenericTemperature(UErrorCode &status); 3151 3152 /** 3153 * Returns by value, unit of temperature: generic. 3154 * Also see {@link #createGenericTemperature()}. 3155 * @stable ICU 64 3156 */ 3157 static MeasureUnit getGenericTemperature(); 3158 3159 /** 3160 * Returns by pointer, unit of temperature: kelvin. 3161 * Caller owns returned value and must free it. 3162 * Also see {@link #getKelvin()}. 3163 * @param status ICU error code. 3164 * @stable ICU 54 3165 */ 3166 static MeasureUnit *createKelvin(UErrorCode &status); 3167 3168 /** 3169 * Returns by value, unit of temperature: kelvin. 3170 * Also see {@link #createKelvin()}. 3171 * @stable ICU 64 3172 */ 3173 static MeasureUnit getKelvin(); 3174 3175 /** 3176 * Returns by pointer, unit of torque: newton-meter. 3177 * Caller owns returned value and must free it. 3178 * Also see {@link #getNewtonMeter()}. 3179 * @param status ICU error code. 3180 * @stable ICU 64 3181 */ 3182 static MeasureUnit *createNewtonMeter(UErrorCode &status); 3183 3184 /** 3185 * Returns by value, unit of torque: newton-meter. 3186 * Also see {@link #createNewtonMeter()}. 3187 * @stable ICU 64 3188 */ 3189 static MeasureUnit getNewtonMeter(); 3190 3191 /** 3192 * Returns by pointer, unit of torque: pound-force-foot. 3193 * Caller owns returned value and must free it. 3194 * Also see {@link #getPoundFoot()}. 3195 * @param status ICU error code. 3196 * @stable ICU 64 3197 */ 3198 static MeasureUnit *createPoundFoot(UErrorCode &status); 3199 3200 /** 3201 * Returns by value, unit of torque: pound-force-foot. 3202 * Also see {@link #createPoundFoot()}. 3203 * @stable ICU 64 3204 */ 3205 static MeasureUnit getPoundFoot(); 3206 3207 /** 3208 * Returns by pointer, unit of volume: acre-foot. 3209 * Caller owns returned value and must free it. 3210 * Also see {@link #getAcreFoot()}. 3211 * @param status ICU error code. 3212 * @stable ICU 54 3213 */ 3214 static MeasureUnit *createAcreFoot(UErrorCode &status); 3215 3216 /** 3217 * Returns by value, unit of volume: acre-foot. 3218 * Also see {@link #createAcreFoot()}. 3219 * @stable ICU 64 3220 */ 3221 static MeasureUnit getAcreFoot(); 3222 3223 /** 3224 * Returns by pointer, unit of volume: barrel. 3225 * Caller owns returned value and must free it. 3226 * Also see {@link #getBarrel()}. 3227 * @param status ICU error code. 3228 * @stable ICU 64 3229 */ 3230 static MeasureUnit *createBarrel(UErrorCode &status); 3231 3232 /** 3233 * Returns by value, unit of volume: barrel. 3234 * Also see {@link #createBarrel()}. 3235 * @stable ICU 64 3236 */ 3237 static MeasureUnit getBarrel(); 3238 3239 /** 3240 * Returns by pointer, unit of volume: bushel. 3241 * Caller owns returned value and must free it. 3242 * Also see {@link #getBushel()}. 3243 * @param status ICU error code. 3244 * @stable ICU 54 3245 */ 3246 static MeasureUnit *createBushel(UErrorCode &status); 3247 3248 /** 3249 * Returns by value, unit of volume: bushel. 3250 * Also see {@link #createBushel()}. 3251 * @stable ICU 64 3252 */ 3253 static MeasureUnit getBushel(); 3254 3255 /** 3256 * Returns by pointer, unit of volume: centiliter. 3257 * Caller owns returned value and must free it. 3258 * Also see {@link #getCentiliter()}. 3259 * @param status ICU error code. 3260 * @stable ICU 54 3261 */ 3262 static MeasureUnit *createCentiliter(UErrorCode &status); 3263 3264 /** 3265 * Returns by value, unit of volume: centiliter. 3266 * Also see {@link #createCentiliter()}. 3267 * @stable ICU 64 3268 */ 3269 static MeasureUnit getCentiliter(); 3270 3271 /** 3272 * Returns by pointer, unit of volume: cubic-centimeter. 3273 * Caller owns returned value and must free it. 3274 * Also see {@link #getCubicCentimeter()}. 3275 * @param status ICU error code. 3276 * @stable ICU 54 3277 */ 3278 static MeasureUnit *createCubicCentimeter(UErrorCode &status); 3279 3280 /** 3281 * Returns by value, unit of volume: cubic-centimeter. 3282 * Also see {@link #createCubicCentimeter()}. 3283 * @stable ICU 64 3284 */ 3285 static MeasureUnit getCubicCentimeter(); 3286 3287 /** 3288 * Returns by pointer, unit of volume: cubic-foot. 3289 * Caller owns returned value and must free it. 3290 * Also see {@link #getCubicFoot()}. 3291 * @param status ICU error code. 3292 * @stable ICU 54 3293 */ 3294 static MeasureUnit *createCubicFoot(UErrorCode &status); 3295 3296 /** 3297 * Returns by value, unit of volume: cubic-foot. 3298 * Also see {@link #createCubicFoot()}. 3299 * @stable ICU 64 3300 */ 3301 static MeasureUnit getCubicFoot(); 3302 3303 /** 3304 * Returns by pointer, unit of volume: cubic-inch. 3305 * Caller owns returned value and must free it. 3306 * Also see {@link #getCubicInch()}. 3307 * @param status ICU error code. 3308 * @stable ICU 54 3309 */ 3310 static MeasureUnit *createCubicInch(UErrorCode &status); 3311 3312 /** 3313 * Returns by value, unit of volume: cubic-inch. 3314 * Also see {@link #createCubicInch()}. 3315 * @stable ICU 64 3316 */ 3317 static MeasureUnit getCubicInch(); 3318 3319 /** 3320 * Returns by pointer, unit of volume: cubic-kilometer. 3321 * Caller owns returned value and must free it. 3322 * Also see {@link #getCubicKilometer()}. 3323 * @param status ICU error code. 3324 * @stable ICU 53 3325 */ 3326 static MeasureUnit *createCubicKilometer(UErrorCode &status); 3327 3328 /** 3329 * Returns by value, unit of volume: cubic-kilometer. 3330 * Also see {@link #createCubicKilometer()}. 3331 * @stable ICU 64 3332 */ 3333 static MeasureUnit getCubicKilometer(); 3334 3335 /** 3336 * Returns by pointer, unit of volume: cubic-meter. 3337 * Caller owns returned value and must free it. 3338 * Also see {@link #getCubicMeter()}. 3339 * @param status ICU error code. 3340 * @stable ICU 54 3341 */ 3342 static MeasureUnit *createCubicMeter(UErrorCode &status); 3343 3344 /** 3345 * Returns by value, unit of volume: cubic-meter. 3346 * Also see {@link #createCubicMeter()}. 3347 * @stable ICU 64 3348 */ 3349 static MeasureUnit getCubicMeter(); 3350 3351 /** 3352 * Returns by pointer, unit of volume: cubic-mile. 3353 * Caller owns returned value and must free it. 3354 * Also see {@link #getCubicMile()}. 3355 * @param status ICU error code. 3356 * @stable ICU 53 3357 */ 3358 static MeasureUnit *createCubicMile(UErrorCode &status); 3359 3360 /** 3361 * Returns by value, unit of volume: cubic-mile. 3362 * Also see {@link #createCubicMile()}. 3363 * @stable ICU 64 3364 */ 3365 static MeasureUnit getCubicMile(); 3366 3367 /** 3368 * Returns by pointer, unit of volume: cubic-yard. 3369 * Caller owns returned value and must free it. 3370 * Also see {@link #getCubicYard()}. 3371 * @param status ICU error code. 3372 * @stable ICU 54 3373 */ 3374 static MeasureUnit *createCubicYard(UErrorCode &status); 3375 3376 /** 3377 * Returns by value, unit of volume: cubic-yard. 3378 * Also see {@link #createCubicYard()}. 3379 * @stable ICU 64 3380 */ 3381 static MeasureUnit getCubicYard(); 3382 3383 /** 3384 * Returns by pointer, unit of volume: cup. 3385 * Caller owns returned value and must free it. 3386 * Also see {@link #getCup()}. 3387 * @param status ICU error code. 3388 * @stable ICU 54 3389 */ 3390 static MeasureUnit *createCup(UErrorCode &status); 3391 3392 /** 3393 * Returns by value, unit of volume: cup. 3394 * Also see {@link #createCup()}. 3395 * @stable ICU 64 3396 */ 3397 static MeasureUnit getCup(); 3398 3399 /** 3400 * Returns by pointer, unit of volume: cup-metric. 3401 * Caller owns returned value and must free it. 3402 * Also see {@link #getCupMetric()}. 3403 * @param status ICU error code. 3404 * @stable ICU 56 3405 */ 3406 static MeasureUnit *createCupMetric(UErrorCode &status); 3407 3408 /** 3409 * Returns by value, unit of volume: cup-metric. 3410 * Also see {@link #createCupMetric()}. 3411 * @stable ICU 64 3412 */ 3413 static MeasureUnit getCupMetric(); 3414 3415 /** 3416 * Returns by pointer, unit of volume: deciliter. 3417 * Caller owns returned value and must free it. 3418 * Also see {@link #getDeciliter()}. 3419 * @param status ICU error code. 3420 * @stable ICU 54 3421 */ 3422 static MeasureUnit *createDeciliter(UErrorCode &status); 3423 3424 /** 3425 * Returns by value, unit of volume: deciliter. 3426 * Also see {@link #createDeciliter()}. 3427 * @stable ICU 64 3428 */ 3429 static MeasureUnit getDeciliter(); 3430 3431 /** 3432 * Returns by pointer, unit of volume: dessert-spoon. 3433 * Caller owns returned value and must free it. 3434 * Also see {@link #getDessertSpoon()}. 3435 * @param status ICU error code. 3436 * @stable ICU 68 3437 */ 3438 static MeasureUnit *createDessertSpoon(UErrorCode &status); 3439 3440 /** 3441 * Returns by value, unit of volume: dessert-spoon. 3442 * Also see {@link #createDessertSpoon()}. 3443 * @stable ICU 68 3444 */ 3445 static MeasureUnit getDessertSpoon(); 3446 3447 /** 3448 * Returns by pointer, unit of volume: dessert-spoon-imperial. 3449 * Caller owns returned value and must free it. 3450 * Also see {@link #getDessertSpoonImperial()}. 3451 * @param status ICU error code. 3452 * @stable ICU 68 3453 */ 3454 static MeasureUnit *createDessertSpoonImperial(UErrorCode &status); 3455 3456 /** 3457 * Returns by value, unit of volume: dessert-spoon-imperial. 3458 * Also see {@link #createDessertSpoonImperial()}. 3459 * @stable ICU 68 3460 */ 3461 static MeasureUnit getDessertSpoonImperial(); 3462 3463 /** 3464 * Returns by pointer, unit of volume: dram. 3465 * Caller owns returned value and must free it. 3466 * Also see {@link #getDram()}. 3467 * @param status ICU error code. 3468 * @stable ICU 68 3469 */ 3470 static MeasureUnit *createDram(UErrorCode &status); 3471 3472 /** 3473 * Returns by value, unit of volume: dram. 3474 * Also see {@link #createDram()}. 3475 * @stable ICU 68 3476 */ 3477 static MeasureUnit getDram(); 3478 3479 /** 3480 * Returns by pointer, unit of volume: drop. 3481 * Caller owns returned value and must free it. 3482 * Also see {@link #getDrop()}. 3483 * @param status ICU error code. 3484 * @stable ICU 68 3485 */ 3486 static MeasureUnit *createDrop(UErrorCode &status); 3487 3488 /** 3489 * Returns by value, unit of volume: drop. 3490 * Also see {@link #createDrop()}. 3491 * @stable ICU 68 3492 */ 3493 static MeasureUnit getDrop(); 3494 3495 /** 3496 * Returns by pointer, unit of volume: fluid-ounce. 3497 * Caller owns returned value and must free it. 3498 * Also see {@link #getFluidOunce()}. 3499 * @param status ICU error code. 3500 * @stable ICU 54 3501 */ 3502 static MeasureUnit *createFluidOunce(UErrorCode &status); 3503 3504 /** 3505 * Returns by value, unit of volume: fluid-ounce. 3506 * Also see {@link #createFluidOunce()}. 3507 * @stable ICU 64 3508 */ 3509 static MeasureUnit getFluidOunce(); 3510 3511 /** 3512 * Returns by pointer, unit of volume: fluid-ounce-imperial. 3513 * Caller owns returned value and must free it. 3514 * Also see {@link #getFluidOunceImperial()}. 3515 * @param status ICU error code. 3516 * @stable ICU 64 3517 */ 3518 static MeasureUnit *createFluidOunceImperial(UErrorCode &status); 3519 3520 /** 3521 * Returns by value, unit of volume: fluid-ounce-imperial. 3522 * Also see {@link #createFluidOunceImperial()}. 3523 * @stable ICU 64 3524 */ 3525 static MeasureUnit getFluidOunceImperial(); 3526 3527 /** 3528 * Returns by pointer, unit of volume: gallon. 3529 * Caller owns returned value and must free it. 3530 * Also see {@link #getGallon()}. 3531 * @param status ICU error code. 3532 * @stable ICU 54 3533 */ 3534 static MeasureUnit *createGallon(UErrorCode &status); 3535 3536 /** 3537 * Returns by value, unit of volume: gallon. 3538 * Also see {@link #createGallon()}. 3539 * @stable ICU 64 3540 */ 3541 static MeasureUnit getGallon(); 3542 3543 /** 3544 * Returns by pointer, unit of volume: gallon-imperial. 3545 * Caller owns returned value and must free it. 3546 * Also see {@link #getGallonImperial()}. 3547 * @param status ICU error code. 3548 * @stable ICU 57 3549 */ 3550 static MeasureUnit *createGallonImperial(UErrorCode &status); 3551 3552 /** 3553 * Returns by value, unit of volume: gallon-imperial. 3554 * Also see {@link #createGallonImperial()}. 3555 * @stable ICU 64 3556 */ 3557 static MeasureUnit getGallonImperial(); 3558 3559 /** 3560 * Returns by pointer, unit of volume: hectoliter. 3561 * Caller owns returned value and must free it. 3562 * Also see {@link #getHectoliter()}. 3563 * @param status ICU error code. 3564 * @stable ICU 54 3565 */ 3566 static MeasureUnit *createHectoliter(UErrorCode &status); 3567 3568 /** 3569 * Returns by value, unit of volume: hectoliter. 3570 * Also see {@link #createHectoliter()}. 3571 * @stable ICU 64 3572 */ 3573 static MeasureUnit getHectoliter(); 3574 3575 /** 3576 * Returns by pointer, unit of volume: jigger. 3577 * Caller owns returned value and must free it. 3578 * Also see {@link #getJigger()}. 3579 * @param status ICU error code. 3580 * @stable ICU 68 3581 */ 3582 static MeasureUnit *createJigger(UErrorCode &status); 3583 3584 /** 3585 * Returns by value, unit of volume: jigger. 3586 * Also see {@link #createJigger()}. 3587 * @stable ICU 68 3588 */ 3589 static MeasureUnit getJigger(); 3590 3591 /** 3592 * Returns by pointer, unit of volume: liter. 3593 * Caller owns returned value and must free it. 3594 * Also see {@link #getLiter()}. 3595 * @param status ICU error code. 3596 * @stable ICU 53 3597 */ 3598 static MeasureUnit *createLiter(UErrorCode &status); 3599 3600 /** 3601 * Returns by value, unit of volume: liter. 3602 * Also see {@link #createLiter()}. 3603 * @stable ICU 64 3604 */ 3605 static MeasureUnit getLiter(); 3606 3607 /** 3608 * Returns by pointer, unit of volume: megaliter. 3609 * Caller owns returned value and must free it. 3610 * Also see {@link #getMegaliter()}. 3611 * @param status ICU error code. 3612 * @stable ICU 54 3613 */ 3614 static MeasureUnit *createMegaliter(UErrorCode &status); 3615 3616 /** 3617 * Returns by value, unit of volume: megaliter. 3618 * Also see {@link #createMegaliter()}. 3619 * @stable ICU 64 3620 */ 3621 static MeasureUnit getMegaliter(); 3622 3623 /** 3624 * Returns by pointer, unit of volume: milliliter. 3625 * Caller owns returned value and must free it. 3626 * Also see {@link #getMilliliter()}. 3627 * @param status ICU error code. 3628 * @stable ICU 54 3629 */ 3630 static MeasureUnit *createMilliliter(UErrorCode &status); 3631 3632 /** 3633 * Returns by value, unit of volume: milliliter. 3634 * Also see {@link #createMilliliter()}. 3635 * @stable ICU 64 3636 */ 3637 static MeasureUnit getMilliliter(); 3638 3639 /** 3640 * Returns by pointer, unit of volume: pinch. 3641 * Caller owns returned value and must free it. 3642 * Also see {@link #getPinch()}. 3643 * @param status ICU error code. 3644 * @stable ICU 68 3645 */ 3646 static MeasureUnit *createPinch(UErrorCode &status); 3647 3648 /** 3649 * Returns by value, unit of volume: pinch. 3650 * Also see {@link #createPinch()}. 3651 * @stable ICU 68 3652 */ 3653 static MeasureUnit getPinch(); 3654 3655 /** 3656 * Returns by pointer, unit of volume: pint. 3657 * Caller owns returned value and must free it. 3658 * Also see {@link #getPint()}. 3659 * @param status ICU error code. 3660 * @stable ICU 54 3661 */ 3662 static MeasureUnit *createPint(UErrorCode &status); 3663 3664 /** 3665 * Returns by value, unit of volume: pint. 3666 * Also see {@link #createPint()}. 3667 * @stable ICU 64 3668 */ 3669 static MeasureUnit getPint(); 3670 3671 /** 3672 * Returns by pointer, unit of volume: pint-metric. 3673 * Caller owns returned value and must free it. 3674 * Also see {@link #getPintMetric()}. 3675 * @param status ICU error code. 3676 * @stable ICU 56 3677 */ 3678 static MeasureUnit *createPintMetric(UErrorCode &status); 3679 3680 /** 3681 * Returns by value, unit of volume: pint-metric. 3682 * Also see {@link #createPintMetric()}. 3683 * @stable ICU 64 3684 */ 3685 static MeasureUnit getPintMetric(); 3686 3687 /** 3688 * Returns by pointer, unit of volume: quart. 3689 * Caller owns returned value and must free it. 3690 * Also see {@link #getQuart()}. 3691 * @param status ICU error code. 3692 * @stable ICU 54 3693 */ 3694 static MeasureUnit *createQuart(UErrorCode &status); 3695 3696 /** 3697 * Returns by value, unit of volume: quart. 3698 * Also see {@link #createQuart()}. 3699 * @stable ICU 64 3700 */ 3701 static MeasureUnit getQuart(); 3702 3703 /** 3704 * Returns by pointer, unit of volume: quart-imperial. 3705 * Caller owns returned value and must free it. 3706 * Also see {@link #getQuartImperial()}. 3707 * @param status ICU error code. 3708 * @stable ICU 68 3709 */ 3710 static MeasureUnit *createQuartImperial(UErrorCode &status); 3711 3712 /** 3713 * Returns by value, unit of volume: quart-imperial. 3714 * Also see {@link #createQuartImperial()}. 3715 * @stable ICU 68 3716 */ 3717 static MeasureUnit getQuartImperial(); 3718 3719 /** 3720 * Returns by pointer, unit of volume: tablespoon. 3721 * Caller owns returned value and must free it. 3722 * Also see {@link #getTablespoon()}. 3723 * @param status ICU error code. 3724 * @stable ICU 54 3725 */ 3726 static MeasureUnit *createTablespoon(UErrorCode &status); 3727 3728 /** 3729 * Returns by value, unit of volume: tablespoon. 3730 * Also see {@link #createTablespoon()}. 3731 * @stable ICU 64 3732 */ 3733 static MeasureUnit getTablespoon(); 3734 3735 /** 3736 * Returns by pointer, unit of volume: teaspoon. 3737 * Caller owns returned value and must free it. 3738 * Also see {@link #getTeaspoon()}. 3739 * @param status ICU error code. 3740 * @stable ICU 54 3741 */ 3742 static MeasureUnit *createTeaspoon(UErrorCode &status); 3743 3744 /** 3745 * Returns by value, unit of volume: teaspoon. 3746 * Also see {@link #createTeaspoon()}. 3747 * @stable ICU 64 3748 */ 3749 static MeasureUnit getTeaspoon(); 3750 3751 // End generated createXXX methods 3752 3753 protected: 3754 3755 #ifndef U_HIDE_INTERNAL_API 3756 /** 3757 * For ICU use only. 3758 * @internal 3759 */ 3760 void initTime(const char *timeId); 3761 3762 /** 3763 * For ICU use only. 3764 * @internal 3765 */ 3766 void initCurrency(StringPiece isoCurrency); 3767 3768 #endif /* U_HIDE_INTERNAL_API */ 3769 3770 private: 3771 3772 // Used by new draft APIs in ICU 67. If non-null, fImpl is owned by the 3773 // MeasureUnit. 3774 MeasureUnitImpl* fImpl; 3775 3776 // An index into a static string list in measunit.cpp. If set to -1, fImpl 3777 // is in use instead of fTypeId and fSubTypeId. 3778 int16_t fSubTypeId; 3779 // An index into a static string list in measunit.cpp. If set to -1, fImpl 3780 // is in use instead of fTypeId and fSubTypeId. 3781 int8_t fTypeId; 3782 3783 MeasureUnit(int32_t typeId, int32_t subTypeId); 3784 MeasureUnit(MeasureUnitImpl&& impl); 3785 void setTo(int32_t typeId, int32_t subTypeId); 3786 static MeasureUnit *create(int typeId, int subTypeId, UErrorCode &status); 3787 3788 /** 3789 * Sets output's typeId and subTypeId according to subType, if subType is a 3790 * valid/known identifier. 3791 * 3792 * @return Whether subType is known to ICU. If false, output was not 3793 * modified. 3794 */ 3795 static bool findBySubType(StringPiece subType, MeasureUnit* output); 3796 3797 /** Internal version of public API */ 3798 LocalArray<MeasureUnit> splitToSingleUnitsImpl(int32_t& outCount, UErrorCode& status) const; 3799 3800 friend class MeasureUnitImpl; 3801 3802 // For access to findBySubType 3803 friend class number::impl::LongNameHandler; 3804 }; 3805 3806 // inline impl of @stable ICU 68 method 3807 inline std::pair<LocalArray<MeasureUnit>, int32_t> 3808 MeasureUnit::splitToSingleUnits(UErrorCode& status) const { 3809 int32_t length; 3810 auto array = splitToSingleUnitsImpl(length, status); 3811 return std::make_pair(std::move(array), length); 3812 } 3813 3814 U_NAMESPACE_END 3815 3816 #endif // !UNCONFIG_NO_FORMATTING 3817 3818 #endif /* U_SHOW_CPLUSPLUS_API */ 3819 3820 #endif // __MEASUREUNIT_H__
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |