13#ifndef __MEASUREUNIT_H__
14#define __MEASUREUNIT_H__
18#if !UCONFIG_NO_FORMATTING
29class StringEnumeration;
86 return !(*
this ==
other);
171#ifndef U_HIDE_INTERNAL_API
1296#ifndef U_HIDE_INTERNAL_API
1326 int32_t getOffset()
const;
"Smart pointer" base class; do not use directly: use LocalPointer etc.
A unit such as length, mass, volume, currency, etc.
static MeasureUnit * createMeterPerSecondSquared(UErrorCode &status)
Returns unit of acceleration: meter-per-second-squared.
static MeasureUnit * createMillibar(UErrorCode &status)
Returns unit of pressure: millibar.
static MeasureUnit * createArcMinute(UErrorCode &status)
Returns unit of angle: arc-minute.
static MeasureUnit * createKilowattHour(UErrorCode &status)
Returns unit of energy: kilowatt-hour.
static int32_t getAvailable(const char *type, MeasureUnit *destArray, int32_t destCapacity, UErrorCode &errorCode)
getAvailable gets all of the available units for a specific type.
static MeasureUnit * createKilobyte(UErrorCode &status)
Returns unit of digital: kilobyte.
static MeasureUnit * createCubicFoot(UErrorCode &status)
Returns unit of volume: cubic-foot.
static MeasureUnit * createQuart(UErrorCode &status)
Returns unit of volume: quart.
static MeasureUnit * createLightYear(UErrorCode &status)
Returns unit of length: light-year.
static MeasureUnit * createNanometer(UErrorCode &status)
Returns unit of length: nanometer.
static int32_t internalGetIndexForTypeAndSubtype(const char *type, const char *subtype)
ICU use only.
static MeasureUnit * createKarat(UErrorCode &status)
Returns unit of concentr: karat.
static MeasureUnit * createOhm(UErrorCode &status)
Returns unit of electric: ohm.
static MeasureUnit * createStone(UErrorCode &status)
Returns unit of mass: stone.
static MeasureUnit * createAcreFoot(UErrorCode &status)
Returns unit of volume: acre-foot.
static MeasureUnit * createHertz(UErrorCode &status)
Returns unit of frequency: hertz.
static MeasureUnit * createVolt(UErrorCode &status)
Returns unit of electric: volt.
static MeasureUnit * createSquareKilometer(UErrorCode &status)
Returns unit of area: square-kilometer.
static MeasureUnit * createGenericTemperature(UErrorCode &status)
Returns unit of temperature: generic.
static MeasureUnit * createCup(UErrorCode &status)
Returns unit of volume: cup.
static UClassID getStaticClassID(void)
Return the class ID for this class.
virtual UObject * clone() const
Returns a polymorphic clone of this object.
static MeasureUnit * createMileScandinavian(UErrorCode &status)
Returns unit of length: mile-scandinavian.
static MeasureUnit * createInchHg(UErrorCode &status)
Returns unit of pressure: inch-hg.
static MeasureUnit * createMilePerGallonImperial(UErrorCode &status)
Returns unit of consumption: mile-per-gallon-imperial.
static MeasureUnit * createTerabit(UErrorCode &status)
Returns unit of digital: terabit.
static MeasureUnit * createYear(UErrorCode &status)
Returns unit of duration: year.
static MeasureUnit * createMile(UErrorCode &status)
Returns unit of length: mile.
static MeasureUnit * createMonth(UErrorCode &status)
Returns unit of duration: month.
static MeasureUnit * createMilliampere(UErrorCode &status)
Returns unit of electric: milliampere.
static MeasureUnit * createMegabit(UErrorCode &status)
Returns unit of digital: megabit.
static MeasureUnit * createPintMetric(UErrorCode &status)
Returns unit of volume: pint-metric.
static MeasureUnit * createOunce(UErrorCode &status)
Returns unit of mass: ounce.
static int32_t getAvailable(MeasureUnit *destArray, int32_t destCapacity, UErrorCode &errorCode)
getAvailable gets all of the available units.
static MeasureUnit * createKilohertz(UErrorCode &status)
Returns unit of frequency: kilohertz.
static MeasureUnit * createMilliwatt(UErrorCode &status)
Returns unit of power: milliwatt.
static MeasureUnit * createMicrosecond(UErrorCode &status)
Returns unit of duration: microsecond.
MeasureUnit(const MeasureUnit &other)
Copy constructor.
static MeasureUnit * createCarat(UErrorCode &status)
Returns unit of mass: carat.
static MeasureUnit * createGigabyte(UErrorCode &status)
Returns unit of digital: gigabyte.
static MeasureUnit * createGigabit(UErrorCode &status)
Returns unit of digital: gigabit.
static MeasureUnit * createParsec(UErrorCode &status)
Returns unit of length: parsec.
static MeasureUnit * createLux(UErrorCode &status)
Returns unit of light: lux.
static MeasureUnit * createWeek(UErrorCode &status)
Returns unit of duration: week.
static MeasureUnit * createJoule(UErrorCode &status)
Returns unit of energy: joule.
virtual UBool operator==(const UObject &other) const
Equality operator.
void initCurrency(const char *isoCurrency)
For ICU use only.
static MeasureUnit * createMilliliter(UErrorCode &status)
Returns unit of volume: milliliter.
static MeasureUnit * createHour(UErrorCode &status)
Returns unit of duration: hour.
void initNoUnit(const char *subtype)
For ICU use only.
static MeasureUnit * createBit(UErrorCode &status)
Returns unit of digital: bit.
static MeasureUnit * createCubicYard(UErrorCode &status)
Returns unit of volume: cubic-yard.
static MeasureUnit * createCalorie(UErrorCode &status)
Returns unit of energy: calorie.
static MeasureUnit * createFahrenheit(UErrorCode &status)
Returns unit of temperature: fahrenheit.
static MeasureUnit resolveUnitPerUnit(const MeasureUnit &unit, const MeasureUnit &perUnit, bool *isResolved)
ICU use only.
static MeasureUnit * createDay(UErrorCode &status)
Returns unit of duration: day.
static MeasureUnit * createDeciliter(UErrorCode &status)
Returns unit of volume: deciliter.
static MeasureUnit * createHectare(UErrorCode &status)
Returns unit of area: hectare.
static MeasureUnit * createMinute(UErrorCode &status)
Returns unit of duration: minute.
static MeasureUnit * createKilometerPerHour(UErrorCode &status)
Returns unit of speed: kilometer-per-hour.
static MeasureUnit * createYard(UErrorCode &status)
Returns unit of length: yard.
static MeasureUnit * createMilligram(UErrorCode &status)
Returns unit of mass: milligram.
static MeasureUnit * createOunceTroy(UErrorCode &status)
Returns unit of mass: ounce-troy.
static MeasureUnit * createHorsepower(UErrorCode &status)
Returns unit of power: horsepower.
static StringEnumeration * getAvailableTypes(UErrorCode &errorCode)
getAvailableTypes gets all of the available types.
static MeasureUnit * createMegabyte(UErrorCode &status)
Returns unit of digital: megabyte.
static MeasureUnit * createSquareCentimeter(UErrorCode &status)
Returns unit of area: square-centimeter.
int32_t getIndex() const
ICU use only.
static MeasureUnit * createGallon(UErrorCode &status)
Returns unit of volume: gallon.
static MeasureUnit * createHectopascal(UErrorCode &status)
Returns unit of pressure: hectopascal.
static MeasureUnit * createSquareFoot(UErrorCode &status)
Returns unit of area: square-foot.
static MeasureUnit * createKilojoule(UErrorCode &status)
Returns unit of energy: kilojoule.
static MeasureUnit * createGigahertz(UErrorCode &status)
Returns unit of frequency: gigahertz.
static MeasureUnit * createGallonImperial(UErrorCode &status)
Returns unit of volume: gallon-imperial.
static MeasureUnit * createSquareYard(UErrorCode &status)
Returns unit of area: square-yard.
static MeasureUnit * createGigawatt(UErrorCode &status)
Returns unit of power: gigawatt.
static MeasureUnit * createBushel(UErrorCode &status)
Returns unit of volume: bushel.
static MeasureUnit * createCentimeter(UErrorCode &status)
Returns unit of length: centimeter.
const char * getSubtype() const
Get the sub type.
static MeasureUnit * createRadian(UErrorCode &status)
Returns unit of angle: radian.
static MeasureUnit * createCubicMeter(UErrorCode &status)
Returns unit of volume: cubic-meter.
static MeasureUnit * createWatt(UErrorCode &status)
Returns unit of power: watt.
static MeasureUnit * createMetricTon(UErrorCode &status)
Returns unit of mass: metric-ton.
static MeasureUnit * createMeter(UErrorCode &status)
Returns unit of length: meter.
static MeasureUnit * createLiter(UErrorCode &status)
Returns unit of volume: liter.
static MeasureUnit * createPint(UErrorCode &status)
Returns unit of volume: pint.
MeasureUnit()
Default constructor.
static MeasureUnit * createTablespoon(UErrorCode &status)
Returns unit of volume: tablespoon.
static MeasureUnit * createMeterPerSecond(UErrorCode &status)
Returns unit of speed: meter-per-second.
static MeasureUnit * createFoot(UErrorCode &status)
Returns unit of length: foot.
static MeasureUnit * createLiterPer100Kilometers(UErrorCode &status)
Returns unit of consumption: liter-per-100kilometers.
static MeasureUnit * createSquareMeter(UErrorCode &status)
Returns unit of area: square-meter.
static MeasureUnit * createRevolutionAngle(UErrorCode &status)
Returns unit of angle: revolution.
MeasureUnit & operator=(const MeasureUnit &other)
Assignment operator.
static MeasureUnit * createCelsius(UErrorCode &status)
Returns unit of temperature: celsius.
static MeasureUnit * createDegree(UErrorCode &status)
Returns unit of angle: degree.
static MeasureUnit * createKilobit(UErrorCode &status)
Returns unit of digital: kilobit.
static MeasureUnit * createKelvin(UErrorCode &status)
Returns unit of temperature: kelvin.
static MeasureUnit * createCubicMile(UErrorCode &status)
Returns unit of volume: cubic-mile.
static MeasureUnit * createSquareInch(UErrorCode &status)
Returns unit of area: square-inch.
virtual ~MeasureUnit()
Destructor.
static MeasureUnit * createGram(UErrorCode &status)
Returns unit of mass: gram.
static MeasureUnit * createMillimeterOfMercury(UErrorCode &status)
Returns unit of pressure: millimeter-of-mercury.
static MeasureUnit * createPoundPerSquareInch(UErrorCode &status)
Returns unit of pressure: pound-per-square-inch.
static MeasureUnit * createMicrometer(UErrorCode &status)
Returns unit of length: micrometer.
static MeasureUnit * createDecimeter(UErrorCode &status)
Returns unit of length: decimeter.
static MeasureUnit * createPound(UErrorCode &status)
Returns unit of mass: pound.
static MeasureUnit * createAcre(UErrorCode &status)
Returns unit of area: acre.
virtual UClassID getDynamicClassID(void) const
Returns a unique class ID POLYMORPHICALLY.
static MeasureUnit * createMillimeter(UErrorCode &status)
Returns unit of length: millimeter.
const char * getType() const
Get the type.
static MeasureUnit * createGForce(UErrorCode &status)
Returns unit of acceleration: g-force.
static MeasureUnit * createSecond(UErrorCode &status)
Returns unit of duration: second.
static MeasureUnit * createAstronomicalUnit(UErrorCode &status)
Returns unit of length: astronomical-unit.
static MeasureUnit * createCentiliter(UErrorCode &status)
Returns unit of volume: centiliter.
static MeasureUnit * createPartPerMillion(UErrorCode &status)
Returns unit of concentr: part-per-million.
static MeasureUnit * createKilowatt(UErrorCode &status)
Returns unit of power: kilowatt.
static int32_t getIndexCount()
ICU use only.
static MeasureUnit * createMillisecond(UErrorCode &status)
Returns unit of duration: millisecond.
static MeasureUnit * createFoodcalorie(UErrorCode &status)
Returns unit of energy: foodcalorie.
static MeasureUnit * createNanosecond(UErrorCode &status)
Returns unit of duration: nanosecond.
static MeasureUnit * createByte(UErrorCode &status)
Returns unit of digital: byte.
static MeasureUnit * createKilocalorie(UErrorCode &status)
Returns unit of energy: kilocalorie.
static MeasureUnit * createTerabyte(UErrorCode &status)
Returns unit of digital: terabyte.
static MeasureUnit * createTeaspoon(UErrorCode &status)
Returns unit of volume: teaspoon.
static MeasureUnit * createFathom(UErrorCode &status)
Returns unit of length: fathom.
static MeasureUnit * createMilligramPerDeciliter(UErrorCode &status)
Returns unit of concentr: milligram-per-deciliter.
static MeasureUnit * createCubicKilometer(UErrorCode &status)
Returns unit of volume: cubic-kilometer.
static MeasureUnit * createAmpere(UErrorCode &status)
Returns unit of electric: ampere.
static MeasureUnit * createCubicInch(UErrorCode &status)
Returns unit of volume: cubic-inch.
static MeasureUnit * createCubicCentimeter(UErrorCode &status)
Returns unit of volume: cubic-centimeter.
static MeasureUnit * createKnot(UErrorCode &status)
Returns unit of speed: knot.
static MeasureUnit * createInch(UErrorCode &status)
Returns unit of length: inch.
static MeasureUnit * createLiterPerKilometer(UErrorCode &status)
Returns unit of consumption: liter-per-kilometer.
static MeasureUnit * createKilogram(UErrorCode &status)
Returns unit of mass: kilogram.
static MeasureUnit * createNauticalMile(UErrorCode &status)
Returns unit of length: nautical-mile.
static MeasureUnit * createMillimolePerLiter(UErrorCode &status)
Returns unit of concentr: millimole-per-liter.
static MeasureUnit * createSquareMile(UErrorCode &status)
Returns unit of area: square-mile.
void initTime(const char *timeId)
For ICU use only.
static MeasureUnit * createMicrogram(UErrorCode &status)
Returns unit of mass: microgram.
static MeasureUnit * createTon(UErrorCode &status)
Returns unit of mass: ton.
UBool operator!=(const UObject &other) const
Inequality operator.
static MeasureUnit * createMilePerGallon(UErrorCode &status)
Returns unit of consumption: mile-per-gallon.
static MeasureUnit * createPoint(UErrorCode &status)
Returns unit of length: point.
static MeasureUnit * createMegahertz(UErrorCode &status)
Returns unit of frequency: megahertz.
static MeasureUnit * createPicometer(UErrorCode &status)
Returns unit of length: picometer.
static MeasureUnit * createFurlong(UErrorCode &status)
Returns unit of length: furlong.
static MeasureUnit * createCupMetric(UErrorCode &status)
Returns unit of volume: cup-metric.
static MeasureUnit * createCentury(UErrorCode &status)
Returns unit of duration: century.
static MeasureUnit * createArcSecond(UErrorCode &status)
Returns unit of angle: arc-second.
static MeasureUnit * createHectoliter(UErrorCode &status)
Returns unit of volume: hectoliter.
static MeasureUnit * createMilePerHour(UErrorCode &status)
Returns unit of speed: mile-per-hour.
static MeasureUnit * createFluidOunce(UErrorCode &status)
Returns unit of volume: fluid-ounce.
static MeasureUnit * createMegaliter(UErrorCode &status)
Returns unit of volume: megaliter.
static MeasureUnit * createKilometer(UErrorCode &status)
Returns unit of length: kilometer.
static MeasureUnit * createMegawatt(UErrorCode &status)
Returns unit of power: megawatt.
Base class for 'pure' C++ implementations of uenum api.
UObject is the common ICU "boilerplate" class.
int8_t UBool
The ICU boolean type.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers,...
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.