ICU-20337 Adding value getters to C++ MeasureUnit API.
ICU-20337 Restoring comments in MeasureUnitTest.java
diff --git a/icu4c/source/i18n/measunit.cpp b/icu4c/source/i18n/measunit.cpp
index d68d504..a0c30b4 100644
--- a/icu4c/source/i18n/measunit.cpp
+++ b/icu4c/source/i18n/measunit.cpp
@@ -571,558 +571,1114 @@
return MeasureUnit::create(0, 0, status);
}
+MeasureUnit MeasureUnit::getGForce() {
+ return MeasureUnit(0, 0);
+}
+
MeasureUnit *MeasureUnit::createMeterPerSecondSquared(UErrorCode &status) {
return MeasureUnit::create(0, 1, status);
}
+MeasureUnit MeasureUnit::getMeterPerSecondSquared() {
+ return MeasureUnit(0, 1);
+}
+
MeasureUnit *MeasureUnit::createArcMinute(UErrorCode &status) {
return MeasureUnit::create(1, 0, status);
}
+MeasureUnit MeasureUnit::getArcMinute() {
+ return MeasureUnit(1, 0);
+}
+
MeasureUnit *MeasureUnit::createArcSecond(UErrorCode &status) {
return MeasureUnit::create(1, 1, status);
}
+MeasureUnit MeasureUnit::getArcSecond() {
+ return MeasureUnit(1, 1);
+}
+
MeasureUnit *MeasureUnit::createDegree(UErrorCode &status) {
return MeasureUnit::create(1, 2, status);
}
+MeasureUnit MeasureUnit::getDegree() {
+ return MeasureUnit(1, 2);
+}
+
MeasureUnit *MeasureUnit::createRadian(UErrorCode &status) {
return MeasureUnit::create(1, 3, status);
}
+MeasureUnit MeasureUnit::getRadian() {
+ return MeasureUnit(1, 3);
+}
+
MeasureUnit *MeasureUnit::createRevolutionAngle(UErrorCode &status) {
return MeasureUnit::create(1, 4, status);
}
+MeasureUnit MeasureUnit::getRevolutionAngle() {
+ return MeasureUnit(1, 4);
+}
+
MeasureUnit *MeasureUnit::createAcre(UErrorCode &status) {
return MeasureUnit::create(2, 0, status);
}
+MeasureUnit MeasureUnit::getAcre() {
+ return MeasureUnit(2, 0);
+}
+
MeasureUnit *MeasureUnit::createHectare(UErrorCode &status) {
return MeasureUnit::create(2, 1, status);
}
+MeasureUnit MeasureUnit::getHectare() {
+ return MeasureUnit(2, 1);
+}
+
MeasureUnit *MeasureUnit::createSquareCentimeter(UErrorCode &status) {
return MeasureUnit::create(2, 2, status);
}
+MeasureUnit MeasureUnit::getSquareCentimeter() {
+ return MeasureUnit(2, 2);
+}
+
MeasureUnit *MeasureUnit::createSquareFoot(UErrorCode &status) {
return MeasureUnit::create(2, 3, status);
}
+MeasureUnit MeasureUnit::getSquareFoot() {
+ return MeasureUnit(2, 3);
+}
+
MeasureUnit *MeasureUnit::createSquareInch(UErrorCode &status) {
return MeasureUnit::create(2, 4, status);
}
+MeasureUnit MeasureUnit::getSquareInch() {
+ return MeasureUnit(2, 4);
+}
+
MeasureUnit *MeasureUnit::createSquareKilometer(UErrorCode &status) {
return MeasureUnit::create(2, 5, status);
}
+MeasureUnit MeasureUnit::getSquareKilometer() {
+ return MeasureUnit(2, 5);
+}
+
MeasureUnit *MeasureUnit::createSquareMeter(UErrorCode &status) {
return MeasureUnit::create(2, 6, status);
}
+MeasureUnit MeasureUnit::getSquareMeter() {
+ return MeasureUnit(2, 6);
+}
+
MeasureUnit *MeasureUnit::createSquareMile(UErrorCode &status) {
return MeasureUnit::create(2, 7, status);
}
+MeasureUnit MeasureUnit::getSquareMile() {
+ return MeasureUnit(2, 7);
+}
+
MeasureUnit *MeasureUnit::createSquareYard(UErrorCode &status) {
return MeasureUnit::create(2, 8, status);
}
+MeasureUnit MeasureUnit::getSquareYard() {
+ return MeasureUnit(2, 8);
+}
+
MeasureUnit *MeasureUnit::createKarat(UErrorCode &status) {
return MeasureUnit::create(3, 0, status);
}
+MeasureUnit MeasureUnit::getKarat() {
+ return MeasureUnit(3, 0);
+}
+
MeasureUnit *MeasureUnit::createMilligramPerDeciliter(UErrorCode &status) {
return MeasureUnit::create(3, 1, status);
}
+MeasureUnit MeasureUnit::getMilligramPerDeciliter() {
+ return MeasureUnit(3, 1);
+}
+
MeasureUnit *MeasureUnit::createMillimolePerLiter(UErrorCode &status) {
return MeasureUnit::create(3, 2, status);
}
+MeasureUnit MeasureUnit::getMillimolePerLiter() {
+ return MeasureUnit(3, 2);
+}
+
MeasureUnit *MeasureUnit::createPartPerMillion(UErrorCode &status) {
return MeasureUnit::create(3, 3, status);
}
+MeasureUnit MeasureUnit::getPartPerMillion() {
+ return MeasureUnit(3, 3);
+}
+
MeasureUnit *MeasureUnit::createPercent(UErrorCode &status) {
return MeasureUnit::create(3, 4, status);
}
+MeasureUnit MeasureUnit::getPercent() {
+ return MeasureUnit(3, 4);
+}
+
MeasureUnit *MeasureUnit::createPermille(UErrorCode &status) {
return MeasureUnit::create(3, 5, status);
}
+MeasureUnit MeasureUnit::getPermille() {
+ return MeasureUnit(3, 5);
+}
+
MeasureUnit *MeasureUnit::createLiterPer100Kilometers(UErrorCode &status) {
return MeasureUnit::create(4, 0, status);
}
+MeasureUnit MeasureUnit::getLiterPer100Kilometers() {
+ return MeasureUnit(4, 0);
+}
+
MeasureUnit *MeasureUnit::createLiterPerKilometer(UErrorCode &status) {
return MeasureUnit::create(4, 1, status);
}
+MeasureUnit MeasureUnit::getLiterPerKilometer() {
+ return MeasureUnit(4, 1);
+}
+
MeasureUnit *MeasureUnit::createMilePerGallon(UErrorCode &status) {
return MeasureUnit::create(4, 2, status);
}
+MeasureUnit MeasureUnit::getMilePerGallon() {
+ return MeasureUnit(4, 2);
+}
+
MeasureUnit *MeasureUnit::createMilePerGallonImperial(UErrorCode &status) {
return MeasureUnit::create(4, 3, status);
}
+MeasureUnit MeasureUnit::getMilePerGallonImperial() {
+ return MeasureUnit(4, 3);
+}
+
MeasureUnit *MeasureUnit::createBit(UErrorCode &status) {
return MeasureUnit::create(6, 0, status);
}
+MeasureUnit MeasureUnit::getBit() {
+ return MeasureUnit(6, 0);
+}
+
MeasureUnit *MeasureUnit::createByte(UErrorCode &status) {
return MeasureUnit::create(6, 1, status);
}
+MeasureUnit MeasureUnit::getByte() {
+ return MeasureUnit(6, 1);
+}
+
MeasureUnit *MeasureUnit::createGigabit(UErrorCode &status) {
return MeasureUnit::create(6, 2, status);
}
+MeasureUnit MeasureUnit::getGigabit() {
+ return MeasureUnit(6, 2);
+}
+
MeasureUnit *MeasureUnit::createGigabyte(UErrorCode &status) {
return MeasureUnit::create(6, 3, status);
}
+MeasureUnit MeasureUnit::getGigabyte() {
+ return MeasureUnit(6, 3);
+}
+
MeasureUnit *MeasureUnit::createKilobit(UErrorCode &status) {
return MeasureUnit::create(6, 4, status);
}
+MeasureUnit MeasureUnit::getKilobit() {
+ return MeasureUnit(6, 4);
+}
+
MeasureUnit *MeasureUnit::createKilobyte(UErrorCode &status) {
return MeasureUnit::create(6, 5, status);
}
+MeasureUnit MeasureUnit::getKilobyte() {
+ return MeasureUnit(6, 5);
+}
+
MeasureUnit *MeasureUnit::createMegabit(UErrorCode &status) {
return MeasureUnit::create(6, 6, status);
}
+MeasureUnit MeasureUnit::getMegabit() {
+ return MeasureUnit(6, 6);
+}
+
MeasureUnit *MeasureUnit::createMegabyte(UErrorCode &status) {
return MeasureUnit::create(6, 7, status);
}
+MeasureUnit MeasureUnit::getMegabyte() {
+ return MeasureUnit(6, 7);
+}
+
MeasureUnit *MeasureUnit::createPetabyte(UErrorCode &status) {
return MeasureUnit::create(6, 8, status);
}
+MeasureUnit MeasureUnit::getPetabyte() {
+ return MeasureUnit(6, 8);
+}
+
MeasureUnit *MeasureUnit::createTerabit(UErrorCode &status) {
return MeasureUnit::create(6, 9, status);
}
+MeasureUnit MeasureUnit::getTerabit() {
+ return MeasureUnit(6, 9);
+}
+
MeasureUnit *MeasureUnit::createTerabyte(UErrorCode &status) {
return MeasureUnit::create(6, 10, status);
}
+MeasureUnit MeasureUnit::getTerabyte() {
+ return MeasureUnit(6, 10);
+}
+
MeasureUnit *MeasureUnit::createCentury(UErrorCode &status) {
return MeasureUnit::create(7, 0, status);
}
+MeasureUnit MeasureUnit::getCentury() {
+ return MeasureUnit(7, 0);
+}
+
MeasureUnit *MeasureUnit::createDay(UErrorCode &status) {
return MeasureUnit::create(7, 1, status);
}
+MeasureUnit MeasureUnit::getDay() {
+ return MeasureUnit(7, 1);
+}
+
MeasureUnit *MeasureUnit::createHour(UErrorCode &status) {
return MeasureUnit::create(7, 2, status);
}
+MeasureUnit MeasureUnit::getHour() {
+ return MeasureUnit(7, 2);
+}
+
MeasureUnit *MeasureUnit::createMicrosecond(UErrorCode &status) {
return MeasureUnit::create(7, 3, status);
}
+MeasureUnit MeasureUnit::getMicrosecond() {
+ return MeasureUnit(7, 3);
+}
+
MeasureUnit *MeasureUnit::createMillisecond(UErrorCode &status) {
return MeasureUnit::create(7, 4, status);
}
+MeasureUnit MeasureUnit::getMillisecond() {
+ return MeasureUnit(7, 4);
+}
+
MeasureUnit *MeasureUnit::createMinute(UErrorCode &status) {
return MeasureUnit::create(7, 5, status);
}
+MeasureUnit MeasureUnit::getMinute() {
+ return MeasureUnit(7, 5);
+}
+
MeasureUnit *MeasureUnit::createMonth(UErrorCode &status) {
return MeasureUnit::create(7, 6, status);
}
+MeasureUnit MeasureUnit::getMonth() {
+ return MeasureUnit(7, 6);
+}
+
MeasureUnit *MeasureUnit::createNanosecond(UErrorCode &status) {
return MeasureUnit::create(7, 7, status);
}
+MeasureUnit MeasureUnit::getNanosecond() {
+ return MeasureUnit(7, 7);
+}
+
MeasureUnit *MeasureUnit::createSecond(UErrorCode &status) {
return MeasureUnit::create(7, 8, status);
}
+MeasureUnit MeasureUnit::getSecond() {
+ return MeasureUnit(7, 8);
+}
+
MeasureUnit *MeasureUnit::createWeek(UErrorCode &status) {
return MeasureUnit::create(7, 9, status);
}
+MeasureUnit MeasureUnit::getWeek() {
+ return MeasureUnit(7, 9);
+}
+
MeasureUnit *MeasureUnit::createYear(UErrorCode &status) {
return MeasureUnit::create(7, 10, status);
}
+MeasureUnit MeasureUnit::getYear() {
+ return MeasureUnit(7, 10);
+}
+
MeasureUnit *MeasureUnit::createAmpere(UErrorCode &status) {
return MeasureUnit::create(8, 0, status);
}
+MeasureUnit MeasureUnit::getAmpere() {
+ return MeasureUnit(8, 0);
+}
+
MeasureUnit *MeasureUnit::createMilliampere(UErrorCode &status) {
return MeasureUnit::create(8, 1, status);
}
+MeasureUnit MeasureUnit::getMilliampere() {
+ return MeasureUnit(8, 1);
+}
+
MeasureUnit *MeasureUnit::createOhm(UErrorCode &status) {
return MeasureUnit::create(8, 2, status);
}
+MeasureUnit MeasureUnit::getOhm() {
+ return MeasureUnit(8, 2);
+}
+
MeasureUnit *MeasureUnit::createVolt(UErrorCode &status) {
return MeasureUnit::create(8, 3, status);
}
+MeasureUnit MeasureUnit::getVolt() {
+ return MeasureUnit(8, 3);
+}
+
MeasureUnit *MeasureUnit::createCalorie(UErrorCode &status) {
return MeasureUnit::create(9, 0, status);
}
+MeasureUnit MeasureUnit::getCalorie() {
+ return MeasureUnit(9, 0);
+}
+
MeasureUnit *MeasureUnit::createFoodcalorie(UErrorCode &status) {
return MeasureUnit::create(9, 1, status);
}
+MeasureUnit MeasureUnit::getFoodcalorie() {
+ return MeasureUnit(9, 1);
+}
+
MeasureUnit *MeasureUnit::createJoule(UErrorCode &status) {
return MeasureUnit::create(9, 2, status);
}
+MeasureUnit MeasureUnit::getJoule() {
+ return MeasureUnit(9, 2);
+}
+
MeasureUnit *MeasureUnit::createKilocalorie(UErrorCode &status) {
return MeasureUnit::create(9, 3, status);
}
+MeasureUnit MeasureUnit::getKilocalorie() {
+ return MeasureUnit(9, 3);
+}
+
MeasureUnit *MeasureUnit::createKilojoule(UErrorCode &status) {
return MeasureUnit::create(9, 4, status);
}
+MeasureUnit MeasureUnit::getKilojoule() {
+ return MeasureUnit(9, 4);
+}
+
MeasureUnit *MeasureUnit::createKilowattHour(UErrorCode &status) {
return MeasureUnit::create(9, 5, status);
}
+MeasureUnit MeasureUnit::getKilowattHour() {
+ return MeasureUnit(9, 5);
+}
+
MeasureUnit *MeasureUnit::createGigahertz(UErrorCode &status) {
return MeasureUnit::create(10, 0, status);
}
+MeasureUnit MeasureUnit::getGigahertz() {
+ return MeasureUnit(10, 0);
+}
+
MeasureUnit *MeasureUnit::createHertz(UErrorCode &status) {
return MeasureUnit::create(10, 1, status);
}
+MeasureUnit MeasureUnit::getHertz() {
+ return MeasureUnit(10, 1);
+}
+
MeasureUnit *MeasureUnit::createKilohertz(UErrorCode &status) {
return MeasureUnit::create(10, 2, status);
}
+MeasureUnit MeasureUnit::getKilohertz() {
+ return MeasureUnit(10, 2);
+}
+
MeasureUnit *MeasureUnit::createMegahertz(UErrorCode &status) {
return MeasureUnit::create(10, 3, status);
}
+MeasureUnit MeasureUnit::getMegahertz() {
+ return MeasureUnit(10, 3);
+}
+
MeasureUnit *MeasureUnit::createAstronomicalUnit(UErrorCode &status) {
return MeasureUnit::create(11, 0, status);
}
+MeasureUnit MeasureUnit::getAstronomicalUnit() {
+ return MeasureUnit(11, 0);
+}
+
MeasureUnit *MeasureUnit::createCentimeter(UErrorCode &status) {
return MeasureUnit::create(11, 1, status);
}
+MeasureUnit MeasureUnit::getCentimeter() {
+ return MeasureUnit(11, 1);
+}
+
MeasureUnit *MeasureUnit::createDecimeter(UErrorCode &status) {
return MeasureUnit::create(11, 2, status);
}
+MeasureUnit MeasureUnit::getDecimeter() {
+ return MeasureUnit(11, 2);
+}
+
MeasureUnit *MeasureUnit::createFathom(UErrorCode &status) {
return MeasureUnit::create(11, 3, status);
}
+MeasureUnit MeasureUnit::getFathom() {
+ return MeasureUnit(11, 3);
+}
+
MeasureUnit *MeasureUnit::createFoot(UErrorCode &status) {
return MeasureUnit::create(11, 4, status);
}
+MeasureUnit MeasureUnit::getFoot() {
+ return MeasureUnit(11, 4);
+}
+
MeasureUnit *MeasureUnit::createFurlong(UErrorCode &status) {
return MeasureUnit::create(11, 5, status);
}
+MeasureUnit MeasureUnit::getFurlong() {
+ return MeasureUnit(11, 5);
+}
+
MeasureUnit *MeasureUnit::createInch(UErrorCode &status) {
return MeasureUnit::create(11, 6, status);
}
+MeasureUnit MeasureUnit::getInch() {
+ return MeasureUnit(11, 6);
+}
+
MeasureUnit *MeasureUnit::createKilometer(UErrorCode &status) {
return MeasureUnit::create(11, 7, status);
}
+MeasureUnit MeasureUnit::getKilometer() {
+ return MeasureUnit(11, 7);
+}
+
MeasureUnit *MeasureUnit::createLightYear(UErrorCode &status) {
return MeasureUnit::create(11, 8, status);
}
+MeasureUnit MeasureUnit::getLightYear() {
+ return MeasureUnit(11, 8);
+}
+
MeasureUnit *MeasureUnit::createMeter(UErrorCode &status) {
return MeasureUnit::create(11, 9, status);
}
+MeasureUnit MeasureUnit::getMeter() {
+ return MeasureUnit(11, 9);
+}
+
MeasureUnit *MeasureUnit::createMicrometer(UErrorCode &status) {
return MeasureUnit::create(11, 10, status);
}
+MeasureUnit MeasureUnit::getMicrometer() {
+ return MeasureUnit(11, 10);
+}
+
MeasureUnit *MeasureUnit::createMile(UErrorCode &status) {
return MeasureUnit::create(11, 11, status);
}
+MeasureUnit MeasureUnit::getMile() {
+ return MeasureUnit(11, 11);
+}
+
MeasureUnit *MeasureUnit::createMileScandinavian(UErrorCode &status) {
return MeasureUnit::create(11, 12, status);
}
+MeasureUnit MeasureUnit::getMileScandinavian() {
+ return MeasureUnit(11, 12);
+}
+
MeasureUnit *MeasureUnit::createMillimeter(UErrorCode &status) {
return MeasureUnit::create(11, 13, status);
}
+MeasureUnit MeasureUnit::getMillimeter() {
+ return MeasureUnit(11, 13);
+}
+
MeasureUnit *MeasureUnit::createNanometer(UErrorCode &status) {
return MeasureUnit::create(11, 14, status);
}
+MeasureUnit MeasureUnit::getNanometer() {
+ return MeasureUnit(11, 14);
+}
+
MeasureUnit *MeasureUnit::createNauticalMile(UErrorCode &status) {
return MeasureUnit::create(11, 15, status);
}
+MeasureUnit MeasureUnit::getNauticalMile() {
+ return MeasureUnit(11, 15);
+}
+
MeasureUnit *MeasureUnit::createParsec(UErrorCode &status) {
return MeasureUnit::create(11, 16, status);
}
+MeasureUnit MeasureUnit::getParsec() {
+ return MeasureUnit(11, 16);
+}
+
MeasureUnit *MeasureUnit::createPicometer(UErrorCode &status) {
return MeasureUnit::create(11, 17, status);
}
+MeasureUnit MeasureUnit::getPicometer() {
+ return MeasureUnit(11, 17);
+}
+
MeasureUnit *MeasureUnit::createPoint(UErrorCode &status) {
return MeasureUnit::create(11, 18, status);
}
+MeasureUnit MeasureUnit::getPoint() {
+ return MeasureUnit(11, 18);
+}
+
MeasureUnit *MeasureUnit::createYard(UErrorCode &status) {
return MeasureUnit::create(11, 19, status);
}
+MeasureUnit MeasureUnit::getYard() {
+ return MeasureUnit(11, 19);
+}
+
MeasureUnit *MeasureUnit::createLux(UErrorCode &status) {
return MeasureUnit::create(12, 0, status);
}
+MeasureUnit MeasureUnit::getLux() {
+ return MeasureUnit(12, 0);
+}
+
MeasureUnit *MeasureUnit::createCarat(UErrorCode &status) {
return MeasureUnit::create(13, 0, status);
}
+MeasureUnit MeasureUnit::getCarat() {
+ return MeasureUnit(13, 0);
+}
+
MeasureUnit *MeasureUnit::createGram(UErrorCode &status) {
return MeasureUnit::create(13, 1, status);
}
+MeasureUnit MeasureUnit::getGram() {
+ return MeasureUnit(13, 1);
+}
+
MeasureUnit *MeasureUnit::createKilogram(UErrorCode &status) {
return MeasureUnit::create(13, 2, status);
}
+MeasureUnit MeasureUnit::getKilogram() {
+ return MeasureUnit(13, 2);
+}
+
MeasureUnit *MeasureUnit::createMetricTon(UErrorCode &status) {
return MeasureUnit::create(13, 3, status);
}
+MeasureUnit MeasureUnit::getMetricTon() {
+ return MeasureUnit(13, 3);
+}
+
MeasureUnit *MeasureUnit::createMicrogram(UErrorCode &status) {
return MeasureUnit::create(13, 4, status);
}
+MeasureUnit MeasureUnit::getMicrogram() {
+ return MeasureUnit(13, 4);
+}
+
MeasureUnit *MeasureUnit::createMilligram(UErrorCode &status) {
return MeasureUnit::create(13, 5, status);
}
+MeasureUnit MeasureUnit::getMilligram() {
+ return MeasureUnit(13, 5);
+}
+
MeasureUnit *MeasureUnit::createOunce(UErrorCode &status) {
return MeasureUnit::create(13, 6, status);
}
+MeasureUnit MeasureUnit::getOunce() {
+ return MeasureUnit(13, 6);
+}
+
MeasureUnit *MeasureUnit::createOunceTroy(UErrorCode &status) {
return MeasureUnit::create(13, 7, status);
}
+MeasureUnit MeasureUnit::getOunceTroy() {
+ return MeasureUnit(13, 7);
+}
+
MeasureUnit *MeasureUnit::createPound(UErrorCode &status) {
return MeasureUnit::create(13, 8, status);
}
+MeasureUnit MeasureUnit::getPound() {
+ return MeasureUnit(13, 8);
+}
+
MeasureUnit *MeasureUnit::createStone(UErrorCode &status) {
return MeasureUnit::create(13, 9, status);
}
+MeasureUnit MeasureUnit::getStone() {
+ return MeasureUnit(13, 9);
+}
+
MeasureUnit *MeasureUnit::createTon(UErrorCode &status) {
return MeasureUnit::create(13, 10, status);
}
+MeasureUnit MeasureUnit::getTon() {
+ return MeasureUnit(13, 10);
+}
+
MeasureUnit *MeasureUnit::createGigawatt(UErrorCode &status) {
return MeasureUnit::create(15, 0, status);
}
+MeasureUnit MeasureUnit::getGigawatt() {
+ return MeasureUnit(15, 0);
+}
+
MeasureUnit *MeasureUnit::createHorsepower(UErrorCode &status) {
return MeasureUnit::create(15, 1, status);
}
+MeasureUnit MeasureUnit::getHorsepower() {
+ return MeasureUnit(15, 1);
+}
+
MeasureUnit *MeasureUnit::createKilowatt(UErrorCode &status) {
return MeasureUnit::create(15, 2, status);
}
+MeasureUnit MeasureUnit::getKilowatt() {
+ return MeasureUnit(15, 2);
+}
+
MeasureUnit *MeasureUnit::createMegawatt(UErrorCode &status) {
return MeasureUnit::create(15, 3, status);
}
+MeasureUnit MeasureUnit::getMegawatt() {
+ return MeasureUnit(15, 3);
+}
+
MeasureUnit *MeasureUnit::createMilliwatt(UErrorCode &status) {
return MeasureUnit::create(15, 4, status);
}
+MeasureUnit MeasureUnit::getMilliwatt() {
+ return MeasureUnit(15, 4);
+}
+
MeasureUnit *MeasureUnit::createWatt(UErrorCode &status) {
return MeasureUnit::create(15, 5, status);
}
+MeasureUnit MeasureUnit::getWatt() {
+ return MeasureUnit(15, 5);
+}
+
MeasureUnit *MeasureUnit::createAtmosphere(UErrorCode &status) {
return MeasureUnit::create(16, 0, status);
}
+MeasureUnit MeasureUnit::getAtmosphere() {
+ return MeasureUnit(16, 0);
+}
+
MeasureUnit *MeasureUnit::createHectopascal(UErrorCode &status) {
return MeasureUnit::create(16, 1, status);
}
+MeasureUnit MeasureUnit::getHectopascal() {
+ return MeasureUnit(16, 1);
+}
+
MeasureUnit *MeasureUnit::createInchHg(UErrorCode &status) {
return MeasureUnit::create(16, 2, status);
}
+MeasureUnit MeasureUnit::getInchHg() {
+ return MeasureUnit(16, 2);
+}
+
MeasureUnit *MeasureUnit::createMillibar(UErrorCode &status) {
return MeasureUnit::create(16, 3, status);
}
+MeasureUnit MeasureUnit::getMillibar() {
+ return MeasureUnit(16, 3);
+}
+
MeasureUnit *MeasureUnit::createMillimeterOfMercury(UErrorCode &status) {
return MeasureUnit::create(16, 4, status);
}
+MeasureUnit MeasureUnit::getMillimeterOfMercury() {
+ return MeasureUnit(16, 4);
+}
+
MeasureUnit *MeasureUnit::createPoundPerSquareInch(UErrorCode &status) {
return MeasureUnit::create(16, 5, status);
}
+MeasureUnit MeasureUnit::getPoundPerSquareInch() {
+ return MeasureUnit(16, 5);
+}
+
MeasureUnit *MeasureUnit::createKilometerPerHour(UErrorCode &status) {
return MeasureUnit::create(17, 0, status);
}
+MeasureUnit MeasureUnit::getKilometerPerHour() {
+ return MeasureUnit(17, 0);
+}
+
MeasureUnit *MeasureUnit::createKnot(UErrorCode &status) {
return MeasureUnit::create(17, 1, status);
}
+MeasureUnit MeasureUnit::getKnot() {
+ return MeasureUnit(17, 1);
+}
+
MeasureUnit *MeasureUnit::createMeterPerSecond(UErrorCode &status) {
return MeasureUnit::create(17, 2, status);
}
+MeasureUnit MeasureUnit::getMeterPerSecond() {
+ return MeasureUnit(17, 2);
+}
+
MeasureUnit *MeasureUnit::createMilePerHour(UErrorCode &status) {
return MeasureUnit::create(17, 3, status);
}
+MeasureUnit MeasureUnit::getMilePerHour() {
+ return MeasureUnit(17, 3);
+}
+
MeasureUnit *MeasureUnit::createCelsius(UErrorCode &status) {
return MeasureUnit::create(18, 0, status);
}
+MeasureUnit MeasureUnit::getCelsius() {
+ return MeasureUnit(18, 0);
+}
+
MeasureUnit *MeasureUnit::createFahrenheit(UErrorCode &status) {
return MeasureUnit::create(18, 1, status);
}
+MeasureUnit MeasureUnit::getFahrenheit() {
+ return MeasureUnit(18, 1);
+}
+
MeasureUnit *MeasureUnit::createGenericTemperature(UErrorCode &status) {
return MeasureUnit::create(18, 2, status);
}
+MeasureUnit MeasureUnit::getGenericTemperature() {
+ return MeasureUnit(18, 2);
+}
+
MeasureUnit *MeasureUnit::createKelvin(UErrorCode &status) {
return MeasureUnit::create(18, 3, status);
}
+MeasureUnit MeasureUnit::getKelvin() {
+ return MeasureUnit(18, 3);
+}
+
MeasureUnit *MeasureUnit::createAcreFoot(UErrorCode &status) {
return MeasureUnit::create(19, 0, status);
}
+MeasureUnit MeasureUnit::getAcreFoot() {
+ return MeasureUnit(19, 0);
+}
+
MeasureUnit *MeasureUnit::createBushel(UErrorCode &status) {
return MeasureUnit::create(19, 1, status);
}
+MeasureUnit MeasureUnit::getBushel() {
+ return MeasureUnit(19, 1);
+}
+
MeasureUnit *MeasureUnit::createCentiliter(UErrorCode &status) {
return MeasureUnit::create(19, 2, status);
}
+MeasureUnit MeasureUnit::getCentiliter() {
+ return MeasureUnit(19, 2);
+}
+
MeasureUnit *MeasureUnit::createCubicCentimeter(UErrorCode &status) {
return MeasureUnit::create(19, 3, status);
}
+MeasureUnit MeasureUnit::getCubicCentimeter() {
+ return MeasureUnit(19, 3);
+}
+
MeasureUnit *MeasureUnit::createCubicFoot(UErrorCode &status) {
return MeasureUnit::create(19, 4, status);
}
+MeasureUnit MeasureUnit::getCubicFoot() {
+ return MeasureUnit(19, 4);
+}
+
MeasureUnit *MeasureUnit::createCubicInch(UErrorCode &status) {
return MeasureUnit::create(19, 5, status);
}
+MeasureUnit MeasureUnit::getCubicInch() {
+ return MeasureUnit(19, 5);
+}
+
MeasureUnit *MeasureUnit::createCubicKilometer(UErrorCode &status) {
return MeasureUnit::create(19, 6, status);
}
+MeasureUnit MeasureUnit::getCubicKilometer() {
+ return MeasureUnit(19, 6);
+}
+
MeasureUnit *MeasureUnit::createCubicMeter(UErrorCode &status) {
return MeasureUnit::create(19, 7, status);
}
+MeasureUnit MeasureUnit::getCubicMeter() {
+ return MeasureUnit(19, 7);
+}
+
MeasureUnit *MeasureUnit::createCubicMile(UErrorCode &status) {
return MeasureUnit::create(19, 8, status);
}
+MeasureUnit MeasureUnit::getCubicMile() {
+ return MeasureUnit(19, 8);
+}
+
MeasureUnit *MeasureUnit::createCubicYard(UErrorCode &status) {
return MeasureUnit::create(19, 9, status);
}
+MeasureUnit MeasureUnit::getCubicYard() {
+ return MeasureUnit(19, 9);
+}
+
MeasureUnit *MeasureUnit::createCup(UErrorCode &status) {
return MeasureUnit::create(19, 10, status);
}
+MeasureUnit MeasureUnit::getCup() {
+ return MeasureUnit(19, 10);
+}
+
MeasureUnit *MeasureUnit::createCupMetric(UErrorCode &status) {
return MeasureUnit::create(19, 11, status);
}
+MeasureUnit MeasureUnit::getCupMetric() {
+ return MeasureUnit(19, 11);
+}
+
MeasureUnit *MeasureUnit::createDeciliter(UErrorCode &status) {
return MeasureUnit::create(19, 12, status);
}
+MeasureUnit MeasureUnit::getDeciliter() {
+ return MeasureUnit(19, 12);
+}
+
MeasureUnit *MeasureUnit::createFluidOunce(UErrorCode &status) {
return MeasureUnit::create(19, 13, status);
}
+MeasureUnit MeasureUnit::getFluidOunce() {
+ return MeasureUnit(19, 13);
+}
+
MeasureUnit *MeasureUnit::createGallon(UErrorCode &status) {
return MeasureUnit::create(19, 14, status);
}
+MeasureUnit MeasureUnit::getGallon() {
+ return MeasureUnit(19, 14);
+}
+
MeasureUnit *MeasureUnit::createGallonImperial(UErrorCode &status) {
return MeasureUnit::create(19, 15, status);
}
+MeasureUnit MeasureUnit::getGallonImperial() {
+ return MeasureUnit(19, 15);
+}
+
MeasureUnit *MeasureUnit::createHectoliter(UErrorCode &status) {
return MeasureUnit::create(19, 16, status);
}
+MeasureUnit MeasureUnit::getHectoliter() {
+ return MeasureUnit(19, 16);
+}
+
MeasureUnit *MeasureUnit::createLiter(UErrorCode &status) {
return MeasureUnit::create(19, 17, status);
}
+MeasureUnit MeasureUnit::getLiter() {
+ return MeasureUnit(19, 17);
+}
+
MeasureUnit *MeasureUnit::createMegaliter(UErrorCode &status) {
return MeasureUnit::create(19, 18, status);
}
+MeasureUnit MeasureUnit::getMegaliter() {
+ return MeasureUnit(19, 18);
+}
+
MeasureUnit *MeasureUnit::createMilliliter(UErrorCode &status) {
return MeasureUnit::create(19, 19, status);
}
+MeasureUnit MeasureUnit::getMilliliter() {
+ return MeasureUnit(19, 19);
+}
+
MeasureUnit *MeasureUnit::createPint(UErrorCode &status) {
return MeasureUnit::create(19, 20, status);
}
+MeasureUnit MeasureUnit::getPint() {
+ return MeasureUnit(19, 20);
+}
+
MeasureUnit *MeasureUnit::createPintMetric(UErrorCode &status) {
return MeasureUnit::create(19, 21, status);
}
+MeasureUnit MeasureUnit::getPintMetric() {
+ return MeasureUnit(19, 21);
+}
+
MeasureUnit *MeasureUnit::createQuart(UErrorCode &status) {
return MeasureUnit::create(19, 22, status);
}
+MeasureUnit MeasureUnit::getQuart() {
+ return MeasureUnit(19, 22);
+}
+
MeasureUnit *MeasureUnit::createTablespoon(UErrorCode &status) {
return MeasureUnit::create(19, 23, status);
}
+MeasureUnit MeasureUnit::getTablespoon() {
+ return MeasureUnit(19, 23);
+}
+
MeasureUnit *MeasureUnit::createTeaspoon(UErrorCode &status) {
return MeasureUnit::create(19, 24, status);
}
+MeasureUnit MeasureUnit::getTeaspoon() {
+ return MeasureUnit(19, 24);
+}
+
// End generated code
static int32_t binarySearch(
diff --git a/icu4c/source/i18n/unicode/measunit.h b/icu4c/source/i18n/unicode/measunit.h
index fac18f7..c0406e1 100644
--- a/icu4c/source/i18n/unicode/measunit.h
+++ b/icu4c/source/i18n/unicode/measunit.h
@@ -209,1125 +209,2237 @@
// Start generated createXXX methods
/**
- * Returns unit of acceleration: g-force.
+ * Returns by pointer, unit of acceleration: g-force.
* Caller owns returned value and must free it.
+ * Also see {@link #getGForce()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createGForce(UErrorCode &status);
/**
- * Returns unit of acceleration: meter-per-second-squared.
+ * Returns by value, unit of acceleration: g-force.
+ * Also see {@link #createGForce()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGForce();
+
+ /**
+ * Returns by pointer, unit of acceleration: meter-per-second-squared.
* Caller owns returned value and must free it.
+ * Also see {@link #getMeterPerSecondSquared()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMeterPerSecondSquared(UErrorCode &status);
/**
- * Returns unit of angle: arc-minute.
+ * Returns by value, unit of acceleration: meter-per-second-squared.
+ * Also see {@link #createMeterPerSecondSquared()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMeterPerSecondSquared();
+
+ /**
+ * Returns by pointer, unit of angle: arc-minute.
* Caller owns returned value and must free it.
+ * Also see {@link #getArcMinute()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createArcMinute(UErrorCode &status);
/**
- * Returns unit of angle: arc-second.
+ * Returns by value, unit of angle: arc-minute.
+ * Also see {@link #createArcMinute()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getArcMinute();
+
+ /**
+ * Returns by pointer, unit of angle: arc-second.
* Caller owns returned value and must free it.
+ * Also see {@link #getArcSecond()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createArcSecond(UErrorCode &status);
/**
- * Returns unit of angle: degree.
+ * Returns by value, unit of angle: arc-second.
+ * Also see {@link #createArcSecond()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getArcSecond();
+
+ /**
+ * Returns by pointer, unit of angle: degree.
* Caller owns returned value and must free it.
+ * Also see {@link #getDegree()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createDegree(UErrorCode &status);
/**
- * Returns unit of angle: radian.
+ * Returns by value, unit of angle: degree.
+ * Also see {@link #createDegree()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getDegree();
+
+ /**
+ * Returns by pointer, unit of angle: radian.
* Caller owns returned value and must free it.
+ * Also see {@link #getRadian()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createRadian(UErrorCode &status);
/**
- * Returns unit of angle: revolution.
+ * Returns by value, unit of angle: radian.
+ * Also see {@link #createRadian()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getRadian();
+
+ /**
+ * Returns by pointer, unit of angle: revolution.
* Caller owns returned value and must free it.
+ * Also see {@link #getRevolutionAngle()}.
* @param status ICU error code.
* @stable ICU 56
*/
static MeasureUnit *createRevolutionAngle(UErrorCode &status);
/**
- * Returns unit of area: acre.
+ * Returns by value, unit of angle: revolution.
+ * Also see {@link #createRevolutionAngle()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getRevolutionAngle();
+
+ /**
+ * Returns by pointer, unit of area: acre.
* Caller owns returned value and must free it.
+ * Also see {@link #getAcre()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createAcre(UErrorCode &status);
/**
- * Returns unit of area: hectare.
+ * Returns by value, unit of area: acre.
+ * Also see {@link #createAcre()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getAcre();
+
+ /**
+ * Returns by pointer, unit of area: hectare.
* Caller owns returned value and must free it.
+ * Also see {@link #getHectare()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createHectare(UErrorCode &status);
/**
- * Returns unit of area: square-centimeter.
+ * Returns by value, unit of area: hectare.
+ * Also see {@link #createHectare()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getHectare();
+
+ /**
+ * Returns by pointer, unit of area: square-centimeter.
* Caller owns returned value and must free it.
+ * Also see {@link #getSquareCentimeter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createSquareCentimeter(UErrorCode &status);
/**
- * Returns unit of area: square-foot.
+ * Returns by value, unit of area: square-centimeter.
+ * Also see {@link #createSquareCentimeter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getSquareCentimeter();
+
+ /**
+ * Returns by pointer, unit of area: square-foot.
* Caller owns returned value and must free it.
+ * Also see {@link #getSquareFoot()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createSquareFoot(UErrorCode &status);
/**
- * Returns unit of area: square-inch.
+ * Returns by value, unit of area: square-foot.
+ * Also see {@link #createSquareFoot()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getSquareFoot();
+
+ /**
+ * Returns by pointer, unit of area: square-inch.
* Caller owns returned value and must free it.
+ * Also see {@link #getSquareInch()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createSquareInch(UErrorCode &status);
/**
- * Returns unit of area: square-kilometer.
+ * Returns by value, unit of area: square-inch.
+ * Also see {@link #createSquareInch()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getSquareInch();
+
+ /**
+ * Returns by pointer, unit of area: square-kilometer.
* Caller owns returned value and must free it.
+ * Also see {@link #getSquareKilometer()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createSquareKilometer(UErrorCode &status);
/**
- * Returns unit of area: square-meter.
+ * Returns by value, unit of area: square-kilometer.
+ * Also see {@link #createSquareKilometer()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getSquareKilometer();
+
+ /**
+ * Returns by pointer, unit of area: square-meter.
* Caller owns returned value and must free it.
+ * Also see {@link #getSquareMeter()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createSquareMeter(UErrorCode &status);
/**
- * Returns unit of area: square-mile.
+ * Returns by value, unit of area: square-meter.
+ * Also see {@link #createSquareMeter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getSquareMeter();
+
+ /**
+ * Returns by pointer, unit of area: square-mile.
* Caller owns returned value and must free it.
+ * Also see {@link #getSquareMile()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createSquareMile(UErrorCode &status);
/**
- * Returns unit of area: square-yard.
+ * Returns by value, unit of area: square-mile.
+ * Also see {@link #createSquareMile()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getSquareMile();
+
+ /**
+ * Returns by pointer, unit of area: square-yard.
* Caller owns returned value and must free it.
+ * Also see {@link #getSquareYard()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createSquareYard(UErrorCode &status);
/**
- * Returns unit of concentr: karat.
+ * Returns by value, unit of area: square-yard.
+ * Also see {@link #createSquareYard()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getSquareYard();
+
+ /**
+ * Returns by pointer, unit of concentr: karat.
* Caller owns returned value and must free it.
+ * Also see {@link #getKarat()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createKarat(UErrorCode &status);
/**
- * Returns unit of concentr: milligram-per-deciliter.
+ * Returns by value, unit of concentr: karat.
+ * Also see {@link #createKarat()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKarat();
+
+ /**
+ * Returns by pointer, unit of concentr: milligram-per-deciliter.
* Caller owns returned value and must free it.
+ * Also see {@link #getMilligramPerDeciliter()}.
* @param status ICU error code.
* @stable ICU 57
*/
static MeasureUnit *createMilligramPerDeciliter(UErrorCode &status);
/**
- * Returns unit of concentr: millimole-per-liter.
+ * Returns by value, unit of concentr: milligram-per-deciliter.
+ * Also see {@link #createMilligramPerDeciliter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMilligramPerDeciliter();
+
+ /**
+ * Returns by pointer, unit of concentr: millimole-per-liter.
* Caller owns returned value and must free it.
+ * Also see {@link #getMillimolePerLiter()}.
* @param status ICU error code.
* @stable ICU 57
*/
static MeasureUnit *createMillimolePerLiter(UErrorCode &status);
/**
- * Returns unit of concentr: part-per-million.
+ * Returns by value, unit of concentr: millimole-per-liter.
+ * Also see {@link #createMillimolePerLiter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMillimolePerLiter();
+
+ /**
+ * Returns by pointer, unit of concentr: part-per-million.
* Caller owns returned value and must free it.
+ * Also see {@link #getPartPerMillion()}.
* @param status ICU error code.
* @stable ICU 57
*/
static MeasureUnit *createPartPerMillion(UErrorCode &status);
+ /**
+ * Returns by value, unit of concentr: part-per-million.
+ * Also see {@link #createPartPerMillion()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPartPerMillion();
+
#ifndef U_HIDE_DRAFT_API
/**
- * Returns unit of concentr: percent.
+ * Returns by pointer, unit of concentr: percent.
* Caller owns returned value and must free it.
+ * Also see {@link #getPercent()}.
* @param status ICU error code.
* @draft ICU 63
*/
static MeasureUnit *createPercent(UErrorCode &status);
+
+ /**
+ * Returns by value, unit of concentr: percent.
+ * Also see {@link #createPercent()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPercent();
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_DRAFT_API
/**
- * Returns unit of concentr: permille.
+ * Returns by pointer, unit of concentr: permille.
* Caller owns returned value and must free it.
+ * Also see {@link #getPermille()}.
* @param status ICU error code.
* @draft ICU 63
*/
static MeasureUnit *createPermille(UErrorCode &status);
+
+ /**
+ * Returns by value, unit of concentr: permille.
+ * Also see {@link #createPermille()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPermille();
#endif /* U_HIDE_DRAFT_API */
/**
- * Returns unit of consumption: liter-per-100kilometers.
+ * Returns by pointer, unit of consumption: liter-per-100kilometers.
* Caller owns returned value and must free it.
+ * Also see {@link #getLiterPer100Kilometers()}.
* @param status ICU error code.
* @stable ICU 56
*/
static MeasureUnit *createLiterPer100Kilometers(UErrorCode &status);
/**
- * Returns unit of consumption: liter-per-kilometer.
+ * Returns by value, unit of consumption: liter-per-100kilometers.
+ * Also see {@link #createLiterPer100Kilometers()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getLiterPer100Kilometers();
+
+ /**
+ * Returns by pointer, unit of consumption: liter-per-kilometer.
* Caller owns returned value and must free it.
+ * Also see {@link #getLiterPerKilometer()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createLiterPerKilometer(UErrorCode &status);
/**
- * Returns unit of consumption: mile-per-gallon.
+ * Returns by value, unit of consumption: liter-per-kilometer.
+ * Also see {@link #createLiterPerKilometer()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getLiterPerKilometer();
+
+ /**
+ * Returns by pointer, unit of consumption: mile-per-gallon.
* Caller owns returned value and must free it.
+ * Also see {@link #getMilePerGallon()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMilePerGallon(UErrorCode &status);
/**
- * Returns unit of consumption: mile-per-gallon-imperial.
+ * Returns by value, unit of consumption: mile-per-gallon.
+ * Also see {@link #createMilePerGallon()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMilePerGallon();
+
+ /**
+ * Returns by pointer, unit of consumption: mile-per-gallon-imperial.
* Caller owns returned value and must free it.
+ * Also see {@link #getMilePerGallonImperial()}.
* @param status ICU error code.
* @stable ICU 57
*/
static MeasureUnit *createMilePerGallonImperial(UErrorCode &status);
/**
- * Returns unit of digital: bit.
+ * Returns by value, unit of consumption: mile-per-gallon-imperial.
+ * Also see {@link #createMilePerGallonImperial()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMilePerGallonImperial();
+
+ /**
+ * Returns by pointer, unit of digital: bit.
* Caller owns returned value and must free it.
+ * Also see {@link #getBit()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createBit(UErrorCode &status);
/**
- * Returns unit of digital: byte.
+ * Returns by value, unit of digital: bit.
+ * Also see {@link #createBit()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getBit();
+
+ /**
+ * Returns by pointer, unit of digital: byte.
* Caller owns returned value and must free it.
+ * Also see {@link #getByte()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createByte(UErrorCode &status);
/**
- * Returns unit of digital: gigabit.
+ * Returns by value, unit of digital: byte.
+ * Also see {@link #createByte()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getByte();
+
+ /**
+ * Returns by pointer, unit of digital: gigabit.
* Caller owns returned value and must free it.
+ * Also see {@link #getGigabit()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createGigabit(UErrorCode &status);
/**
- * Returns unit of digital: gigabyte.
+ * Returns by value, unit of digital: gigabit.
+ * Also see {@link #createGigabit()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGigabit();
+
+ /**
+ * Returns by pointer, unit of digital: gigabyte.
* Caller owns returned value and must free it.
+ * Also see {@link #getGigabyte()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createGigabyte(UErrorCode &status);
/**
- * Returns unit of digital: kilobit.
+ * Returns by value, unit of digital: gigabyte.
+ * Also see {@link #createGigabyte()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGigabyte();
+
+ /**
+ * Returns by pointer, unit of digital: kilobit.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilobit()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createKilobit(UErrorCode &status);
/**
- * Returns unit of digital: kilobyte.
+ * Returns by value, unit of digital: kilobit.
+ * Also see {@link #createKilobit()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilobit();
+
+ /**
+ * Returns by pointer, unit of digital: kilobyte.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilobyte()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createKilobyte(UErrorCode &status);
/**
- * Returns unit of digital: megabit.
+ * Returns by value, unit of digital: kilobyte.
+ * Also see {@link #createKilobyte()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilobyte();
+
+ /**
+ * Returns by pointer, unit of digital: megabit.
* Caller owns returned value and must free it.
+ * Also see {@link #getMegabit()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMegabit(UErrorCode &status);
/**
- * Returns unit of digital: megabyte.
+ * Returns by value, unit of digital: megabit.
+ * Also see {@link #createMegabit()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMegabit();
+
+ /**
+ * Returns by pointer, unit of digital: megabyte.
* Caller owns returned value and must free it.
+ * Also see {@link #getMegabyte()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMegabyte(UErrorCode &status);
+ /**
+ * Returns by value, unit of digital: megabyte.
+ * Also see {@link #createMegabyte()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMegabyte();
+
#ifndef U_HIDE_DRAFT_API
/**
- * Returns unit of digital: petabyte.
+ * Returns by pointer, unit of digital: petabyte.
* Caller owns returned value and must free it.
+ * Also see {@link #getPetabyte()}.
* @param status ICU error code.
* @draft ICU 63
*/
static MeasureUnit *createPetabyte(UErrorCode &status);
+
+ /**
+ * Returns by value, unit of digital: petabyte.
+ * Also see {@link #createPetabyte()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPetabyte();
#endif /* U_HIDE_DRAFT_API */
/**
- * Returns unit of digital: terabit.
+ * Returns by pointer, unit of digital: terabit.
* Caller owns returned value and must free it.
+ * Also see {@link #getTerabit()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createTerabit(UErrorCode &status);
/**
- * Returns unit of digital: terabyte.
+ * Returns by value, unit of digital: terabit.
+ * Also see {@link #createTerabit()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getTerabit();
+
+ /**
+ * Returns by pointer, unit of digital: terabyte.
* Caller owns returned value and must free it.
+ * Also see {@link #getTerabyte()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createTerabyte(UErrorCode &status);
/**
- * Returns unit of duration: century.
+ * Returns by value, unit of digital: terabyte.
+ * Also see {@link #createTerabyte()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getTerabyte();
+
+ /**
+ * Returns by pointer, unit of duration: century.
* Caller owns returned value and must free it.
+ * Also see {@link #getCentury()}.
* @param status ICU error code.
* @stable ICU 56
*/
static MeasureUnit *createCentury(UErrorCode &status);
/**
- * Returns unit of duration: day.
+ * Returns by value, unit of duration: century.
+ * Also see {@link #createCentury()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCentury();
+
+ /**
+ * Returns by pointer, unit of duration: day.
* Caller owns returned value and must free it.
+ * Also see {@link #getDay()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createDay(UErrorCode &status);
/**
- * Returns unit of duration: hour.
+ * Returns by value, unit of duration: day.
+ * Also see {@link #createDay()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getDay();
+
+ /**
+ * Returns by pointer, unit of duration: hour.
* Caller owns returned value and must free it.
+ * Also see {@link #getHour()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createHour(UErrorCode &status);
/**
- * Returns unit of duration: microsecond.
+ * Returns by value, unit of duration: hour.
+ * Also see {@link #createHour()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getHour();
+
+ /**
+ * Returns by pointer, unit of duration: microsecond.
* Caller owns returned value and must free it.
+ * Also see {@link #getMicrosecond()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMicrosecond(UErrorCode &status);
/**
- * Returns unit of duration: millisecond.
+ * Returns by value, unit of duration: microsecond.
+ * Also see {@link #createMicrosecond()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMicrosecond();
+
+ /**
+ * Returns by pointer, unit of duration: millisecond.
* Caller owns returned value and must free it.
+ * Also see {@link #getMillisecond()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMillisecond(UErrorCode &status);
/**
- * Returns unit of duration: minute.
+ * Returns by value, unit of duration: millisecond.
+ * Also see {@link #createMillisecond()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMillisecond();
+
+ /**
+ * Returns by pointer, unit of duration: minute.
* Caller owns returned value and must free it.
+ * Also see {@link #getMinute()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMinute(UErrorCode &status);
/**
- * Returns unit of duration: month.
+ * Returns by value, unit of duration: minute.
+ * Also see {@link #createMinute()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMinute();
+
+ /**
+ * Returns by pointer, unit of duration: month.
* Caller owns returned value and must free it.
+ * Also see {@link #getMonth()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMonth(UErrorCode &status);
/**
- * Returns unit of duration: nanosecond.
+ * Returns by value, unit of duration: month.
+ * Also see {@link #createMonth()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMonth();
+
+ /**
+ * Returns by pointer, unit of duration: nanosecond.
* Caller owns returned value and must free it.
+ * Also see {@link #getNanosecond()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createNanosecond(UErrorCode &status);
/**
- * Returns unit of duration: second.
+ * Returns by value, unit of duration: nanosecond.
+ * Also see {@link #createNanosecond()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getNanosecond();
+
+ /**
+ * Returns by pointer, unit of duration: second.
* Caller owns returned value and must free it.
+ * Also see {@link #getSecond()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createSecond(UErrorCode &status);
/**
- * Returns unit of duration: week.
+ * Returns by value, unit of duration: second.
+ * Also see {@link #createSecond()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getSecond();
+
+ /**
+ * Returns by pointer, unit of duration: week.
* Caller owns returned value and must free it.
+ * Also see {@link #getWeek()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createWeek(UErrorCode &status);
/**
- * Returns unit of duration: year.
+ * Returns by value, unit of duration: week.
+ * Also see {@link #createWeek()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getWeek();
+
+ /**
+ * Returns by pointer, unit of duration: year.
* Caller owns returned value and must free it.
+ * Also see {@link #getYear()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createYear(UErrorCode &status);
/**
- * Returns unit of electric: ampere.
+ * Returns by value, unit of duration: year.
+ * Also see {@link #createYear()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getYear();
+
+ /**
+ * Returns by pointer, unit of electric: ampere.
* Caller owns returned value and must free it.
+ * Also see {@link #getAmpere()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createAmpere(UErrorCode &status);
/**
- * Returns unit of electric: milliampere.
+ * Returns by value, unit of electric: ampere.
+ * Also see {@link #createAmpere()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getAmpere();
+
+ /**
+ * Returns by pointer, unit of electric: milliampere.
* Caller owns returned value and must free it.
+ * Also see {@link #getMilliampere()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMilliampere(UErrorCode &status);
/**
- * Returns unit of electric: ohm.
+ * Returns by value, unit of electric: milliampere.
+ * Also see {@link #createMilliampere()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMilliampere();
+
+ /**
+ * Returns by pointer, unit of electric: ohm.
* Caller owns returned value and must free it.
+ * Also see {@link #getOhm()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createOhm(UErrorCode &status);
/**
- * Returns unit of electric: volt.
+ * Returns by value, unit of electric: ohm.
+ * Also see {@link #createOhm()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getOhm();
+
+ /**
+ * Returns by pointer, unit of electric: volt.
* Caller owns returned value and must free it.
+ * Also see {@link #getVolt()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createVolt(UErrorCode &status);
/**
- * Returns unit of energy: calorie.
+ * Returns by value, unit of electric: volt.
+ * Also see {@link #createVolt()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getVolt();
+
+ /**
+ * Returns by pointer, unit of energy: calorie.
* Caller owns returned value and must free it.
+ * Also see {@link #getCalorie()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCalorie(UErrorCode &status);
/**
- * Returns unit of energy: foodcalorie.
+ * Returns by value, unit of energy: calorie.
+ * Also see {@link #createCalorie()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCalorie();
+
+ /**
+ * Returns by pointer, unit of energy: foodcalorie.
* Caller owns returned value and must free it.
+ * Also see {@link #getFoodcalorie()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createFoodcalorie(UErrorCode &status);
/**
- * Returns unit of energy: joule.
+ * Returns by value, unit of energy: foodcalorie.
+ * Also see {@link #createFoodcalorie()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getFoodcalorie();
+
+ /**
+ * Returns by pointer, unit of energy: joule.
* Caller owns returned value and must free it.
+ * Also see {@link #getJoule()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createJoule(UErrorCode &status);
/**
- * Returns unit of energy: kilocalorie.
+ * Returns by value, unit of energy: joule.
+ * Also see {@link #createJoule()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getJoule();
+
+ /**
+ * Returns by pointer, unit of energy: kilocalorie.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilocalorie()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createKilocalorie(UErrorCode &status);
/**
- * Returns unit of energy: kilojoule.
+ * Returns by value, unit of energy: kilocalorie.
+ * Also see {@link #createKilocalorie()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilocalorie();
+
+ /**
+ * Returns by pointer, unit of energy: kilojoule.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilojoule()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createKilojoule(UErrorCode &status);
/**
- * Returns unit of energy: kilowatt-hour.
+ * Returns by value, unit of energy: kilojoule.
+ * Also see {@link #createKilojoule()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilojoule();
+
+ /**
+ * Returns by pointer, unit of energy: kilowatt-hour.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilowattHour()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createKilowattHour(UErrorCode &status);
/**
- * Returns unit of frequency: gigahertz.
+ * Returns by value, unit of energy: kilowatt-hour.
+ * Also see {@link #createKilowattHour()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilowattHour();
+
+ /**
+ * Returns by pointer, unit of frequency: gigahertz.
* Caller owns returned value and must free it.
+ * Also see {@link #getGigahertz()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createGigahertz(UErrorCode &status);
/**
- * Returns unit of frequency: hertz.
+ * Returns by value, unit of frequency: gigahertz.
+ * Also see {@link #createGigahertz()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGigahertz();
+
+ /**
+ * Returns by pointer, unit of frequency: hertz.
* Caller owns returned value and must free it.
+ * Also see {@link #getHertz()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createHertz(UErrorCode &status);
/**
- * Returns unit of frequency: kilohertz.
+ * Returns by value, unit of frequency: hertz.
+ * Also see {@link #createHertz()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getHertz();
+
+ /**
+ * Returns by pointer, unit of frequency: kilohertz.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilohertz()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createKilohertz(UErrorCode &status);
/**
- * Returns unit of frequency: megahertz.
+ * Returns by value, unit of frequency: kilohertz.
+ * Also see {@link #createKilohertz()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilohertz();
+
+ /**
+ * Returns by pointer, unit of frequency: megahertz.
* Caller owns returned value and must free it.
+ * Also see {@link #getMegahertz()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMegahertz(UErrorCode &status);
/**
- * Returns unit of length: astronomical-unit.
+ * Returns by value, unit of frequency: megahertz.
+ * Also see {@link #createMegahertz()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMegahertz();
+
+ /**
+ * Returns by pointer, unit of length: astronomical-unit.
* Caller owns returned value and must free it.
+ * Also see {@link #getAstronomicalUnit()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createAstronomicalUnit(UErrorCode &status);
/**
- * Returns unit of length: centimeter.
+ * Returns by value, unit of length: astronomical-unit.
+ * Also see {@link #createAstronomicalUnit()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getAstronomicalUnit();
+
+ /**
+ * Returns by pointer, unit of length: centimeter.
* Caller owns returned value and must free it.
+ * Also see {@link #getCentimeter()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createCentimeter(UErrorCode &status);
/**
- * Returns unit of length: decimeter.
+ * Returns by value, unit of length: centimeter.
+ * Also see {@link #createCentimeter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCentimeter();
+
+ /**
+ * Returns by pointer, unit of length: decimeter.
* Caller owns returned value and must free it.
+ * Also see {@link #getDecimeter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createDecimeter(UErrorCode &status);
/**
- * Returns unit of length: fathom.
+ * Returns by value, unit of length: decimeter.
+ * Also see {@link #createDecimeter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getDecimeter();
+
+ /**
+ * Returns by pointer, unit of length: fathom.
* Caller owns returned value and must free it.
+ * Also see {@link #getFathom()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createFathom(UErrorCode &status);
/**
- * Returns unit of length: foot.
+ * Returns by value, unit of length: fathom.
+ * Also see {@link #createFathom()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getFathom();
+
+ /**
+ * Returns by pointer, unit of length: foot.
* Caller owns returned value and must free it.
+ * Also see {@link #getFoot()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createFoot(UErrorCode &status);
/**
- * Returns unit of length: furlong.
+ * Returns by value, unit of length: foot.
+ * Also see {@link #createFoot()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getFoot();
+
+ /**
+ * Returns by pointer, unit of length: furlong.
* Caller owns returned value and must free it.
+ * Also see {@link #getFurlong()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createFurlong(UErrorCode &status);
/**
- * Returns unit of length: inch.
+ * Returns by value, unit of length: furlong.
+ * Also see {@link #createFurlong()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getFurlong();
+
+ /**
+ * Returns by pointer, unit of length: inch.
* Caller owns returned value and must free it.
+ * Also see {@link #getInch()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createInch(UErrorCode &status);
/**
- * Returns unit of length: kilometer.
+ * Returns by value, unit of length: inch.
+ * Also see {@link #createInch()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getInch();
+
+ /**
+ * Returns by pointer, unit of length: kilometer.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilometer()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createKilometer(UErrorCode &status);
/**
- * Returns unit of length: light-year.
+ * Returns by value, unit of length: kilometer.
+ * Also see {@link #createKilometer()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilometer();
+
+ /**
+ * Returns by pointer, unit of length: light-year.
* Caller owns returned value and must free it.
+ * Also see {@link #getLightYear()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createLightYear(UErrorCode &status);
/**
- * Returns unit of length: meter.
+ * Returns by value, unit of length: light-year.
+ * Also see {@link #createLightYear()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getLightYear();
+
+ /**
+ * Returns by pointer, unit of length: meter.
* Caller owns returned value and must free it.
+ * Also see {@link #getMeter()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMeter(UErrorCode &status);
/**
- * Returns unit of length: micrometer.
+ * Returns by value, unit of length: meter.
+ * Also see {@link #createMeter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMeter();
+
+ /**
+ * Returns by pointer, unit of length: micrometer.
* Caller owns returned value and must free it.
+ * Also see {@link #getMicrometer()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMicrometer(UErrorCode &status);
/**
- * Returns unit of length: mile.
+ * Returns by value, unit of length: micrometer.
+ * Also see {@link #createMicrometer()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMicrometer();
+
+ /**
+ * Returns by pointer, unit of length: mile.
* Caller owns returned value and must free it.
+ * Also see {@link #getMile()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMile(UErrorCode &status);
/**
- * Returns unit of length: mile-scandinavian.
+ * Returns by value, unit of length: mile.
+ * Also see {@link #createMile()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMile();
+
+ /**
+ * Returns by pointer, unit of length: mile-scandinavian.
* Caller owns returned value and must free it.
+ * Also see {@link #getMileScandinavian()}.
* @param status ICU error code.
* @stable ICU 56
*/
static MeasureUnit *createMileScandinavian(UErrorCode &status);
/**
- * Returns unit of length: millimeter.
+ * Returns by value, unit of length: mile-scandinavian.
+ * Also see {@link #createMileScandinavian()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMileScandinavian();
+
+ /**
+ * Returns by pointer, unit of length: millimeter.
* Caller owns returned value and must free it.
+ * Also see {@link #getMillimeter()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMillimeter(UErrorCode &status);
/**
- * Returns unit of length: nanometer.
+ * Returns by value, unit of length: millimeter.
+ * Also see {@link #createMillimeter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMillimeter();
+
+ /**
+ * Returns by pointer, unit of length: nanometer.
* Caller owns returned value and must free it.
+ * Also see {@link #getNanometer()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createNanometer(UErrorCode &status);
/**
- * Returns unit of length: nautical-mile.
+ * Returns by value, unit of length: nanometer.
+ * Also see {@link #createNanometer()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getNanometer();
+
+ /**
+ * Returns by pointer, unit of length: nautical-mile.
* Caller owns returned value and must free it.
+ * Also see {@link #getNauticalMile()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createNauticalMile(UErrorCode &status);
/**
- * Returns unit of length: parsec.
+ * Returns by value, unit of length: nautical-mile.
+ * Also see {@link #createNauticalMile()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getNauticalMile();
+
+ /**
+ * Returns by pointer, unit of length: parsec.
* Caller owns returned value and must free it.
+ * Also see {@link #getParsec()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createParsec(UErrorCode &status);
/**
- * Returns unit of length: picometer.
+ * Returns by value, unit of length: parsec.
+ * Also see {@link #createParsec()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getParsec();
+
+ /**
+ * Returns by pointer, unit of length: picometer.
* Caller owns returned value and must free it.
+ * Also see {@link #getPicometer()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createPicometer(UErrorCode &status);
/**
- * Returns unit of length: point.
+ * Returns by value, unit of length: picometer.
+ * Also see {@link #createPicometer()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPicometer();
+
+ /**
+ * Returns by pointer, unit of length: point.
* Caller owns returned value and must free it.
+ * Also see {@link #getPoint()}.
* @param status ICU error code.
* @stable ICU 59
*/
static MeasureUnit *createPoint(UErrorCode &status);
/**
- * Returns unit of length: yard.
+ * Returns by value, unit of length: point.
+ * Also see {@link #createPoint()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPoint();
+
+ /**
+ * Returns by pointer, unit of length: yard.
* Caller owns returned value and must free it.
+ * Also see {@link #getYard()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createYard(UErrorCode &status);
/**
- * Returns unit of light: lux.
+ * Returns by value, unit of length: yard.
+ * Also see {@link #createYard()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getYard();
+
+ /**
+ * Returns by pointer, unit of light: lux.
* Caller owns returned value and must free it.
+ * Also see {@link #getLux()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createLux(UErrorCode &status);
/**
- * Returns unit of mass: carat.
+ * Returns by value, unit of light: lux.
+ * Also see {@link #createLux()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getLux();
+
+ /**
+ * Returns by pointer, unit of mass: carat.
* Caller owns returned value and must free it.
+ * Also see {@link #getCarat()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCarat(UErrorCode &status);
/**
- * Returns unit of mass: gram.
+ * Returns by value, unit of mass: carat.
+ * Also see {@link #createCarat()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCarat();
+
+ /**
+ * Returns by pointer, unit of mass: gram.
* Caller owns returned value and must free it.
+ * Also see {@link #getGram()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createGram(UErrorCode &status);
/**
- * Returns unit of mass: kilogram.
+ * Returns by value, unit of mass: gram.
+ * Also see {@link #createGram()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGram();
+
+ /**
+ * Returns by pointer, unit of mass: kilogram.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilogram()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createKilogram(UErrorCode &status);
/**
- * Returns unit of mass: metric-ton.
+ * Returns by value, unit of mass: kilogram.
+ * Also see {@link #createKilogram()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilogram();
+
+ /**
+ * Returns by pointer, unit of mass: metric-ton.
* Caller owns returned value and must free it.
+ * Also see {@link #getMetricTon()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMetricTon(UErrorCode &status);
/**
- * Returns unit of mass: microgram.
+ * Returns by value, unit of mass: metric-ton.
+ * Also see {@link #createMetricTon()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMetricTon();
+
+ /**
+ * Returns by pointer, unit of mass: microgram.
* Caller owns returned value and must free it.
+ * Also see {@link #getMicrogram()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMicrogram(UErrorCode &status);
/**
- * Returns unit of mass: milligram.
+ * Returns by value, unit of mass: microgram.
+ * Also see {@link #createMicrogram()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMicrogram();
+
+ /**
+ * Returns by pointer, unit of mass: milligram.
* Caller owns returned value and must free it.
+ * Also see {@link #getMilligram()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMilligram(UErrorCode &status);
/**
- * Returns unit of mass: ounce.
+ * Returns by value, unit of mass: milligram.
+ * Also see {@link #createMilligram()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMilligram();
+
+ /**
+ * Returns by pointer, unit of mass: ounce.
* Caller owns returned value and must free it.
+ * Also see {@link #getOunce()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createOunce(UErrorCode &status);
/**
- * Returns unit of mass: ounce-troy.
+ * Returns by value, unit of mass: ounce.
+ * Also see {@link #createOunce()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getOunce();
+
+ /**
+ * Returns by pointer, unit of mass: ounce-troy.
* Caller owns returned value and must free it.
+ * Also see {@link #getOunceTroy()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createOunceTroy(UErrorCode &status);
/**
- * Returns unit of mass: pound.
+ * Returns by value, unit of mass: ounce-troy.
+ * Also see {@link #createOunceTroy()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getOunceTroy();
+
+ /**
+ * Returns by pointer, unit of mass: pound.
* Caller owns returned value and must free it.
+ * Also see {@link #getPound()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createPound(UErrorCode &status);
/**
- * Returns unit of mass: stone.
+ * Returns by value, unit of mass: pound.
+ * Also see {@link #createPound()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPound();
+
+ /**
+ * Returns by pointer, unit of mass: stone.
* Caller owns returned value and must free it.
+ * Also see {@link #getStone()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createStone(UErrorCode &status);
/**
- * Returns unit of mass: ton.
+ * Returns by value, unit of mass: stone.
+ * Also see {@link #createStone()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getStone();
+
+ /**
+ * Returns by pointer, unit of mass: ton.
* Caller owns returned value and must free it.
+ * Also see {@link #getTon()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createTon(UErrorCode &status);
/**
- * Returns unit of power: gigawatt.
+ * Returns by value, unit of mass: ton.
+ * Also see {@link #createTon()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getTon();
+
+ /**
+ * Returns by pointer, unit of power: gigawatt.
* Caller owns returned value and must free it.
+ * Also see {@link #getGigawatt()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createGigawatt(UErrorCode &status);
/**
- * Returns unit of power: horsepower.
+ * Returns by value, unit of power: gigawatt.
+ * Also see {@link #createGigawatt()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGigawatt();
+
+ /**
+ * Returns by pointer, unit of power: horsepower.
* Caller owns returned value and must free it.
+ * Also see {@link #getHorsepower()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createHorsepower(UErrorCode &status);
/**
- * Returns unit of power: kilowatt.
+ * Returns by value, unit of power: horsepower.
+ * Also see {@link #createHorsepower()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getHorsepower();
+
+ /**
+ * Returns by pointer, unit of power: kilowatt.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilowatt()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createKilowatt(UErrorCode &status);
/**
- * Returns unit of power: megawatt.
+ * Returns by value, unit of power: kilowatt.
+ * Also see {@link #createKilowatt()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilowatt();
+
+ /**
+ * Returns by pointer, unit of power: megawatt.
* Caller owns returned value and must free it.
+ * Also see {@link #getMegawatt()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMegawatt(UErrorCode &status);
/**
- * Returns unit of power: milliwatt.
+ * Returns by value, unit of power: megawatt.
+ * Also see {@link #createMegawatt()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMegawatt();
+
+ /**
+ * Returns by pointer, unit of power: milliwatt.
* Caller owns returned value and must free it.
+ * Also see {@link #getMilliwatt()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMilliwatt(UErrorCode &status);
/**
- * Returns unit of power: watt.
+ * Returns by value, unit of power: milliwatt.
+ * Also see {@link #createMilliwatt()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMilliwatt();
+
+ /**
+ * Returns by pointer, unit of power: watt.
* Caller owns returned value and must free it.
+ * Also see {@link #getWatt()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createWatt(UErrorCode &status);
+ /**
+ * Returns by value, unit of power: watt.
+ * Also see {@link #createWatt()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getWatt();
+
#ifndef U_HIDE_DRAFT_API
/**
- * Returns unit of pressure: atmosphere.
+ * Returns by pointer, unit of pressure: atmosphere.
* Caller owns returned value and must free it.
+ * Also see {@link #getAtmosphere()}.
* @param status ICU error code.
* @draft ICU 63
*/
static MeasureUnit *createAtmosphere(UErrorCode &status);
+
+ /**
+ * Returns by value, unit of pressure: atmosphere.
+ * Also see {@link #createAtmosphere()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getAtmosphere();
#endif /* U_HIDE_DRAFT_API */
/**
- * Returns unit of pressure: hectopascal.
+ * Returns by pointer, unit of pressure: hectopascal.
* Caller owns returned value and must free it.
+ * Also see {@link #getHectopascal()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createHectopascal(UErrorCode &status);
/**
- * Returns unit of pressure: inch-hg.
+ * Returns by value, unit of pressure: hectopascal.
+ * Also see {@link #createHectopascal()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getHectopascal();
+
+ /**
+ * Returns by pointer, unit of pressure: inch-hg.
* Caller owns returned value and must free it.
+ * Also see {@link #getInchHg()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createInchHg(UErrorCode &status);
/**
- * Returns unit of pressure: millibar.
+ * Returns by value, unit of pressure: inch-hg.
+ * Also see {@link #createInchHg()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getInchHg();
+
+ /**
+ * Returns by pointer, unit of pressure: millibar.
* Caller owns returned value and must free it.
+ * Also see {@link #getMillibar()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMillibar(UErrorCode &status);
/**
- * Returns unit of pressure: millimeter-of-mercury.
+ * Returns by value, unit of pressure: millibar.
+ * Also see {@link #createMillibar()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMillibar();
+
+ /**
+ * Returns by pointer, unit of pressure: millimeter-of-mercury.
* Caller owns returned value and must free it.
+ * Also see {@link #getMillimeterOfMercury()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMillimeterOfMercury(UErrorCode &status);
/**
- * Returns unit of pressure: pound-per-square-inch.
+ * Returns by value, unit of pressure: millimeter-of-mercury.
+ * Also see {@link #createMillimeterOfMercury()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMillimeterOfMercury();
+
+ /**
+ * Returns by pointer, unit of pressure: pound-per-square-inch.
* Caller owns returned value and must free it.
+ * Also see {@link #getPoundPerSquareInch()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createPoundPerSquareInch(UErrorCode &status);
/**
- * Returns unit of speed: kilometer-per-hour.
+ * Returns by value, unit of pressure: pound-per-square-inch.
+ * Also see {@link #createPoundPerSquareInch()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPoundPerSquareInch();
+
+ /**
+ * Returns by pointer, unit of speed: kilometer-per-hour.
* Caller owns returned value and must free it.
+ * Also see {@link #getKilometerPerHour()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createKilometerPerHour(UErrorCode &status);
/**
- * Returns unit of speed: knot.
+ * Returns by value, unit of speed: kilometer-per-hour.
+ * Also see {@link #createKilometerPerHour()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKilometerPerHour();
+
+ /**
+ * Returns by pointer, unit of speed: knot.
* Caller owns returned value and must free it.
+ * Also see {@link #getKnot()}.
* @param status ICU error code.
* @stable ICU 56
*/
static MeasureUnit *createKnot(UErrorCode &status);
/**
- * Returns unit of speed: meter-per-second.
+ * Returns by value, unit of speed: knot.
+ * Also see {@link #createKnot()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKnot();
+
+ /**
+ * Returns by pointer, unit of speed: meter-per-second.
* Caller owns returned value and must free it.
+ * Also see {@link #getMeterPerSecond()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMeterPerSecond(UErrorCode &status);
/**
- * Returns unit of speed: mile-per-hour.
+ * Returns by value, unit of speed: meter-per-second.
+ * Also see {@link #createMeterPerSecond()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMeterPerSecond();
+
+ /**
+ * Returns by pointer, unit of speed: mile-per-hour.
* Caller owns returned value and must free it.
+ * Also see {@link #getMilePerHour()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createMilePerHour(UErrorCode &status);
/**
- * Returns unit of temperature: celsius.
+ * Returns by value, unit of speed: mile-per-hour.
+ * Also see {@link #createMilePerHour()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMilePerHour();
+
+ /**
+ * Returns by pointer, unit of temperature: celsius.
* Caller owns returned value and must free it.
+ * Also see {@link #getCelsius()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createCelsius(UErrorCode &status);
/**
- * Returns unit of temperature: fahrenheit.
+ * Returns by value, unit of temperature: celsius.
+ * Also see {@link #createCelsius()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCelsius();
+
+ /**
+ * Returns by pointer, unit of temperature: fahrenheit.
* Caller owns returned value and must free it.
+ * Also see {@link #getFahrenheit()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createFahrenheit(UErrorCode &status);
/**
- * Returns unit of temperature: generic.
+ * Returns by value, unit of temperature: fahrenheit.
+ * Also see {@link #createFahrenheit()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getFahrenheit();
+
+ /**
+ * Returns by pointer, unit of temperature: generic.
* Caller owns returned value and must free it.
+ * Also see {@link #getGenericTemperature()}.
* @param status ICU error code.
* @stable ICU 56
*/
static MeasureUnit *createGenericTemperature(UErrorCode &status);
/**
- * Returns unit of temperature: kelvin.
+ * Returns by value, unit of temperature: generic.
+ * Also see {@link #createGenericTemperature()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGenericTemperature();
+
+ /**
+ * Returns by pointer, unit of temperature: kelvin.
* Caller owns returned value and must free it.
+ * Also see {@link #getKelvin()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createKelvin(UErrorCode &status);
/**
- * Returns unit of volume: acre-foot.
+ * Returns by value, unit of temperature: kelvin.
+ * Also see {@link #createKelvin()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getKelvin();
+
+ /**
+ * Returns by pointer, unit of volume: acre-foot.
* Caller owns returned value and must free it.
+ * Also see {@link #getAcreFoot()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createAcreFoot(UErrorCode &status);
/**
- * Returns unit of volume: bushel.
+ * Returns by value, unit of volume: acre-foot.
+ * Also see {@link #createAcreFoot()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getAcreFoot();
+
+ /**
+ * Returns by pointer, unit of volume: bushel.
* Caller owns returned value and must free it.
+ * Also see {@link #getBushel()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createBushel(UErrorCode &status);
/**
- * Returns unit of volume: centiliter.
+ * Returns by value, unit of volume: bushel.
+ * Also see {@link #createBushel()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getBushel();
+
+ /**
+ * Returns by pointer, unit of volume: centiliter.
* Caller owns returned value and must free it.
+ * Also see {@link #getCentiliter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCentiliter(UErrorCode &status);
/**
- * Returns unit of volume: cubic-centimeter.
+ * Returns by value, unit of volume: centiliter.
+ * Also see {@link #createCentiliter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCentiliter();
+
+ /**
+ * Returns by pointer, unit of volume: cubic-centimeter.
* Caller owns returned value and must free it.
+ * Also see {@link #getCubicCentimeter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCubicCentimeter(UErrorCode &status);
/**
- * Returns unit of volume: cubic-foot.
+ * Returns by value, unit of volume: cubic-centimeter.
+ * Also see {@link #createCubicCentimeter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCubicCentimeter();
+
+ /**
+ * Returns by pointer, unit of volume: cubic-foot.
* Caller owns returned value and must free it.
+ * Also see {@link #getCubicFoot()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCubicFoot(UErrorCode &status);
/**
- * Returns unit of volume: cubic-inch.
+ * Returns by value, unit of volume: cubic-foot.
+ * Also see {@link #createCubicFoot()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCubicFoot();
+
+ /**
+ * Returns by pointer, unit of volume: cubic-inch.
* Caller owns returned value and must free it.
+ * Also see {@link #getCubicInch()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCubicInch(UErrorCode &status);
/**
- * Returns unit of volume: cubic-kilometer.
+ * Returns by value, unit of volume: cubic-inch.
+ * Also see {@link #createCubicInch()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCubicInch();
+
+ /**
+ * Returns by pointer, unit of volume: cubic-kilometer.
* Caller owns returned value and must free it.
+ * Also see {@link #getCubicKilometer()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createCubicKilometer(UErrorCode &status);
/**
- * Returns unit of volume: cubic-meter.
+ * Returns by value, unit of volume: cubic-kilometer.
+ * Also see {@link #createCubicKilometer()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCubicKilometer();
+
+ /**
+ * Returns by pointer, unit of volume: cubic-meter.
* Caller owns returned value and must free it.
+ * Also see {@link #getCubicMeter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCubicMeter(UErrorCode &status);
/**
- * Returns unit of volume: cubic-mile.
+ * Returns by value, unit of volume: cubic-meter.
+ * Also see {@link #createCubicMeter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCubicMeter();
+
+ /**
+ * Returns by pointer, unit of volume: cubic-mile.
* Caller owns returned value and must free it.
+ * Also see {@link #getCubicMile()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createCubicMile(UErrorCode &status);
/**
- * Returns unit of volume: cubic-yard.
+ * Returns by value, unit of volume: cubic-mile.
+ * Also see {@link #createCubicMile()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCubicMile();
+
+ /**
+ * Returns by pointer, unit of volume: cubic-yard.
* Caller owns returned value and must free it.
+ * Also see {@link #getCubicYard()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCubicYard(UErrorCode &status);
/**
- * Returns unit of volume: cup.
+ * Returns by value, unit of volume: cubic-yard.
+ * Also see {@link #createCubicYard()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCubicYard();
+
+ /**
+ * Returns by pointer, unit of volume: cup.
* Caller owns returned value and must free it.
+ * Also see {@link #getCup()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createCup(UErrorCode &status);
/**
- * Returns unit of volume: cup-metric.
+ * Returns by value, unit of volume: cup.
+ * Also see {@link #createCup()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCup();
+
+ /**
+ * Returns by pointer, unit of volume: cup-metric.
* Caller owns returned value and must free it.
+ * Also see {@link #getCupMetric()}.
* @param status ICU error code.
* @stable ICU 56
*/
static MeasureUnit *createCupMetric(UErrorCode &status);
/**
- * Returns unit of volume: deciliter.
+ * Returns by value, unit of volume: cup-metric.
+ * Also see {@link #createCupMetric()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getCupMetric();
+
+ /**
+ * Returns by pointer, unit of volume: deciliter.
* Caller owns returned value and must free it.
+ * Also see {@link #getDeciliter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createDeciliter(UErrorCode &status);
/**
- * Returns unit of volume: fluid-ounce.
+ * Returns by value, unit of volume: deciliter.
+ * Also see {@link #createDeciliter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getDeciliter();
+
+ /**
+ * Returns by pointer, unit of volume: fluid-ounce.
* Caller owns returned value and must free it.
+ * Also see {@link #getFluidOunce()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createFluidOunce(UErrorCode &status);
/**
- * Returns unit of volume: gallon.
+ * Returns by value, unit of volume: fluid-ounce.
+ * Also see {@link #createFluidOunce()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getFluidOunce();
+
+ /**
+ * Returns by pointer, unit of volume: gallon.
* Caller owns returned value and must free it.
+ * Also see {@link #getGallon()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createGallon(UErrorCode &status);
/**
- * Returns unit of volume: gallon-imperial.
+ * Returns by value, unit of volume: gallon.
+ * Also see {@link #createGallon()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGallon();
+
+ /**
+ * Returns by pointer, unit of volume: gallon-imperial.
* Caller owns returned value and must free it.
+ * Also see {@link #getGallonImperial()}.
* @param status ICU error code.
* @stable ICU 57
*/
static MeasureUnit *createGallonImperial(UErrorCode &status);
/**
- * Returns unit of volume: hectoliter.
+ * Returns by value, unit of volume: gallon-imperial.
+ * Also see {@link #createGallonImperial()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getGallonImperial();
+
+ /**
+ * Returns by pointer, unit of volume: hectoliter.
* Caller owns returned value and must free it.
+ * Also see {@link #getHectoliter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createHectoliter(UErrorCode &status);
/**
- * Returns unit of volume: liter.
+ * Returns by value, unit of volume: hectoliter.
+ * Also see {@link #createHectoliter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getHectoliter();
+
+ /**
+ * Returns by pointer, unit of volume: liter.
* Caller owns returned value and must free it.
+ * Also see {@link #getLiter()}.
* @param status ICU error code.
* @stable ICU 53
*/
static MeasureUnit *createLiter(UErrorCode &status);
/**
- * Returns unit of volume: megaliter.
+ * Returns by value, unit of volume: liter.
+ * Also see {@link #createLiter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getLiter();
+
+ /**
+ * Returns by pointer, unit of volume: megaliter.
* Caller owns returned value and must free it.
+ * Also see {@link #getMegaliter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMegaliter(UErrorCode &status);
/**
- * Returns unit of volume: milliliter.
+ * Returns by value, unit of volume: megaliter.
+ * Also see {@link #createMegaliter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMegaliter();
+
+ /**
+ * Returns by pointer, unit of volume: milliliter.
* Caller owns returned value and must free it.
+ * Also see {@link #getMilliliter()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createMilliliter(UErrorCode &status);
/**
- * Returns unit of volume: pint.
+ * Returns by value, unit of volume: milliliter.
+ * Also see {@link #createMilliliter()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getMilliliter();
+
+ /**
+ * Returns by pointer, unit of volume: pint.
* Caller owns returned value and must free it.
+ * Also see {@link #getPint()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createPint(UErrorCode &status);
/**
- * Returns unit of volume: pint-metric.
+ * Returns by value, unit of volume: pint.
+ * Also see {@link #createPint()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPint();
+
+ /**
+ * Returns by pointer, unit of volume: pint-metric.
* Caller owns returned value and must free it.
+ * Also see {@link #getPintMetric()}.
* @param status ICU error code.
* @stable ICU 56
*/
static MeasureUnit *createPintMetric(UErrorCode &status);
/**
- * Returns unit of volume: quart.
+ * Returns by value, unit of volume: pint-metric.
+ * Also see {@link #createPintMetric()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getPintMetric();
+
+ /**
+ * Returns by pointer, unit of volume: quart.
* Caller owns returned value and must free it.
+ * Also see {@link #getQuart()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createQuart(UErrorCode &status);
/**
- * Returns unit of volume: tablespoon.
+ * Returns by value, unit of volume: quart.
+ * Also see {@link #createQuart()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getQuart();
+
+ /**
+ * Returns by pointer, unit of volume: tablespoon.
* Caller owns returned value and must free it.
+ * Also see {@link #getTablespoon()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createTablespoon(UErrorCode &status);
/**
- * Returns unit of volume: teaspoon.
+ * Returns by value, unit of volume: tablespoon.
+ * Also see {@link #createTablespoon()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getTablespoon();
+
+ /**
+ * Returns by pointer, unit of volume: teaspoon.
* Caller owns returned value and must free it.
+ * Also see {@link #getTeaspoon()}.
* @param status ICU error code.
* @stable ICU 54
*/
static MeasureUnit *createTeaspoon(UErrorCode &status);
+ /**
+ * Returns by value, unit of volume: teaspoon.
+ * Also see {@link #createTeaspoon()}.
+ * @draft ICU 64
+ */
+ static MeasureUnit getTeaspoon();
+
// End generated createXXX methods
diff --git a/icu4c/source/i18n/unicode/numberformatter.h b/icu4c/source/i18n/unicode/numberformatter.h
index eb3e9f8..3ce74e2 100644
--- a/icu4c/source/i18n/unicode/numberformatter.h
+++ b/icu4c/source/i18n/unicode/numberformatter.h
@@ -53,7 +53,7 @@
* // Create a "template" in a singleton unique_ptr but without setting a locale until the call site:
* std::unique_ptr<UnlocalizedNumberFormatter> template = NumberFormatter::with()
* .sign(UNumberSignDisplay::UNUM_SIGN_ALWAYS)
- * .adoptUnit(MeasureUnit::createMeter(status))
+ * .unit(MeasureUnit::getMeter())
* .unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME)
* .clone();
* template->locale(...).format(1234).toString(); // +1,234 meters in en-US
@@ -1489,11 +1489,10 @@
* All units will be properly localized with locale data, and all units are compatible with notation styles,
* rounding precisions, and other number formatter settings.
*
- * Pass this method any instance of {@link MeasureUnit}. For units of measure (which often involve the
- * factory methods that return a pointer):
+ * Pass this method any instance of {@link MeasureUnit}. For units of measure:
*
* <pre>
- * NumberFormatter::with().adoptUnit(MeasureUnit::createMeter(status))
+ * NumberFormatter::with().unit(MeasureUnit::getMeter())
* </pre>
*
* Currency:
@@ -1536,11 +1535,9 @@
/**
* Like unit(), but takes ownership of a pointer. Convenient for use with the MeasureFormat factory
- * methods, which return pointers that need ownership. Example:
+ * methods that return pointers that need ownership.
*
- * <pre>
- * NumberFormatter::with().adoptUnit(MeasureUnit::createMeter(status))
- * </pre>
+ * Note: consider using the MeasureFormat factory methods that return by value.
*
* @param unit
* The unit to render.
@@ -1566,8 +1563,13 @@
* Sets a unit to be used in the denominator. For example, to format "3 m/s", pass METER to the unit and SECOND to
* the perUnit.
*
- * Pass this method any instance of {@link MeasureUnit}. Since MeasureUnit factory methods return pointers, the
- * {@link #adoptPerUnit} version of this method is often more useful.
+ * Pass this method any instance of {@link MeasureUnit}. Example:
+ *
+ * <pre>
+ * NumberFormatter::with()
+ * .unit(MeasureUnit::getMeter())
+ * .perUnit(MeasureUnit::getSecond())
+ * </pre>
*
* The default is not to display any unit in the denominator.
*
@@ -1594,13 +1596,9 @@
/**
* Like perUnit(), but takes ownership of a pointer. Convenient for use with the MeasureFormat factory
- * methods, which return pointers that need ownership. Example:
+ * methods that return pointers that need ownership.
*
- * <pre>
- * NumberFormatter::with()
- * .adoptUnit(MeasureUnit::createMeter(status))
- * .adoptPerUnit(MeasureUnit::createSecond(status))
- * </pre>
+ * Note: consider using the MeasureFormat factory methods that return by value.
*
* @param perUnit
* The unit to render in the denominator.
diff --git a/icu4c/source/test/intltest/measfmttest.cpp b/icu4c/source/test/intltest/measfmttest.cpp
index a0599ba..4fb9ee8 100644
--- a/icu4c/source/test/intltest/measfmttest.cpp
+++ b/icu4c/source/test/intltest/measfmttest.cpp
@@ -51,6 +51,7 @@
void TestCompatible58();
void TestCompatible59();
void TestCompatible63();
+ void TestCompatible64();
void TestGetAvailable();
void TestExamplesInDocs();
void TestFormatPeriodEn();
@@ -149,6 +150,7 @@
TESTCASE_AUTO(TestCompatible58);
TESTCASE_AUTO(TestCompatible59);
TESTCASE_AUTO(TestCompatible63);
+ TESTCASE_AUTO(TestCompatible64);
TESTCASE_AUTO(TestGetAvailable);
TESTCASE_AUTO(TestExamplesInDocs);
TESTCASE_AUTO(TestFormatPeriodEn);
@@ -1189,6 +1191,291 @@
assertSuccess("", status);
}
+void MeasureFormatTest::TestCompatible64() {
+ UErrorCode status = U_ZERO_ERROR;
+ LocalPointer<MeasureUnit> measureUnit;
+ MeasureUnit measureUnitValue;
+ measureUnit.adoptInstead(MeasureUnit::createGForce(status));
+ measureUnitValue = MeasureUnit::getGForce();
+ measureUnit.adoptInstead(MeasureUnit::createMeterPerSecondSquared(status));
+ measureUnitValue = MeasureUnit::getMeterPerSecondSquared();
+ measureUnit.adoptInstead(MeasureUnit::createArcMinute(status));
+ measureUnitValue = MeasureUnit::getArcMinute();
+ measureUnit.adoptInstead(MeasureUnit::createArcSecond(status));
+ measureUnitValue = MeasureUnit::getArcSecond();
+ measureUnit.adoptInstead(MeasureUnit::createDegree(status));
+ measureUnitValue = MeasureUnit::getDegree();
+ measureUnit.adoptInstead(MeasureUnit::createRadian(status));
+ measureUnitValue = MeasureUnit::getRadian();
+ measureUnit.adoptInstead(MeasureUnit::createRevolutionAngle(status));
+ measureUnitValue = MeasureUnit::getRevolutionAngle();
+ measureUnit.adoptInstead(MeasureUnit::createAcre(status));
+ measureUnitValue = MeasureUnit::getAcre();
+ measureUnit.adoptInstead(MeasureUnit::createHectare(status));
+ measureUnitValue = MeasureUnit::getHectare();
+ measureUnit.adoptInstead(MeasureUnit::createSquareCentimeter(status));
+ measureUnitValue = MeasureUnit::getSquareCentimeter();
+ measureUnit.adoptInstead(MeasureUnit::createSquareFoot(status));
+ measureUnitValue = MeasureUnit::getSquareFoot();
+ measureUnit.adoptInstead(MeasureUnit::createSquareInch(status));
+ measureUnitValue = MeasureUnit::getSquareInch();
+ measureUnit.adoptInstead(MeasureUnit::createSquareKilometer(status));
+ measureUnitValue = MeasureUnit::getSquareKilometer();
+ measureUnit.adoptInstead(MeasureUnit::createSquareMeter(status));
+ measureUnitValue = MeasureUnit::getSquareMeter();
+ measureUnit.adoptInstead(MeasureUnit::createSquareMile(status));
+ measureUnitValue = MeasureUnit::getSquareMile();
+ measureUnit.adoptInstead(MeasureUnit::createSquareYard(status));
+ measureUnitValue = MeasureUnit::getSquareYard();
+ measureUnit.adoptInstead(MeasureUnit::createKarat(status));
+ measureUnitValue = MeasureUnit::getKarat();
+ measureUnit.adoptInstead(MeasureUnit::createMilligramPerDeciliter(status));
+ measureUnitValue = MeasureUnit::getMilligramPerDeciliter();
+ measureUnit.adoptInstead(MeasureUnit::createMillimolePerLiter(status));
+ measureUnitValue = MeasureUnit::getMillimolePerLiter();
+ measureUnit.adoptInstead(MeasureUnit::createPartPerMillion(status));
+ measureUnitValue = MeasureUnit::getPartPerMillion();
+ measureUnit.adoptInstead(MeasureUnit::createPercent(status));
+ measureUnitValue = MeasureUnit::getPercent();
+ measureUnit.adoptInstead(MeasureUnit::createPermille(status));
+ measureUnitValue = MeasureUnit::getPermille();
+ measureUnit.adoptInstead(MeasureUnit::createLiterPer100Kilometers(status));
+ measureUnitValue = MeasureUnit::getLiterPer100Kilometers();
+ measureUnit.adoptInstead(MeasureUnit::createLiterPerKilometer(status));
+ measureUnitValue = MeasureUnit::getLiterPerKilometer();
+ measureUnit.adoptInstead(MeasureUnit::createMilePerGallon(status));
+ measureUnitValue = MeasureUnit::getMilePerGallon();
+ measureUnit.adoptInstead(MeasureUnit::createMilePerGallonImperial(status));
+ measureUnitValue = MeasureUnit::getMilePerGallonImperial();
+ measureUnit.adoptInstead(MeasureUnit::createBit(status));
+ measureUnitValue = MeasureUnit::getBit();
+ measureUnit.adoptInstead(MeasureUnit::createByte(status));
+ measureUnitValue = MeasureUnit::getByte();
+ measureUnit.adoptInstead(MeasureUnit::createGigabit(status));
+ measureUnitValue = MeasureUnit::getGigabit();
+ measureUnit.adoptInstead(MeasureUnit::createGigabyte(status));
+ measureUnitValue = MeasureUnit::getGigabyte();
+ measureUnit.adoptInstead(MeasureUnit::createKilobit(status));
+ measureUnitValue = MeasureUnit::getKilobit();
+ measureUnit.adoptInstead(MeasureUnit::createKilobyte(status));
+ measureUnitValue = MeasureUnit::getKilobyte();
+ measureUnit.adoptInstead(MeasureUnit::createMegabit(status));
+ measureUnitValue = MeasureUnit::getMegabit();
+ measureUnit.adoptInstead(MeasureUnit::createMegabyte(status));
+ measureUnitValue = MeasureUnit::getMegabyte();
+ measureUnit.adoptInstead(MeasureUnit::createPetabyte(status));
+ measureUnitValue = MeasureUnit::getPetabyte();
+ measureUnit.adoptInstead(MeasureUnit::createTerabit(status));
+ measureUnitValue = MeasureUnit::getTerabit();
+ measureUnit.adoptInstead(MeasureUnit::createTerabyte(status));
+ measureUnitValue = MeasureUnit::getTerabyte();
+ measureUnit.adoptInstead(MeasureUnit::createCentury(status));
+ measureUnitValue = MeasureUnit::getCentury();
+ measureUnit.adoptInstead(MeasureUnit::createDay(status));
+ measureUnitValue = MeasureUnit::getDay();
+ measureUnit.adoptInstead(MeasureUnit::createHour(status));
+ measureUnitValue = MeasureUnit::getHour();
+ measureUnit.adoptInstead(MeasureUnit::createMicrosecond(status));
+ measureUnitValue = MeasureUnit::getMicrosecond();
+ measureUnit.adoptInstead(MeasureUnit::createMillisecond(status));
+ measureUnitValue = MeasureUnit::getMillisecond();
+ measureUnit.adoptInstead(MeasureUnit::createMinute(status));
+ measureUnitValue = MeasureUnit::getMinute();
+ measureUnit.adoptInstead(MeasureUnit::createMonth(status));
+ measureUnitValue = MeasureUnit::getMonth();
+ measureUnit.adoptInstead(MeasureUnit::createNanosecond(status));
+ measureUnitValue = MeasureUnit::getNanosecond();
+ measureUnit.adoptInstead(MeasureUnit::createSecond(status));
+ measureUnitValue = MeasureUnit::getSecond();
+ measureUnit.adoptInstead(MeasureUnit::createWeek(status));
+ measureUnitValue = MeasureUnit::getWeek();
+ measureUnit.adoptInstead(MeasureUnit::createYear(status));
+ measureUnitValue = MeasureUnit::getYear();
+ measureUnit.adoptInstead(MeasureUnit::createAmpere(status));
+ measureUnitValue = MeasureUnit::getAmpere();
+ measureUnit.adoptInstead(MeasureUnit::createMilliampere(status));
+ measureUnitValue = MeasureUnit::getMilliampere();
+ measureUnit.adoptInstead(MeasureUnit::createOhm(status));
+ measureUnitValue = MeasureUnit::getOhm();
+ measureUnit.adoptInstead(MeasureUnit::createVolt(status));
+ measureUnitValue = MeasureUnit::getVolt();
+ measureUnit.adoptInstead(MeasureUnit::createCalorie(status));
+ measureUnitValue = MeasureUnit::getCalorie();
+ measureUnit.adoptInstead(MeasureUnit::createFoodcalorie(status));
+ measureUnitValue = MeasureUnit::getFoodcalorie();
+ measureUnit.adoptInstead(MeasureUnit::createJoule(status));
+ measureUnitValue = MeasureUnit::getJoule();
+ measureUnit.adoptInstead(MeasureUnit::createKilocalorie(status));
+ measureUnitValue = MeasureUnit::getKilocalorie();
+ measureUnit.adoptInstead(MeasureUnit::createKilojoule(status));
+ measureUnitValue = MeasureUnit::getKilojoule();
+ measureUnit.adoptInstead(MeasureUnit::createKilowattHour(status));
+ measureUnitValue = MeasureUnit::getKilowattHour();
+ measureUnit.adoptInstead(MeasureUnit::createGigahertz(status));
+ measureUnitValue = MeasureUnit::getGigahertz();
+ measureUnit.adoptInstead(MeasureUnit::createHertz(status));
+ measureUnitValue = MeasureUnit::getHertz();
+ measureUnit.adoptInstead(MeasureUnit::createKilohertz(status));
+ measureUnitValue = MeasureUnit::getKilohertz();
+ measureUnit.adoptInstead(MeasureUnit::createMegahertz(status));
+ measureUnitValue = MeasureUnit::getMegahertz();
+ measureUnit.adoptInstead(MeasureUnit::createAstronomicalUnit(status));
+ measureUnitValue = MeasureUnit::getAstronomicalUnit();
+ measureUnit.adoptInstead(MeasureUnit::createCentimeter(status));
+ measureUnitValue = MeasureUnit::getCentimeter();
+ measureUnit.adoptInstead(MeasureUnit::createDecimeter(status));
+ measureUnitValue = MeasureUnit::getDecimeter();
+ measureUnit.adoptInstead(MeasureUnit::createFathom(status));
+ measureUnitValue = MeasureUnit::getFathom();
+ measureUnit.adoptInstead(MeasureUnit::createFoot(status));
+ measureUnitValue = MeasureUnit::getFoot();
+ measureUnit.adoptInstead(MeasureUnit::createFurlong(status));
+ measureUnitValue = MeasureUnit::getFurlong();
+ measureUnit.adoptInstead(MeasureUnit::createInch(status));
+ measureUnitValue = MeasureUnit::getInch();
+ measureUnit.adoptInstead(MeasureUnit::createKilometer(status));
+ measureUnitValue = MeasureUnit::getKilometer();
+ measureUnit.adoptInstead(MeasureUnit::createLightYear(status));
+ measureUnitValue = MeasureUnit::getLightYear();
+ measureUnit.adoptInstead(MeasureUnit::createMeter(status));
+ measureUnitValue = MeasureUnit::getMeter();
+ measureUnit.adoptInstead(MeasureUnit::createMicrometer(status));
+ measureUnitValue = MeasureUnit::getMicrometer();
+ measureUnit.adoptInstead(MeasureUnit::createMile(status));
+ measureUnitValue = MeasureUnit::getMile();
+ measureUnit.adoptInstead(MeasureUnit::createMileScandinavian(status));
+ measureUnitValue = MeasureUnit::getMileScandinavian();
+ measureUnit.adoptInstead(MeasureUnit::createMillimeter(status));
+ measureUnitValue = MeasureUnit::getMillimeter();
+ measureUnit.adoptInstead(MeasureUnit::createNanometer(status));
+ measureUnitValue = MeasureUnit::getNanometer();
+ measureUnit.adoptInstead(MeasureUnit::createNauticalMile(status));
+ measureUnitValue = MeasureUnit::getNauticalMile();
+ measureUnit.adoptInstead(MeasureUnit::createParsec(status));
+ measureUnitValue = MeasureUnit::getParsec();
+ measureUnit.adoptInstead(MeasureUnit::createPicometer(status));
+ measureUnitValue = MeasureUnit::getPicometer();
+ measureUnit.adoptInstead(MeasureUnit::createPoint(status));
+ measureUnitValue = MeasureUnit::getPoint();
+ measureUnit.adoptInstead(MeasureUnit::createYard(status));
+ measureUnitValue = MeasureUnit::getYard();
+ measureUnit.adoptInstead(MeasureUnit::createLux(status));
+ measureUnitValue = MeasureUnit::getLux();
+ measureUnit.adoptInstead(MeasureUnit::createCarat(status));
+ measureUnitValue = MeasureUnit::getCarat();
+ measureUnit.adoptInstead(MeasureUnit::createGram(status));
+ measureUnitValue = MeasureUnit::getGram();
+ measureUnit.adoptInstead(MeasureUnit::createKilogram(status));
+ measureUnitValue = MeasureUnit::getKilogram();
+ measureUnit.adoptInstead(MeasureUnit::createMetricTon(status));
+ measureUnitValue = MeasureUnit::getMetricTon();
+ measureUnit.adoptInstead(MeasureUnit::createMicrogram(status));
+ measureUnitValue = MeasureUnit::getMicrogram();
+ measureUnit.adoptInstead(MeasureUnit::createMilligram(status));
+ measureUnitValue = MeasureUnit::getMilligram();
+ measureUnit.adoptInstead(MeasureUnit::createOunce(status));
+ measureUnitValue = MeasureUnit::getOunce();
+ measureUnit.adoptInstead(MeasureUnit::createOunceTroy(status));
+ measureUnitValue = MeasureUnit::getOunceTroy();
+ measureUnit.adoptInstead(MeasureUnit::createPound(status));
+ measureUnitValue = MeasureUnit::getPound();
+ measureUnit.adoptInstead(MeasureUnit::createStone(status));
+ measureUnitValue = MeasureUnit::getStone();
+ measureUnit.adoptInstead(MeasureUnit::createTon(status));
+ measureUnitValue = MeasureUnit::getTon();
+ measureUnit.adoptInstead(MeasureUnit::createGigawatt(status));
+ measureUnitValue = MeasureUnit::getGigawatt();
+ measureUnit.adoptInstead(MeasureUnit::createHorsepower(status));
+ measureUnitValue = MeasureUnit::getHorsepower();
+ measureUnit.adoptInstead(MeasureUnit::createKilowatt(status));
+ measureUnitValue = MeasureUnit::getKilowatt();
+ measureUnit.adoptInstead(MeasureUnit::createMegawatt(status));
+ measureUnitValue = MeasureUnit::getMegawatt();
+ measureUnit.adoptInstead(MeasureUnit::createMilliwatt(status));
+ measureUnitValue = MeasureUnit::getMilliwatt();
+ measureUnit.adoptInstead(MeasureUnit::createWatt(status));
+ measureUnitValue = MeasureUnit::getWatt();
+ measureUnit.adoptInstead(MeasureUnit::createAtmosphere(status));
+ measureUnitValue = MeasureUnit::getAtmosphere();
+ measureUnit.adoptInstead(MeasureUnit::createHectopascal(status));
+ measureUnitValue = MeasureUnit::getHectopascal();
+ measureUnit.adoptInstead(MeasureUnit::createInchHg(status));
+ measureUnitValue = MeasureUnit::getInchHg();
+ measureUnit.adoptInstead(MeasureUnit::createMillibar(status));
+ measureUnitValue = MeasureUnit::getMillibar();
+ measureUnit.adoptInstead(MeasureUnit::createMillimeterOfMercury(status));
+ measureUnitValue = MeasureUnit::getMillimeterOfMercury();
+ measureUnit.adoptInstead(MeasureUnit::createPoundPerSquareInch(status));
+ measureUnitValue = MeasureUnit::getPoundPerSquareInch();
+ measureUnit.adoptInstead(MeasureUnit::createKilometerPerHour(status));
+ measureUnitValue = MeasureUnit::getKilometerPerHour();
+ measureUnit.adoptInstead(MeasureUnit::createKnot(status));
+ measureUnitValue = MeasureUnit::getKnot();
+ measureUnit.adoptInstead(MeasureUnit::createMeterPerSecond(status));
+ measureUnitValue = MeasureUnit::getMeterPerSecond();
+ measureUnit.adoptInstead(MeasureUnit::createMilePerHour(status));
+ measureUnitValue = MeasureUnit::getMilePerHour();
+ measureUnit.adoptInstead(MeasureUnit::createCelsius(status));
+ measureUnitValue = MeasureUnit::getCelsius();
+ measureUnit.adoptInstead(MeasureUnit::createFahrenheit(status));
+ measureUnitValue = MeasureUnit::getFahrenheit();
+ measureUnit.adoptInstead(MeasureUnit::createGenericTemperature(status));
+ measureUnitValue = MeasureUnit::getGenericTemperature();
+ measureUnit.adoptInstead(MeasureUnit::createKelvin(status));
+ measureUnitValue = MeasureUnit::getKelvin();
+ measureUnit.adoptInstead(MeasureUnit::createAcreFoot(status));
+ measureUnitValue = MeasureUnit::getAcreFoot();
+ measureUnit.adoptInstead(MeasureUnit::createBushel(status));
+ measureUnitValue = MeasureUnit::getBushel();
+ measureUnit.adoptInstead(MeasureUnit::createCentiliter(status));
+ measureUnitValue = MeasureUnit::getCentiliter();
+ measureUnit.adoptInstead(MeasureUnit::createCubicCentimeter(status));
+ measureUnitValue = MeasureUnit::getCubicCentimeter();
+ measureUnit.adoptInstead(MeasureUnit::createCubicFoot(status));
+ measureUnitValue = MeasureUnit::getCubicFoot();
+ measureUnit.adoptInstead(MeasureUnit::createCubicInch(status));
+ measureUnitValue = MeasureUnit::getCubicInch();
+ measureUnit.adoptInstead(MeasureUnit::createCubicKilometer(status));
+ measureUnitValue = MeasureUnit::getCubicKilometer();
+ measureUnit.adoptInstead(MeasureUnit::createCubicMeter(status));
+ measureUnitValue = MeasureUnit::getCubicMeter();
+ measureUnit.adoptInstead(MeasureUnit::createCubicMile(status));
+ measureUnitValue = MeasureUnit::getCubicMile();
+ measureUnit.adoptInstead(MeasureUnit::createCubicYard(status));
+ measureUnitValue = MeasureUnit::getCubicYard();
+ measureUnit.adoptInstead(MeasureUnit::createCup(status));
+ measureUnitValue = MeasureUnit::getCup();
+ measureUnit.adoptInstead(MeasureUnit::createCupMetric(status));
+ measureUnitValue = MeasureUnit::getCupMetric();
+ measureUnit.adoptInstead(MeasureUnit::createDeciliter(status));
+ measureUnitValue = MeasureUnit::getDeciliter();
+ measureUnit.adoptInstead(MeasureUnit::createFluidOunce(status));
+ measureUnitValue = MeasureUnit::getFluidOunce();
+ measureUnit.adoptInstead(MeasureUnit::createGallon(status));
+ measureUnitValue = MeasureUnit::getGallon();
+ measureUnit.adoptInstead(MeasureUnit::createGallonImperial(status));
+ measureUnitValue = MeasureUnit::getGallonImperial();
+ measureUnit.adoptInstead(MeasureUnit::createHectoliter(status));
+ measureUnitValue = MeasureUnit::getHectoliter();
+ measureUnit.adoptInstead(MeasureUnit::createLiter(status));
+ measureUnitValue = MeasureUnit::getLiter();
+ measureUnit.adoptInstead(MeasureUnit::createMegaliter(status));
+ measureUnitValue = MeasureUnit::getMegaliter();
+ measureUnit.adoptInstead(MeasureUnit::createMilliliter(status));
+ measureUnitValue = MeasureUnit::getMilliliter();
+ measureUnit.adoptInstead(MeasureUnit::createPint(status));
+ measureUnitValue = MeasureUnit::getPint();
+ measureUnit.adoptInstead(MeasureUnit::createPintMetric(status));
+ measureUnitValue = MeasureUnit::getPintMetric();
+ measureUnit.adoptInstead(MeasureUnit::createQuart(status));
+ measureUnitValue = MeasureUnit::getQuart();
+ measureUnit.adoptInstead(MeasureUnit::createTablespoon(status));
+ measureUnitValue = MeasureUnit::getTablespoon();
+ measureUnit.adoptInstead(MeasureUnit::createTeaspoon(status));
+ measureUnitValue = MeasureUnit::getTeaspoon();
+ assertSuccess("", status);
+}
+
void MeasureFormatTest::TestBasic() {
UErrorCode status = U_ZERO_ERROR;
MeasureUnit *ptr1 = MeasureUnit::createArcMinute(status);
diff --git a/icu4c/source/test/intltest/numbertest_api.cpp b/icu4c/source/test/intltest/numbertest_api.cpp
index b413a20..910818e 100644
--- a/icu4c/source/test/intltest/numbertest_api.cpp
+++ b/icu4c/source/test/intltest/numbertest_api.cpp
@@ -430,7 +430,7 @@
assertFormatDescending(
u"Meters Short and unit() method",
u"measure-unit/length-meter",
- NumberFormatter::with().unit(METER),
+ NumberFormatter::with().unit(MeasureUnit::getMeter()),
Locale::getEnglish(),
u"87,650 m",
u"8,765 m",
diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java
index 4efc18a..c843e9a 100644
--- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java
+++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java
@@ -70,7 +70,7 @@
if (first == null || second == null) {
throw new IllegalArgumentException("OrderedPair.of requires non null values.");
}
- return new OrderedPair<F, S>(first, second);
+ return new OrderedPair<>(first, second);
}
@Override
@@ -85,9 +85,9 @@
private static final String[] DRAFT_VERSIONS = {"61", "62", "63"};
- private static final HashSet<String> DRAFT_VERSION_SET = new HashSet<String>();
+ private static final HashSet<String> DRAFT_VERSION_SET = new HashSet<>();
- private static final HashSet<String> TIME_CODES = new HashSet<String>();
+ private static final HashSet<String> TIME_CODES = new HashSet<>();
private static final String[][] JAVA_VERSIONS = {
{"G_FORCE", "53"},
@@ -231,7 +231,7 @@
{"ATMOSPHERE", "63"},
};
- private static final HashMap<String, String> JAVA_VERSION_MAP = new HashMap<String, String>();
+ private static final HashMap<String, String> JAVA_VERSION_MAP = new HashMap<>();
static {
TIME_CODES.add("year");
@@ -1616,7 +1616,7 @@
}
static void assertUnique(Collection<?> coll) {
- int expectedSize = new HashSet<Object>(coll).size();
+ int expectedSize = new HashSet<>(coll).size();
int actualSize = coll.size();
assertEquals("Collection should contain only unique elements", expectedSize, actualSize);
}
@@ -1966,14 +1966,14 @@
@Test
public void testOldFormatWithList() {
- List<Measure> measures = new ArrayList<Measure>(2);
+ List<Measure> measures = new ArrayList<>(2);
measures.add(new Measure(5, MeasureUnit.ACRE));
measures.add(new Measure(3000, MeasureUnit.SQUARE_FOOT));
MeasureFormat fmt = MeasureFormat.getInstance(
ULocale.ENGLISH, FormatWidth.WIDE);
assertEquals("", "5 acres, 3,000 square feet", fmt.format(measures));
assertEquals("", "5 acres", fmt.format(measures.subList(0, 1)));
- List<String> badList = new ArrayList<String>();
+ List<String> badList = new ArrayList<>();
badList.add("be");
badList.add("you");
try {
@@ -2148,7 +2148,7 @@
@Test
public void testCLDRUnitAvailability() {
- Set<MeasureUnit> knownUnits = new HashSet<MeasureUnit>();
+ Set<MeasureUnit> knownUnits = new HashSet<>();
Class cMeasureUnit, cTimeUnit;
try {
cMeasureUnit = Class.forName("com.ibm.icu.util.MeasureUnit");
@@ -2198,8 +2198,8 @@
static Map<MeasureUnit, Pair<MeasureUnit, MeasureUnit>> getUnitsToPerParts() {
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
Map<MeasureUnit, Pair<String, String>> unitsToPerStrings =
- new HashMap<MeasureUnit, Pair<String, String>>();
- Map<String, MeasureUnit> namesToUnits = new HashMap<String, MeasureUnit>();
+ new HashMap<>();
+ Map<String, MeasureUnit> namesToUnits = new HashMap<>();
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
String type = entry.getKey();
// Currency types are always atomic units, so we can skip these
@@ -2217,7 +2217,7 @@
}
}
Map<MeasureUnit, Pair<MeasureUnit, MeasureUnit>> unitsToPerUnits =
- new HashMap<MeasureUnit, Pair<MeasureUnit, MeasureUnit>>();
+ new HashMap<>();
for (Map.Entry<MeasureUnit, Pair<String, String>> entry : unitsToPerStrings.entrySet()) {
Pair<String, String> perStrings = entry.getValue();
MeasureUnit unit = namesToUnits.get(perStrings.first);
@@ -2232,7 +2232,7 @@
// DO NOT DELETE THIS FUNCTION! It may appear as dead code, but we use this to generate code
// for MeasureFormat during the release process.
static void generateCXXHConstants(String thisVersion) {
- Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
+ Map<String, MeasureUnit> seen = new HashMap<>();
System.out.println();
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
@@ -2249,8 +2249,9 @@
System.out.println("#ifndef U_HIDE_DRAFT_API");
}
System.out.println(" /**");
- System.out.println(" * Returns unit of " + type + ": " + code + ".");
+ System.out.println(" * Returns by pointer, unit of " + type + ": " + code + ".");
System.out.println(" * Caller owns returned value and must free it.");
+ System.out.printf(" * Also see {@link #get%s()}.\n", name);
System.out.println(" * @param status ICU error code.");
if (isDraft(javaName)) {
System.out.println(" * @draft ICU " + getVersion(javaName, thisVersion));
@@ -2259,6 +2260,19 @@
}
System.out.println(" */");
System.out.printf(" static MeasureUnit *create%s(UErrorCode &status);\n", name);
+ System.out.println();
+ System.out.println(" /**");
+ System.out.println(" * Returns by value, unit of " + type + ": " + code + ".");
+ System.out.printf(" * Also see {@link #create%s()}.\n", name);
+ // TODO: When the get* methods become stable in ICU 66, update their
+ // @draft code to be more like that for the create* methods above.
+ String getterVersion = getVersion(javaName, thisVersion);
+ if (Integer.valueOf(getterVersion) < 64) {
+ getterVersion = "64";
+ }
+ System.out.println(" * @draft ICU " + getterVersion);
+ System.out.println(" */");
+ System.out.printf(" static MeasureUnit get%s();\n", name);
if (isDraft(javaName)) {
System.out.println("#endif /* U_HIDE_DRAFT_API */");
}
@@ -2280,7 +2294,7 @@
// for MeasureFormat during the release process.
static void updateJAVAVersions(String thisVersion) {
System.out.println();
- Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
+ Map<String, MeasureUnit> seen = new HashMap<>();
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
String type = entry.getKey();
@@ -2298,9 +2312,9 @@
}
static TreeMap<String, List<MeasureUnit>> getAllUnits() {
- TreeMap<String, List<MeasureUnit>> allUnits = new TreeMap<String, List<MeasureUnit>>();
+ TreeMap<String, List<MeasureUnit>> allUnits = new TreeMap<>();
for (String type : MeasureUnit.getAvailableTypes()) {
- ArrayList<MeasureUnit> units = new ArrayList<MeasureUnit>(MeasureUnit.getAvailable(type));
+ ArrayList<MeasureUnit> units = new ArrayList<>(MeasureUnit.getAvailable(type));
Collections.sort(
units,
new Comparator<MeasureUnit>() {
@@ -2366,9 +2380,9 @@
first = true;
int offset = 0;
int typeIdx = 0;
- Map<MeasureUnit, Integer> measureUnitToOffset = new HashMap<MeasureUnit, Integer>();
+ Map<MeasureUnit, Integer> measureUnitToOffset = new HashMap<>();
Map<MeasureUnit, Pair<Integer, Integer>> measureUnitToTypeSubType =
- new HashMap<MeasureUnit, Pair<Integer, Integer>>();
+ new HashMap<>();
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
int subTypeIdx = 0;
for (MeasureUnit unit : entry.getValue()) {
@@ -2395,7 +2409,7 @@
// Build unit per unit offsets to corresponding type sub types sorted by
// unit first and then per unit.
TreeMap<OrderedPair<Integer, Integer>, Pair<Integer, Integer>> unitPerUnitOffsetsToTypeSubType
- = new TreeMap<OrderedPair<Integer, Integer>, Pair<Integer, Integer>>();
+ = new TreeMap<>();
for (Map.Entry<MeasureUnit, Pair<MeasureUnit, MeasureUnit>> entry
: getUnitsToPerParts().entrySet()) {
Pair<MeasureUnit, MeasureUnit> unitPerUnit = entry.getValue();
@@ -2433,7 +2447,7 @@
System.out.println("static const int32_t kBaseSubTypeIdx = " + baseSubTypeIdx + ";");
System.out.println();
- Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
+ Map<String, MeasureUnit> seen = new HashMap<>();
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
String type = entry.getKey();
@@ -2452,6 +2466,11 @@
typeSubType.first, typeSubType.second);
System.out.println("}");
System.out.println();
+ System.out.printf("MeasureUnit MeasureUnit::get%s() {\n", name);
+ System.out.printf(" return MeasureUnit(%d, %d);\n",
+ typeSubType.first, typeSubType.second);
+ System.out.println("}");
+ System.out.println();
}
}
}
@@ -2491,7 +2510,7 @@
// DO NOT DELETE THIS FUNCTION! It may appear as dead code, but we use this to generate code
// for MeasureFormat during the release process.
static void generateBackwardCompatibilityTest(String version) {
- Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
+ Map<String, MeasureUnit> seen = new HashMap<>();
System.out.println();
System.out.printf(" public void TestCompatible%s() {\n", version.replace(".", "_"));
System.out.println(" MeasureUnit[] units = {");
@@ -2517,10 +2536,11 @@
// for MeasureFormat during the release process.
static void generateCXXBackwardCompatibilityTest(String version) {
System.out.println();
- Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
+ Map<String, MeasureUnit> seen = new HashMap<>();
System.out.printf("void MeasureFormatTest::TestCompatible%s() {\n", version.replace(".", "_"));
System.out.println(" UErrorCode status = U_ZERO_ERROR;");
System.out.println(" LocalPointer<MeasureUnit> measureUnit;");
+ System.out.println(" MeasureUnit measureUnitValue;");
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
if (isTypeHidden(entry.getKey())) {
@@ -2530,6 +2550,7 @@
String camelCase = toCamelCase(unit);
checkForDup(seen, camelCase, unit);
System.out.printf(" measureUnit.adoptInstead(MeasureUnit::create%s(status));\n", camelCase);
+ System.out.printf(" measureUnitValue = MeasureUnit::get%s();\n", camelCase);
}
}
System.out.println(" assertSuccess(\"\", status);");
@@ -2560,7 +2581,7 @@
// for MeasureFormat during the release process.
static void generateConstants(String thisVersion) {
System.out.println();
- Map<String, MeasureUnit> seen = new HashMap<String, MeasureUnit>();
+ Map<String, MeasureUnit> seen = new HashMap<>();
TreeMap<String, List<MeasureUnit>> allUnits = getAllUnits();
for (Map.Entry<String, List<MeasureUnit>> entry : allUnits.entrySet()) {
String type = entry.getKey();