Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Side by Side Diff: public/i18n/unicode/tmutamt.h

Issue 19417002: Move ICU header part 2 (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/icu46/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « public/i18n/unicode/tmunit.h ('k') | public/i18n/unicode/tmutfmt.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 *******************************************************************************
3 * Copyright (C) 2009-2010, Google, International Business Machines Corporation and *
4 * others. All Rights Reserved. *
5 *******************************************************************************
6 */
7
8 #ifndef __TMUTAMT_H__
9 #define __TMUTAMT_H__
10
11
12 /**
13 * \file
14 * \brief C++ API: time unit amount object.
15 */
16
17 #include "unicode/measure.h"
18 #include "unicode/tmunit.h"
19
20 #if !UCONFIG_NO_FORMATTING
21
22 U_NAMESPACE_BEGIN
23
24
25 /**
26 * Express a duration as a time unit and number. Patterned after Currency.
27 * @see TimeUnitAmount
28 * @see TimeUnitFormat
29 * @stable ICU 4.2
30 */
31 class U_I18N_API TimeUnitAmount: public Measure {
32 public:
33 /**
34 * Construct TimeUnitAmount object with the given number and the
35 * given time unit.
36 * @param number a numeric object; number.isNumeric() must be TRUE
37 * @param timeUnitField the time unit field of a time unit
38 * @param status the input-output error code.
39 * If the number is not numeric or the timeUnitField
40 * is not valid,
41 * then this will be set to a failing value:
42 * U_ILLEGAL_ARGUMENT_ERROR.
43 * @stable ICU 4.2
44 */
45 TimeUnitAmount(const Formattable& number,
46 TimeUnit::UTimeUnitFields timeUnitField,
47 UErrorCode& status);
48
49 /**
50 * Construct TimeUnitAmount object with the given numeric amount and the
51 * given time unit.
52 * @param amount a numeric amount.
53 * @param timeUnitField the time unit field on which a time unit amount
54 * object will be created.
55 * @param status the input-output error code.
56 * If the timeUnitField is not valid,
57 * then this will be set to a failing value:
58 * U_ILLEGAL_ARGUMENT_ERROR.
59 * @stable ICU 4.2
60 */
61 TimeUnitAmount(double amount, TimeUnit::UTimeUnitFields timeUnitField,
62 UErrorCode& status);
63
64
65 /**
66 * Copy constructor
67 * @stable ICU 4.2
68 */
69 TimeUnitAmount(const TimeUnitAmount& other);
70
71
72 /**
73 * Assignment operator
74 * @stable ICU 4.2
75 */
76 TimeUnitAmount& operator=(const TimeUnitAmount& other);
77
78
79 /**
80 * Clone.
81 * @return a polymorphic clone of this object. The result will have the same class as returned by getDynamicClassID().
82 * @stable ICU 4.2
83 */
84 virtual UObject* clone() const;
85
86
87 /**
88 * Destructor
89 * @stable ICU 4.2
90 */
91 virtual ~TimeUnitAmount();
92
93
94 /**
95 * Equality operator.
96 * @param other the object to compare to.
97 * @return true if this object is equal to the given object.
98 * @stable ICU 4.2
99 */
100 virtual UBool operator==(const UObject& other) const;
101
102
103 /**
104 * Not-equality operator.
105 * @param other the object to compare to.
106 * @return true if this object is not equal to the given object.
107 * @stable ICU 4.2
108 */
109 UBool operator!=(const UObject& other) const;
110
111
112 /**
113 * Return the class ID for this class. This is useful only for comparing to
114 * a return value from getDynamicClassID(). For example:
115 * <pre>
116 * . Base* polymorphic_pointer = createPolymorphicObject();
117 * . if (polymorphic_pointer->getDynamicClassID() ==
118 * . erived::getStaticClassID()) ...
119 * </pre>
120 * @return The class ID for all objects of this class.
121 * @stable ICU 4.2
122 */
123 static UClassID U_EXPORT2 getStaticClassID(void);
124
125
126 /**
127 * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This
128 * method is to implement a simple version of RTTI, since not all C++
129 * compilers support genuine RTTI. Polymorphic operator==() and clone()
130 * methods call this method.
131 *
132 * @return The class ID for this object. All objects of a
133 * given class have the same class ID. Objects of
134 * other classes have different class IDs.
135 * @stable ICU 4.2
136 */
137 virtual UClassID getDynamicClassID(void) const;
138
139
140 /**
141 * Get the time unit.
142 * @return time unit object.
143 * @stable ICU 4.2
144 */
145 const TimeUnit& getTimeUnit() const;
146
147 /**
148 * Get the time unit field value.
149 * @return time unit field value.
150 * @stable ICU 4.2
151 */
152 TimeUnit::UTimeUnitFields getTimeUnitField() const;
153 };
154
155
156
157 inline UBool
158 TimeUnitAmount::operator!=(const UObject& other) const {
159 return !operator==(other);
160 }
161
162 U_NAMESPACE_END
163
164 #endif /* #if !UCONFIG_NO_FORMATTING */
165
166 #endif // __TMUTAMT_H__
167 //eof
168 //
OLDNEW
« no previous file with comments | « public/i18n/unicode/tmunit.h ('k') | public/i18n/unicode/tmutfmt.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698