185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho/* 285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho ******************************************************************************* 385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Copyright (C) 2008, Google, International Business Machines Corporation and * 485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * others. All Rights Reserved. * 585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho ******************************************************************************* 685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho */ 785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#include "unicode/tmutamt.h" 985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#if !UCONFIG_NO_FORMATTING 1185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1285bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoU_NAMESPACE_BEGIN 1385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1485bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoUOBJECT_DEFINE_RTTI_IMPLEMENTATION(TimeUnitAmount) 1585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 1785bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::TimeUnitAmount(const Formattable& number, 1885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho TimeUnit::UTimeUnitFields timeUnitField, 1985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho UErrorCode& status) 2085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho: Measure(number, TimeUnit::createInstance(timeUnitField, status), status) { 2185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 2285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 2385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 2485bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::TimeUnitAmount(double amount, 2585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho TimeUnit::UTimeUnitFields timeUnitField, 2685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho UErrorCode& status) 2785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho: Measure(Formattable(amount), 2885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho TimeUnit::createInstance(timeUnitField, status), 2985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho status) { 3085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 3185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 3285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 3385bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::TimeUnitAmount(const TimeUnitAmount& other) 3485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho: Measure(other) 3585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho{ 3685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 3785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 3885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 3985bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount& 4085bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::operator=(const TimeUnitAmount& other) { 4185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho Measure::operator=(other); 4285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho return *this; 4385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 4485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 4585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 4685bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoUBool 4785bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::operator==(const UObject& other) const { 4885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho return Measure::operator==(other); 4985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 5085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 5185bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoUObject* 5285bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::clone() const { 5385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho return new TimeUnitAmount(*this); 5485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 5585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 5685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 5785bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::~TimeUnitAmount() { 5885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 5985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoconst TimeUnit& 6385bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::getTimeUnit() const { 6485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho return (const TimeUnit&) getUnit(); 6585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 6685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 6885bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnit::UTimeUnitFields 6985bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoTimeUnitAmount::getTimeUnitField() const { 7085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho return getTimeUnit().getTimeUnitField(); 7185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} 7285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 7385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 7485bf2e2fbc60a9f938064abc8127d61da7d19882Claire HoU_NAMESPACE_END 7585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho 7685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#endif 77