ICU-21936 Make the internal units converters public

See 
This commit is contained in:
Younies 2022-03-09 18:24:44 +00:00 committed by Younies Mahmoud
parent 77e0c9e371
commit bb822ba38a
2 changed files with 8 additions and 3 deletions
icu4c/source/i18n
icu4j/main/classes/core/src/com/ibm/icu/impl/units

View file

@ -108,13 +108,15 @@ class U_I18N_API ComplexUnitsConverter : public UMemory {
MaybeStackVector<Measure>
convert(double quantity, icu::number::impl::RoundingImpl *rounder, UErrorCode &status) const;
private:
// TODO(ICU-21937): Make it private after submitting the public units conversion API.
MaybeStackVector<UnitsConverter> unitsConverters_;
// TODO(ICU-21937): Make it private after submitting the public units conversion API.
// Individual units of mixed units, sorted big to small, with indices
// indicating the requested output mixed unit order.
MaybeStackVector<MeasureUnitImplWithIndex> units_;
private:
// Sorts units_, which must be populated before calling this, and populates
// unitsConverters_.
void init(const MeasureUnitImpl &inputUnit, const ConversionRates &ratesInfo, UErrorCode &status);

View file

@ -24,12 +24,15 @@ import com.ibm.icu.util.Measure;
public class ComplexUnitsConverter {
public static final BigDecimal EPSILON = BigDecimal.valueOf(Math.ulp(1.0));
public static final BigDecimal EPSILON_MULTIPLIER = BigDecimal.valueOf(1).add(EPSILON);
private ArrayList<UnitsConverter> unitsConverters_;
// TODO(ICU-21937): Make it private after submitting the public units conversion API.
public ArrayList<UnitsConverter> unitsConverters_;
/**
* Individual units of mixed units, sorted big to small, with indices
* indicating the requested output mixed unit order.
*/
private List<MeasureUnitImpl.MeasureUnitImplWithIndex> units_;
// TODO(ICU-21937): Make it private after submitting the public units conversion API.
public List<MeasureUnitImpl.MeasureUnitImplWithIndex> units_;
private MeasureUnitImpl inputUnit_;
/**