ICU 50.1.2  50.1.2
measure.h
Go to the documentation of this file.
1 /*
2 **********************************************************************
3 * Copyright (c) 2004-2006, 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 #ifndef __MEASURE_H__
12 #define __MEASURE_H__
13 
14 #include "unicode/utypes.h"
15 
21 #if !UCONFIG_NO_FORMATTING
22 
23 #include "unicode/fmtable.h"
24 
26 
27 class MeasureUnit;
28 
45 class U_I18N_API Measure: public UObject {
46  public:
57  Measure(const Formattable& number, MeasureUnit* adoptedUnit,
58  UErrorCode& ec);
59 
64  Measure(const Measure& other);
65 
70  Measure& operator=(const Measure& other);
71 
77  virtual UObject* clone() const = 0;
78 
83  virtual ~Measure();
84 
90  UBool operator==(const UObject& other) const;
91 
98  inline const Formattable& getNumber() const;
99 
104  inline const MeasureUnit& getUnit() const;
105 
106  protected:
111  Measure();
112 
113  private:
117  Formattable number;
118 
123  MeasureUnit* unit;
124 };
125 
126 inline const Formattable& Measure::getNumber() const {
127  return number;
128 }
129 
130 inline const MeasureUnit& Measure::getUnit() const {
131  return *unit;
132 }
133 
135 
136 #endif // !UCONFIG_NO_FORMATTING
137 #endif // __MEASURE_H__
A unit such as length, mass, volume, currency, etc.
Definition: measunit.h:36
An amount of a specified unit, consisting of a number and a Unit.
Definition: measure.h:45
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:358
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
UErrorCode
Error code to replace exception handling, so that the code is compatible with all C++ compilers...
Definition: utypes.h:476
Basic definitions for ICU, for both C and C++ APIs.
Formattable objects can be passed to the Format class or its subclasses for formatting.
Definition: fmtable.h:62
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:229
int8_t UBool
The ICU boolean type.
Definition: umachine.h:200
C++ API: Formattable is a thin wrapper for primitive numeric types.