icu/icu4c/source/i18n/curramt.cpp
Frank Tang 638acd0c38 ICU-21374 Add a CFI build bot for ICU4C
Add the github action bot to build with cfi
Also fix all the known issues which require the change from C style cast to
static_cast inside the i18n and common directory while we are sure about
the object. and use
C++ style dynamic_cast for base-to-derive cast in other code inside i18n
and common and in test code or tool.
Change to use const_cast for casting between const / non-const
2023-02-06 15:47:14 -08:00

56 lines
1.5 KiB
C++

// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
**********************************************************************
* Copyright (c) 2004, International Business Machines
* Corporation and others. All Rights Reserved.
**********************************************************************
* Author: Alan Liu
* Created: April 26, 2004
* Since: ICU 3.0
**********************************************************************
*/
#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "unicode/curramt.h"
#include "unicode/currunit.h"
U_NAMESPACE_BEGIN
CurrencyAmount::CurrencyAmount(const Formattable& amount, ConstChar16Ptr isoCode,
UErrorCode& ec) :
Measure(amount, new CurrencyUnit(isoCode, ec), ec) {
}
CurrencyAmount::CurrencyAmount(double amount, ConstChar16Ptr isoCode,
UErrorCode& ec) :
Measure(Formattable(amount), new CurrencyUnit(isoCode, ec), ec) {
}
CurrencyAmount::CurrencyAmount(const CurrencyAmount& other) :
Measure(other) {
}
CurrencyAmount& CurrencyAmount::operator=(const CurrencyAmount& other) {
Measure::operator=(other);
return *this;
}
CurrencyAmount* CurrencyAmount::clone() const {
return new CurrencyAmount(*this);
}
CurrencyAmount::~CurrencyAmount() {
}
const CurrencyUnit& CurrencyAmount::getCurrency() const {
return static_cast<const CurrencyUnit&>(getUnit());
}
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CurrencyAmount)
U_NAMESPACE_END
#endif // !UCONFIG_NO_FORMATTING