intl/icu/source/i18n/currunit.cpp

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /*
     2 **********************************************************************
     3 * Copyright (c) 2004-2012, International Business Machines
     4 * Corporation and others.  All Rights Reserved.
     5 **********************************************************************
     6 * Author: Alan Liu
     7 * Created: April 26, 2004
     8 * Since: ICU 3.0
     9 **********************************************************************
    10 */
    11 #include "utypeinfo.h"  // for 'typeid' to work
    13 #include "unicode/utypes.h"
    15 #if !UCONFIG_NO_FORMATTING
    17 #include "unicode/currunit.h"
    18 #include "unicode/ustring.h"
    20 U_NAMESPACE_BEGIN
    22 CurrencyUnit::CurrencyUnit(const UChar* _isoCode, UErrorCode& ec) {
    23     *isoCode = 0;
    24     if (U_SUCCESS(ec)) {
    25         if (_isoCode && u_strlen(_isoCode)==3) {
    26             u_strcpy(isoCode, _isoCode);
    27         } else {
    28             ec = U_ILLEGAL_ARGUMENT_ERROR;
    29         }
    30     }
    31 }
    33 CurrencyUnit::CurrencyUnit(const CurrencyUnit& other) :
    34     MeasureUnit(other) {
    35     *this = other;
    36 }
    38 CurrencyUnit& CurrencyUnit::operator=(const CurrencyUnit& other) {
    39     if (this != &other) {
    40         u_strcpy(isoCode, other.isoCode);
    41     }
    42     return *this;
    43 }
    45 UObject* CurrencyUnit::clone() const {
    46     return new CurrencyUnit(*this);
    47 }
    49 CurrencyUnit::~CurrencyUnit() {
    50 }
    52 UBool CurrencyUnit::operator==(const UObject& other) const {
    53     const CurrencyUnit& c = (const CurrencyUnit&) other;
    54     return typeid(*this) == typeid(other) &&
    55         u_strcmp(isoCode, c.isoCode) == 0;    
    56 }
    58 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CurrencyUnit)
    60 U_NAMESPACE_END
    62 #endif // !UCONFIG_NO_FORMATTING

mercurial