ICU 73.2  73.2
currunit.h
Go to the documentation of this file.
00001 // © 2016 and later: Unicode, Inc. and others.
00002 // License & terms of use: http://www.unicode.org/copyright.html
00003 /*
00004 **********************************************************************
00005 * Copyright (c) 2004-2014, International Business Machines
00006 * Corporation and others.  All Rights Reserved.
00007 **********************************************************************
00008 * Author: Alan Liu
00009 * Created: April 26, 2004
00010 * Since: ICU 3.0
00011 **********************************************************************
00012 */
00013 #ifndef __CURRENCYUNIT_H__
00014 #define __CURRENCYUNIT_H__
00015 
00016 #include "unicode/utypes.h"
00017 
00018 #if U_SHOW_CPLUSPLUS_API
00019 
00020 #if !UCONFIG_NO_FORMATTING
00021 
00022 #include "unicode/measunit.h"
00023 
00029 U_NAMESPACE_BEGIN
00030 
00039 class U_I18N_API CurrencyUnit: public MeasureUnit {
00040  public:
00045     CurrencyUnit();
00046 
00057     CurrencyUnit(ConstChar16Ptr isoCode, UErrorCode &ec);
00058 
00068     CurrencyUnit(StringPiece isoCode, UErrorCode &ec);
00069 
00074     CurrencyUnit(const CurrencyUnit& other);
00075 
00084     CurrencyUnit(const MeasureUnit& measureUnit, UErrorCode &ec);
00085 
00090     CurrencyUnit& operator=(const CurrencyUnit& other);
00091 
00097     virtual CurrencyUnit* clone() const override;
00098 
00103     virtual ~CurrencyUnit();
00104 
00113     virtual UClassID getDynamicClassID() const override;
00114 
00121     static UClassID U_EXPORT2 getStaticClassID();
00122 
00127     inline const char16_t* getISOCurrency() const;
00128 
00129  private:
00133     char16_t isoCode[4];
00134 };
00135 
00136 inline const char16_t* CurrencyUnit::getISOCurrency() const {
00137     return isoCode;
00138 }
00139 
00140 U_NAMESPACE_END
00141 
00142 #endif // !UCONFIG_NO_FORMATTING
00143 
00144 #endif /* U_SHOW_CPLUSPLUS_API */
00145 
00146 #endif // __CURRENCYUNIT_H__