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