00001 /* 00002 ******************************************************************************** 00003 * Copyright © {1997-1999}, International Business Machines Corporation and others. All Rights Reserved. 00004 ******************************************************************************** 00005 * 00006 * File FORMAT.H 00007 * 00008 * Modification History: 00009 * 00010 * Date Name Description 00011 * 02/19/97 aliu Converted from java. 00012 * 03/17/97 clhuang Updated per C++ implementation. 00013 * 03/27/97 helena Updated to pass the simple test after code review. 00014 ******************************************************************************** 00015 */ 00016 // ***************************************************************************** 00017 // This file was generated from the java source file Format.java 00018 // ***************************************************************************** 00019 00020 #ifndef FORMAT_H 00021 #define FORMAT_H 00022 00023 00024 #include "unicode/utypes.h" 00025 #include "unicode/unistr.h" 00026 #include "unicode/fmtable.h" 00027 #include "unicode/fieldpos.h" 00028 #include "unicode/parsepos.h" 00029 00082 class U_I18N_API Format { 00083 public: 00084 00085 virtual ~Format(); 00086 00092 virtual UBool operator==(const Format& other) const = 0; 00093 00099 UBool operator!=(const Format& other) const { return !operator==(other); } 00100 00106 virtual Format* clone() const = 0; 00107 00118 UnicodeString& format(const Formattable& obj, 00119 UnicodeString& result, 00120 UErrorCode& status) const; 00121 00138 virtual UnicodeString& format(const Formattable& obj, 00139 UnicodeString& toAppendTo, 00140 FieldPosition& pos, 00141 UErrorCode& status) const = 0; 00142 00182 virtual void parseObject(const UnicodeString& source, 00183 Formattable& result, 00184 ParsePosition& parse_pos) const = 0; 00185 00198 void parseObject(const UnicodeString& source, 00199 Formattable& result, 00200 UErrorCode& status) const; 00201 00219 virtual UClassID getDynamicClassID() const = 0; 00220 00221 protected: 00226 Format(); 00227 00231 Format(const Format&); // Does nothing; for subclasses only 00232 00236 Format& operator=(const Format&); // Does nothing; for subclasses 00237 }; 00238 00239 #endif // _FORMAT 00240 //eof