| calendar.h | | calendar.h | |
| | | | |
| skipping to change at line 176 | | skipping to change at line 176 | |
| public: | | public: | |
| | | | |
| /** | | /** | |
| * Field IDs for date and time. Used to specify date/time fields. ERA i
s calendar | | * Field IDs for date and time. Used to specify date/time fields. ERA i
s calendar | |
| * specific. Example ranges given are for illustration only; see specif
ic Calendar | | * specific. Example ranges given are for illustration only; see specif
ic Calendar | |
| * subclasses for actual ranges. | | * subclasses for actual ranges. | |
| * @deprecated ICU 2.6. Use C enum UCalendarDateFields defined in ucal.
h | | * @deprecated ICU 2.6. Use C enum UCalendarDateFields defined in ucal.
h | |
| */ | | */ | |
| enum EDateFields { | | enum EDateFields { | |
| #ifndef U_HIDE_DEPRECATED_API | | #ifndef U_HIDE_DEPRECATED_API | |
|
| | | /* | |
| | | * ERA may be defined on other platforms. To avoid any potential problems u | |
| | | ndefined it here. | |
| | | */ | |
| | | #ifdef ERA | |
| | | #undef ERA | |
| | | #endif | |
| ERA, // Example: 0..1 | | ERA, // Example: 0..1 | |
| YEAR, // Example: 1..big number | | YEAR, // Example: 1..big number | |
| MONTH, // Example: 0..11 | | MONTH, // Example: 0..11 | |
| WEEK_OF_YEAR, // Example: 1..53 | | WEEK_OF_YEAR, // Example: 1..53 | |
| WEEK_OF_MONTH, // Example: 1..4 | | WEEK_OF_MONTH, // Example: 1..4 | |
| DATE, // Example: 1..31 | | DATE, // Example: 1..31 | |
| DAY_OF_YEAR, // Example: 1..365 | | DAY_OF_YEAR, // Example: 1..365 | |
| DAY_OF_WEEK, // Example: 1..7 | | DAY_OF_WEEK, // Example: 1..7 | |
| DAY_OF_WEEK_IN_MONTH, // Example: 1..4, may be specified as -1 | | DAY_OF_WEEK_IN_MONTH, // Example: 1..4, may be specified as -1 | |
| AM_PM, // Example: 0..1 | | AM_PM, // Example: 0..1 | |
| HOUR, // Example: 0..11 | | HOUR, // Example: 0..11 | |
| HOUR_OF_DAY, // Example: 0..23 | | HOUR_OF_DAY, // Example: 0..23 | |
| MINUTE, // Example: 0..59 | | MINUTE, // Example: 0..59 | |
| SECOND, // Example: 0..59 | | SECOND, // Example: 0..59 | |
| MILLISECOND, // Example: 0..999 | | MILLISECOND, // Example: 0..999 | |
| ZONE_OFFSET, // Example: -12*U_MILLIS_PER_HOUR..12*U_MILLI
S_PER_HOUR | | ZONE_OFFSET, // Example: -12*U_MILLIS_PER_HOUR..12*U_MILLI
S_PER_HOUR | |
| DST_OFFSET, // Example: 0 or U_MILLIS_PER_HOUR | | DST_OFFSET, // Example: 0 or U_MILLIS_PER_HOUR | |
| YEAR_WOY, // 'Y' Example: 1..big number - Year of Week
of Year | | YEAR_WOY, // 'Y' Example: 1..big number - Year of Week
of Year | |
| DOW_LOCAL, // 'e' Example: 1..7 - Day of Week / Localize
d | | DOW_LOCAL, // 'e' Example: 1..7 - Day of Week / Localize
d | |
| | | | |
|
| EXTENDED_YEAR, | | EXTENDED_YEAR, | |
| JULIAN_DAY, | | JULIAN_DAY, | |
| MILLISECONDS_IN_DAY, | | MILLISECONDS_IN_DAY, | |
| IS_LEAP_MONTH, | | IS_LEAP_MONTH, | |
| | | | |
| FIELD_COUNT = UCAL_FIELD_COUNT // See ucal.h for other fields. | | FIELD_COUNT = UCAL_FIELD_COUNT // See ucal.h for other fields. | |
| #endif /* U_HIDE_DEPRECATED_API */ | | #endif /* U_HIDE_DEPRECATED_API */ | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Useful constant for days of week. Note: Calendar day-of-week is 1-ba
sed. Clients | | * Useful constant for days of week. Note: Calendar day-of-week is 1-ba
sed. Clients | |
| * who create locale resources for the field of first-day-of-week shoul
d be aware of | | * who create locale resources for the field of first-day-of-week shoul
d be aware of | |
| * this. For instance, in US locale, first-day-of-week is set to 1, i.e
., SUNDAY. | | * this. For instance, in US locale, first-day-of-week is set to 1, i.e
., SUNDAY. | |
| * @deprecated ICU 2.6. Use C enum UCalendarDaysOfWeek defined in ucal.
h | | * @deprecated ICU 2.6. Use C enum UCalendarDaysOfWeek defined in ucal.
h | |
| | | | |
End of changes. 2 change blocks. |
| 4 lines changed or deleted | | 11 lines changed or added | |
|
| errorcode.h | | errorcode.h | |
| | | | |
| skipping to change at line 103 | | skipping to change at line 103 | |
| UBool isSuccess() const { return U_SUCCESS(errorCode); } | | UBool isSuccess() const { return U_SUCCESS(errorCode); } | |
| /** Tests for U_FAILURE(). @draft ICU 4.2 */ | | /** Tests for U_FAILURE(). @draft ICU 4.2 */ | |
| UBool isFailure() const { return U_FAILURE(errorCode); } | | UBool isFailure() const { return U_FAILURE(errorCode); } | |
| /** Returns the UErrorCode value. @draft ICU 4.2 */ | | /** Returns the UErrorCode value. @draft ICU 4.2 */ | |
| UErrorCode get() const { return errorCode; } | | UErrorCode get() const { return errorCode; } | |
| /** Sets the UErrorCode value. @draft ICU 4.2 */ | | /** Sets the UErrorCode value. @draft ICU 4.2 */ | |
| void set(UErrorCode value) { errorCode=value; } | | void set(UErrorCode value) { errorCode=value; } | |
| /** Returns the UErrorCode value and resets it to U_ZERO_ERROR. @draft
ICU 4.2 */ | | /** Returns the UErrorCode value and resets it to U_ZERO_ERROR. @draft
ICU 4.2 */ | |
| UErrorCode reset(); | | UErrorCode reset(); | |
| /** | | /** | |
|
| * Checks for a failure code: | | * Asserts isSuccess(). | |
| | | * In other words, this method checks for a failure code, | |
| | | * and the base class handles it like this: | |
| * \code | | * \code | |
| * if(isFailure()) { handleFailure(); } | | * if(isFailure()) { handleFailure(); } | |
| * \endcode | | * \endcode | |
|
| * @draft ICU 4.2 | | * @draft ICU 4.4 | |
| */ | | */ | |
|
| void check() const; | | void assertSuccess() const; | |
| | | | |
| protected: | | protected: | |
| /** | | /** | |
| * Internal UErrorCode, accessible to subclasses. | | * Internal UErrorCode, accessible to subclasses. | |
| * @draft ICU 4.2 | | * @draft ICU 4.2 | |
| */ | | */ | |
| UErrorCode errorCode; | | UErrorCode errorCode; | |
| /** | | /** | |
|
| * Called by check() if isFailure() is true. | | * Called by assertSuccess() if isFailure() is true. | |
| * A subclass should override this function to deal with a failure code
: | | * A subclass should override this function to deal with a failure code
: | |
| * Throw an exception, log an error, terminate the program, or similar. | | * Throw an exception, log an error, terminate the program, or similar. | |
| * @draft ICU 4.2 | | * @draft ICU 4.2 | |
| */ | | */ | |
| virtual void handleFailure() const {} | | virtual void handleFailure() const {} | |
| }; | | }; | |
| | | | |
| U_NAMESPACE_END | | U_NAMESPACE_END | |
| | | | |
| #endif // __ERRORCODE_H__ | | #endif // __ERRORCODE_H__ | |
| | | | |
End of changes. 4 change blocks. |
| 4 lines changed or deleted | | 6 lines changed or added | |
|
| platform.h | | platform.h | |
| | | | |
| skipping to change at line 278 | | skipping to change at line 278 | |
| | | | |
| /** @} */ | | /** @} */ | |
| | | | |
| /** | | /** | |
| * @{ | | * @{ | |
| * \def U_DECLARE_UTF16 | | * \def U_DECLARE_UTF16 | |
| * Do not use this macro. Use the UNICODE_STRING or U_STRING_DECL macros | | * Do not use this macro. Use the UNICODE_STRING or U_STRING_DECL macros | |
| * instead. | | * instead. | |
| * @internal | | * @internal | |
| */ | | */ | |
|
| | | #ifndef U_GNUC_UTF16_STRING | |
| | | #define U_GNUC_UTF16_STRING 0 | |
| | | #endif | |
| #if 1 || defined(U_CHECK_UTF16_STRING) | | #if 1 || defined(U_CHECK_UTF16_STRING) | |
| #if (defined(__xlC__) && defined(__IBM_UTF_LITERAL) && U_SIZEOF_WCHAR_T !=
2) \ | | #if (defined(__xlC__) && defined(__IBM_UTF_LITERAL) && U_SIZEOF_WCHAR_T !=
2) \ | |
| || (defined(__HP_aCC) && __HP_aCC >= 035000) \ | | || (defined(__HP_aCC) && __HP_aCC >= 035000) \ | |
|
| || (defined(__HP_cc) && __HP_cc >= 111106) | | || (defined(__HP_cc) && __HP_cc >= 111106) \ | |
| | | || U_GNUC_UTF16_STRING | |
| #define U_DECLARE_UTF16(string) u ## string | | #define U_DECLARE_UTF16(string) u ## string | |
| #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) | | #elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) | |
| /* || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x580) */ | | /* || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x580) */ | |
| /* Sun's C compiler has issues with this notation, and it's unreliable. */ | | /* Sun's C compiler has issues with this notation, and it's unreliable. */ | |
| #define U_DECLARE_UTF16(string) U ## string | | #define U_DECLARE_UTF16(string) U ## string | |
| #elif U_SIZEOF_WCHAR_T == 2 \ | | #elif U_SIZEOF_WCHAR_T == 2 \ | |
| && (U_CHARSET_FAMILY == 0 || ((defined(OS390) || defined(OS400)) && def
ined(__UCS2__))) | | && (U_CHARSET_FAMILY == 0 || ((defined(OS390) || defined(OS400)) && def
ined(__UCS2__))) | |
| #define U_DECLARE_UTF16(string) L ## string | | #define U_DECLARE_UTF16(string) L ## string | |
| #endif | | #endif | |
| #endif | | #endif | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 5 lines changed or added | |
|
| tmutfmt.h | | tmutfmt.h | |
| /* | | /* | |
| **************************************************************************
***** | | **************************************************************************
***** | |
|
| * Copyright (C) 2008, Google, International Business Machines Corporation
and * | | * Copyright (C) 2009, Google, International Business Machines Corporation
and * | |
| * others. All Rights Reserved.
* | | * others. All Rights Reserved.
* | |
| **************************************************************************
***** | | **************************************************************************
***** | |
| */ | | */ | |
| | | | |
| #ifndef __TMUTFMT_H__ | | #ifndef __TMUTFMT_H__ | |
| #define __TMUTFMT_H__ | | #define __TMUTFMT_H__ | |
| | | | |
| #include "unicode/utypes.h" | | #include "unicode/utypes.h" | |
| | | | |
| /** | | /** | |
| | | | |
| skipping to change at line 40 | | skipping to change at line 40 | |
| | | | |
| union UHashTok; | | union UHashTok; | |
| | | | |
| U_NAMESPACE_BEGIN | | U_NAMESPACE_BEGIN | |
| | | | |
| U_CDECL_BEGIN | | U_CDECL_BEGIN | |
| | | | |
| /** | | /** | |
| * @internal ICU 4.2 | | * @internal ICU 4.2 | |
| */ | | */ | |
|
| static UBool U_CALLCONV hashTableValueComparator(UHashTok val1, UHashTok va
l2) ; | | UBool U_CALLCONV tmutfmtHashTableValueComparator(UHashTok val1, UHashTok va
l2) ; | |
| | | | |
| U_CDECL_END | | U_CDECL_END | |
| | | | |
| class Hashtable; | | class Hashtable; | |
| | | | |
| /** | | /** | |
| * Format or parse a TimeUnitAmount, using plural rules for the units where
available. | | * Format or parse a TimeUnitAmount, using plural rules for the units where
available. | |
| * | | * | |
| * <P> | | * <P> | |
| * Code Sample: | | * Code Sample: | |
| | | | |
| skipping to change at line 226 | | skipping to change at line 226 | |
| */ | | */ | |
| virtual UClassID getDynamicClassID(void) const; | | virtual UClassID getDynamicClassID(void) const; | |
| | | | |
| private: | | private: | |
| NumberFormat* fNumberFormat; | | NumberFormat* fNumberFormat; | |
| Locale fLocale; | | Locale fLocale; | |
| Hashtable* fTimeUnitToCountToPatterns[TimeUnit::UTIMEUNIT_FIELD_COUN
T]; | | Hashtable* fTimeUnitToCountToPatterns[TimeUnit::UTIMEUNIT_FIELD_COUN
T]; | |
| PluralRules* fPluralRules; | | PluralRules* fPluralRules; | |
| EStyle fStyle; | | EStyle fStyle; | |
| | | | |
|
| friend UBool U_CALLCONV hashTableValueComparator(UHashTok val1, UHashTo
k val2); | | friend UBool U_CALLCONV tmutfmtHashTableValueComparator(UHashTok val1,
UHashTok val2); | |
| | | | |
| void create(const Locale& locale, EStyle style, UErrorCode& status); | | void create(const Locale& locale, EStyle style, UErrorCode& status); | |
| | | | |
| // it might actually be simpler to make them Decimal Formats later. | | // it might actually be simpler to make them Decimal Formats later. | |
| // initialize all private data members | | // initialize all private data members | |
| void setup(UErrorCode& status); | | void setup(UErrorCode& status); | |
| | | | |
| // initialize data member without fill in data for fTimeUnitToCountToPa
ttern | | // initialize data member without fill in data for fTimeUnitToCountToPa
ttern | |
| void initDataMembers(UErrorCode& status); | | void initDataMembers(UErrorCode& status); | |
| | | | |
| | | | |
End of changes. 3 change blocks. |
| 3 lines changed or deleted | | 3 lines changed or added | |
|
| uclean.h | | uclean.h | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| *
* | | *
* | |
|
| * Copyright (C) 2001-2005, International Business Machines
* | | * Copyright (C) 2001-2009, International Business Machines
* | |
| * Corporation and others. All Rights Reserved.
* | | * Corporation and others. All Rights Reserved.
* | |
| *
* | | *
* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| * file name: uclean.h | | * file name: uclean.h | |
| * encoding: US-ASCII | | * encoding: US-ASCII | |
| * tab size: 8 (not used) | | * tab size: 8 (not used) | |
| * indentation:4 | | * indentation:4 | |
| * | | * | |
| * created on: 2001July05 | | * created on: 2001July05 | |
| * created by: George Rhoten | | * created by: George Rhoten | |
| | | | |
| skipping to change at line 27 | | skipping to change at line 27 | |
| #ifndef __UCLEAN_H__ | | #ifndef __UCLEAN_H__ | |
| #define __UCLEAN_H__ | | #define __UCLEAN_H__ | |
| | | | |
| #include "unicode/utypes.h" | | #include "unicode/utypes.h" | |
| /** | | /** | |
| * \file | | * \file | |
| * \brief C API: Initialize and clean up ICU | | * \brief C API: Initialize and clean up ICU | |
| */ | | */ | |
| | | | |
| /** | | /** | |
|
| * Initialize ICU. The description further below applies to ICU 2.6 to ICU | | * Initialize ICU. | |
| 3.4. | | * | |
| * Starting with ICU 3.4, u_init() needs not be called any more for | | * Use of this function is optional. It is OK to simply use ICU | |
| * ensuring thread safety, but it can give an indication for whether ICU | | * services and functions without first having initialized | |
| * can load its data. In ICU 3.4, it will try to load the converter alias | | * ICU by calling u_init(). | |
| table | | * | |
| * (cnvalias.icu) and give an error code if that fails. | | * u_init() will attempt to load some part of ICU's data, and is | |
| * This may change in the future. | | * useful as a test for configuration or installation problems that | |
| * <p> | | * leave the ICU data inaccessible. A successful invocation of u_init() | |
| * For ensuring the availability of necessary data, an application should | | * does not, however, guarantee that all ICU data is accessible. | |
| * open the service objects (converters, collators, etc.) that it will use | | * | |
| * and check for error codes there. | | * Multiple calls to u_init() cause no harm, aside from the small amount | |
| * <p> | | * of time required. | |
| * Documentation for ICU 2.6 to ICU 3.4: | | * | |
| * <p> | | * In old versions of ICU, u_init() was required in multi-threaded applica | |
| * This function loads and initializes data items | | tions | |
| * that are required internally by various ICU functions. Use of this exp | | * to ensure the thread safety of ICU. u_init() is no longer needed for t | |
| licit | | his purpose. | |
| * initialization is required in multi-threaded applications; in | | | |
| * single threaded apps, use is optional, but incurs little additional | | | |
| * cost, and is thus recommended. | | | |
| * <p> | | | |
| * In multi-threaded applications, u_init() should be called in the | | | |
| * main thread before starting additional threads, or, alternatively | | | |
| * it can be called in each individual thread once, before other ICU | | | |
| * functions are called in that thread. In this second scenario, the | | | |
| * application must guarantee that the first call to u_init() happen | | | |
| * without contention, in a single thread only. | | | |
| * <p> | | | |
| * If <code>u_setMemoryFunctions()</code> or | | | |
| * <code>u_setMutexFunctions</code> are needed (uncommon), they must be | | | |
| * called _before_ <code>u_init()</code>. | | | |
| * <p> | | | |
| * Extra, repeated, or otherwise unneeded calls to u_init() do no harm, | | | |
| * other than taking a small amount of time. | | | |
| * | | * | |
| * @param status An ICU UErrorCode parameter. It must not be <code>NULL</co
de>. | | * @param status An ICU UErrorCode parameter. It must not be <code>NULL</co
de>. | |
| * An Error will be returned if some required part of ICU data can not | | * An Error will be returned if some required part of ICU data can not | |
| * be loaded or initialized. | | * be loaded or initialized. | |
| * The function returns immediately if the input error code indicates a | | * The function returns immediately if the input error code indicates a | |
| * failure, as usual. | | * failure, as usual. | |
| * | | * | |
| * @stable ICU 2.6 | | * @stable ICU 2.6 | |
| */ | | */ | |
| U_STABLE void U_EXPORT2 | | U_STABLE void U_EXPORT2 | |
| | | | |
End of changes. 2 change blocks. |
| 36 lines changed or deleted | | 19 lines changed or added | |
|
| udata.h | | udata.h | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| * | | * | |
|
| * Copyright (C) 1999-2008, International Business Machines | | * Copyright (C) 1999-2009, International Business Machines | |
| * Corporation and others. All Rights Reserved. | | * Corporation and others. All Rights Reserved. | |
| * | | * | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| * file name: udata.h | | * file name: udata.h | |
| * encoding: US-ASCII | | * encoding: US-ASCII | |
| * tab size: 8 (not used) | | * tab size: 8 (not used) | |
| * indentation:4 | | * indentation:4 | |
| * | | * | |
| * created on: 1999oct25 | | * created on: 1999oct25 | |
| * created by: Markus W. Scherer | | * created by: Markus W. Scherer | |
| | | | |
| skipping to change at line 374 | | skipping to change at line 374 | |
| UDATA_PACKAGES_FIRST, | | UDATA_PACKAGES_FIRST, | |
| /** ICU does not access the file system for data loading. */ | | /** ICU does not access the file system for data loading. */ | |
| UDATA_NO_FILES, | | UDATA_NO_FILES, | |
| /** An alias for the default access mode. */ | | /** An alias for the default access mode. */ | |
| UDATA_DEFAULT_ACCESS = UDATA_FILES_FIRST, | | UDATA_DEFAULT_ACCESS = UDATA_FILES_FIRST, | |
| UDATA_FILE_ACCESS_COUNT | | UDATA_FILE_ACCESS_COUNT | |
| } UDataFileAccess; | | } UDataFileAccess; | |
| | | | |
| /** | | /** | |
| * This function may be called to control how ICU loads data. It must be ca
lled | | * This function may be called to control how ICU loads data. It must be ca
lled | |
|
| * before any ICU data is loaded, including application data loaded with ur | | * before any ICU data is loaded, including application data loaded with | |
| es/ResourceBundle or | | * ures/ResourceBundle or udata APIs. This function is not multithread safe | |
| * udata APIs. It should be called before u_init. This function is not mul | | . | |
| tithread safe. | | | |
| * The results of calling it while other threads are loading data are undef
ined. | | * The results of calling it while other threads are loading data are undef
ined. | |
| * @param access The type of file access to be used | | * @param access The type of file access to be used | |
| * @param status Error code. | | * @param status Error code. | |
| * @see UDataFileAccess | | * @see UDataFileAccess | |
| * @stable ICU 3.4 | | * @stable ICU 3.4 | |
| */ | | */ | |
| U_STABLE void U_EXPORT2 | | U_STABLE void U_EXPORT2 | |
| udata_setFileAccess(UDataFileAccess access, UErrorCode *status); | | udata_setFileAccess(UDataFileAccess access, UErrorCode *status); | |
| | | | |
| U_CDECL_END | | U_CDECL_END | |
| | | | |
End of changes. 2 change blocks. |
| 5 lines changed or deleted | | 4 lines changed or added | |
|
| umachine.h | | umachine.h | |
| /* | | /* | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| * | | * | |
|
| * Copyright (C) 1999-2008, International Business Machines | | * Copyright (C) 1999-2009, International Business Machines | |
| * Corporation and others. All Rights Reserved. | | * Corporation and others. All Rights Reserved. | |
| * | | * | |
| ***************************************************************************
*** | | ***************************************************************************
*** | |
| * file name: umachine.h | | * file name: umachine.h | |
| * encoding: US-ASCII | | * encoding: US-ASCII | |
| * tab size: 8 (not used) | | * tab size: 8 (not used) | |
| * indentation:4 | | * indentation:4 | |
| * | | * | |
| * created on: 1999sep13 | | * created on: 1999sep13 | |
| * created by: Markus W. Scherer | | * created by: Markus W. Scherer | |
| | | | |
| skipping to change at line 285 | | skipping to change at line 285 | |
| #endif | | #endif | |
| | | | |
| /* UChar and UChar32 definitions ------------------------------------------
-- */ | | /* UChar and UChar32 definitions ------------------------------------------
-- */ | |
| | | | |
| /** Number of bytes in a UChar. @stable ICU 2.0 */ | | /** Number of bytes in a UChar. @stable ICU 2.0 */ | |
| #define U_SIZEOF_UCHAR 2 | | #define U_SIZEOF_UCHAR 2 | |
| | | | |
| /** | | /** | |
| * \var UChar | | * \var UChar | |
| * Define UChar to be wchar_t if that is 16 bits wide; always assumed to be
unsigned. | | * Define UChar to be wchar_t if that is 16 bits wide; always assumed to be
unsigned. | |
|
| * If wchar_t is not 16 bits wide, then define UChar to be uint16_t. | | * If wchar_t is not 16 bits wide, then define UChar to be uint16_t or char | |
| | | 16_t because GCC >=4.4 | |
| | | * can handle UTF16 string literals. | |
| * This makes the definition of UChar platform-dependent | | * This makes the definition of UChar platform-dependent | |
| * but allows direct string type compatibility with platforms with | | * but allows direct string type compatibility with platforms with | |
| * 16-bit wchar_t types. | | * 16-bit wchar_t types. | |
| * | | * | |
|
| * @stable ICU 2.0 | | * @draft ICU 4.4 | |
| */ | | */ | |
| | | | |
| /* Define UChar to be compatible with wchar_t if possible. */ | | /* Define UChar to be compatible with wchar_t if possible. */ | |
| #if U_SIZEOF_WCHAR_T==2 | | #if U_SIZEOF_WCHAR_T==2 | |
| typedef wchar_t UChar; | | typedef wchar_t UChar; | |
|
| | | #elif U_GNUC_UTF16_STRING | |
| | | #if defined _GCC_ | |
| | | typedef __CHAR16_TYPE__ char16_t; | |
| | | #endif | |
| | | typedef char16_t UChar; | |
| #else | | #else | |
| typedef uint16_t UChar; | | typedef uint16_t UChar; | |
| #endif | | #endif | |
| | | | |
| /** | | /** | |
| * Define UChar32 as a type for single Unicode code points. | | * Define UChar32 as a type for single Unicode code points. | |
| * UChar32 is a signed 32-bit integer (same as int32_t). | | * UChar32 is a signed 32-bit integer (same as int32_t). | |
| * | | * | |
| * The Unicode code point range is 0..0x10ffff. | | * The Unicode code point range is 0..0x10ffff. | |
| * All other values (negative or >=0x110000) are illegal as Unicode code po
ints. | | * All other values (negative or >=0x110000) are illegal as Unicode code po
ints. | |
| | | | |
End of changes. 4 change blocks. |
| 3 lines changed or deleted | | 10 lines changed or added | |
|
| unistr.h | | unistr.h | |
| | | | |
| skipping to change at line 3234 | | skipping to change at line 3234 | |
| // A UnicodeString object (not necessarily its current buffer) | | // A UnicodeString object (not necessarily its current buffer) | |
| // is writable unless it isBogus() or it has an "open" getBuffer(minCapac
ity). | | // is writable unless it isBogus() or it has an "open" getBuffer(minCapac
ity). | |
| inline UBool isWritable() const; | | inline UBool isWritable() const; | |
| | | | |
| // Is the current buffer writable? | | // Is the current buffer writable? | |
| inline UBool isBufferWritable() const; | | inline UBool isBufferWritable() const; | |
| | | | |
| // None of the following does releaseArray(). | | // None of the following does releaseArray(). | |
| inline void setLength(int32_t len); // sets only fShortLength and
fLength | | inline void setLength(int32_t len); // sets only fShortLength and
fLength | |
| inline void setToEmpty(); // sets fFlags=kShortString | | inline void setToEmpty(); // sets fFlags=kShortString | |
|
| inline void setToStackBuffer(int32_t len); // sets fFlags=kShortString | | | |
| inline void setArray(UChar *array, int32_t len, int32_t capacity); // doe
s not set fFlags | | inline void setArray(UChar *array, int32_t len, int32_t capacity); // doe
s not set fFlags | |
| | | | |
| // allocate the array; result may be fStackBuffer | | // allocate the array; result may be fStackBuffer | |
| // sets refCount to 1 if appropriate | | // sets refCount to 1 if appropriate | |
| // sets fArray, fCapacity, and fFlags | | // sets fArray, fCapacity, and fFlags | |
| // returns boolean for success or failure | | // returns boolean for success or failure | |
| UBool allocate(int32_t capacity); | | UBool allocate(int32_t capacity); | |
| | | | |
| // release the array if owned | | // release the array if owned | |
| void releaseArray(void); | | void releaseArray(void); | |
| | | | |
| skipping to change at line 4135 | | skipping to change at line 4134 | |
| } | | } | |
| } | | } | |
| | | | |
| inline void | | inline void | |
| UnicodeString::setToEmpty() { | | UnicodeString::setToEmpty() { | |
| fShortLength = 0; | | fShortLength = 0; | |
| fFlags = kShortString; | | fFlags = kShortString; | |
| } | | } | |
| | | | |
| inline void | | inline void | |
|
| UnicodeString::setToStackBuffer(int32_t len) { | | | |
| fShortLength = (int8_t)len; | | | |
| fFlags = kShortString; | | | |
| } | | | |
| | | | |
| inline void | | | |
| UnicodeString::setArray(UChar *array, int32_t len, int32_t capacity) { | | UnicodeString::setArray(UChar *array, int32_t len, int32_t capacity) { | |
| setLength(len); | | setLength(len); | |
| fUnion.fFields.fArray = array; | | fUnion.fFields.fArray = array; | |
| fUnion.fFields.fCapacity = capacity; | | fUnion.fFields.fCapacity = capacity; | |
| } | | } | |
| | | | |
| inline const UChar * | | inline const UChar * | |
| UnicodeString::getTerminatedBuffer() { | | UnicodeString::getTerminatedBuffer() { | |
| if(!isWritable()) { | | if(!isWritable()) { | |
| return 0; | | return 0; | |
| } else { | | } else { | |
| UChar *array = getArrayStart(); | | UChar *array = getArrayStart(); | |
| int32_t len = length(); | | int32_t len = length(); | |
|
| #ifndef U_VALGRIND | | if(len < getCapacity()) { | |
| if(len < getCapacity() && array[len] == 0) { | | if(!(fFlags&kBufferIsReadonly)) { | |
| | | /* | |
| | | * We must not write to a readonly buffer, but it is known to be | |
| | | * NUL-terminated if len<capacity. | |
| | | * A shared, allocated buffer (refCount()>1) must not have its cont | |
| | | ents | |
| | | * modified, but the NUL at [len] is beyond the string contents, | |
| | | * and multiple string objects and threads writing the same NUL int | |
| | | o the | |
| | | * same location is harmless. | |
| | | * In all other cases, the buffer is fully writable and it is anywa | |
| | | y safe | |
| | | * to write the NUL. | |
| | | * | |
| | | * Note: An earlier version of this code tested whether there is a | |
| | | NUL | |
| | | * at [len] already, but, while safe, it generated lots of warnings | |
| | | from | |
| | | * tools like valgrind and Purify. | |
| | | */ | |
| | | array[len] = 0; | |
| | | } | |
| return array; | | return array; | |
|
| } | | } else if(cloneArrayIfNeeded(len+1)) { | |
| #endif | | | |
| if(cloneArrayIfNeeded(len+1)) { | | | |
| array = getArrayStart(); | | array = getArrayStart(); | |
| array[len] = 0; | | array[len] = 0; | |
| return array; | | return array; | |
| } else { | | } else { | |
| return 0; | | return 0; | |
| } | | } | |
| } | | } | |
| } | | } | |
| | | | |
| inline UnicodeString& | | inline UnicodeString& | |
| | | | |
End of changes. 4 change blocks. |
| 12 lines changed or deleted | | 24 lines changed or added | |
|
| ures.h | | ures.h | |
| | | | |
| skipping to change at line 85 | | skipping to change at line 85 | |
| | | | |
| /** | | /** | |
| * Resource type constant for aliases; | | * Resource type constant for aliases; | |
| * internally stores a string which identifies the actual resource | | * internally stores a string which identifies the actual resource | |
| * storing the data (can be in a different resource bundle). | | * storing the data (can be in a different resource bundle). | |
| * Resolved internally before delivering the actual resource through th
e API. | | * Resolved internally before delivering the actual resource through th
e API. | |
| * @stable ICU 2.6 | | * @stable ICU 2.6 | |
| */ | | */ | |
| URES_ALIAS=3, | | URES_ALIAS=3, | |
| | | | |
|
| #ifndef U_HIDE_INTERNAL_API | | | |
| | | | |
| /** | | | |
| * Internal use only. | | | |
| * Alternative resource type constant for tables of key-value pairs. | | | |
| * Never returned by ures_getType(). | | | |
| * @internal | | | |
| */ | | | |
| URES_TABLE32=4, | | | |
| | | | |
| #endif /* U_HIDE_INTERNAL_API */ | | | |
| | | | |
| /** | | /** | |
| * Resource type constant for a single 28-bit integer, interpreted as | | * Resource type constant for a single 28-bit integer, interpreted as | |
| * signed or unsigned by the ures_getInt() or ures_getUInt() function. | | * signed or unsigned by the ures_getInt() or ures_getUInt() function. | |
| * @see ures_getInt | | * @see ures_getInt | |
| * @see ures_getUInt | | * @see ures_getUInt | |
| * @stable ICU 2.6 | | * @stable ICU 2.6 | |
| */ | | */ | |
| URES_INT=7, | | URES_INT=7, | |
| | | | |
| /** Resource type constant for arrays of resources. @stable ICU 2.6 */ | | /** Resource type constant for arrays of resources. @stable ICU 2.6 */ | |
| | | | |
| skipping to change at line 418 | | skipping to change at line 406 | |
| /** | | /** | |
| * Returns a binary data from a binary resource. | | * Returns a binary data from a binary resource. | |
| * | | * | |
| * @param resourceBundle a string resource | | * @param resourceBundle a string resource | |
| * @param len fills in the length of resulting byte chunk | | * @param len fills in the length of resulting byte chunk | |
| * @param status fills in the outgoing error code | | * @param status fills in the outgoing error code | |
| * could be <TT>U_MISSING_RESOURCE_ERROR</TT> if the key is
not found | | * could be <TT>U_MISSING_RESOURCE_ERROR</TT> if the key is
not found | |
| * Always check the value of status. Don't count on returnin
g NULL. | | * Always check the value of status. Don't count on returnin
g NULL. | |
| * could be a non-failing error | | * could be a non-failing error | |
| * e.g.: <TT>U_USING_FALLBACK_WARNING</TT>,<TT>U_USING_DEFAU
LT_WARNING </TT> | | * e.g.: <TT>U_USING_FALLBACK_WARNING</TT>,<TT>U_USING_DEFAU
LT_WARNING </TT> | |
|
| * @return a pointer to a chuck of unsigned bytes which live in a memory ma
pped/DLL file. | | * @return a pointer to a chunk of unsigned bytes which live in a memory ma
pped/DLL file. | |
| * @see ures_getString | | * @see ures_getString | |
| * @see ures_getIntVector | | * @see ures_getIntVector | |
| * @see ures_getInt | | * @see ures_getInt | |
| * @see ures_getUInt | | * @see ures_getUInt | |
| * @stable ICU 2.0 | | * @stable ICU 2.0 | |
| */ | | */ | |
| U_STABLE const uint8_t* U_EXPORT2 | | U_STABLE const uint8_t* U_EXPORT2 | |
| ures_getBinary(const UResourceBundle* resourceBundle, | | ures_getBinary(const UResourceBundle* resourceBundle, | |
| int32_t* len, | | int32_t* len, | |
| UErrorCode* status); | | UErrorCode* status); | |
| | | | |
| skipping to change at line 440 | | skipping to change at line 428 | |
| /** | | /** | |
| * Returns a 32 bit integer array from a resource. | | * Returns a 32 bit integer array from a resource. | |
| * | | * | |
| * @param resourceBundle an int vector resource | | * @param resourceBundle an int vector resource | |
| * @param len fills in the length of resulting byte chunk | | * @param len fills in the length of resulting byte chunk | |
| * @param status fills in the outgoing error code | | * @param status fills in the outgoing error code | |
| * could be <TT>U_MISSING_RESOURCE_ERROR</TT> if the key is
not found | | * could be <TT>U_MISSING_RESOURCE_ERROR</TT> if the key is
not found | |
| * Always check the value of status. Don't count on returnin
g NULL. | | * Always check the value of status. Don't count on returnin
g NULL. | |
| * could be a non-failing error | | * could be a non-failing error | |
| * e.g.: <TT>U_USING_FALLBACK_WARNING</TT>,<TT>U_USING_DEFAU
LT_WARNING </TT> | | * e.g.: <TT>U_USING_FALLBACK_WARNING</TT>,<TT>U_USING_DEFAU
LT_WARNING </TT> | |
|
| * @return a pointer to a chunk of unsigned bytes which live in a memory ma
pped/DLL file. | | * @return a pointer to a chunk of integers which live in a memory mapped/D
LL file. | |
| * @see ures_getBinary | | * @see ures_getBinary | |
| * @see ures_getString | | * @see ures_getString | |
| * @see ures_getInt | | * @see ures_getInt | |
| * @see ures_getUInt | | * @see ures_getUInt | |
| * @stable ICU 2.0 | | * @stable ICU 2.0 | |
| */ | | */ | |
| U_STABLE const int32_t* U_EXPORT2 | | U_STABLE const int32_t* U_EXPORT2 | |
| ures_getIntVector(const UResourceBundle* resourceBundle, | | ures_getIntVector(const UResourceBundle* resourceBundle, | |
| int32_t* len, | | int32_t* len, | |
| UErrorCode* status); | | UErrorCode* status); | |
| | | | |
End of changes. 3 change blocks. |
| 14 lines changed or deleted | | 2 lines changed or added | |
|
| uversion.h | | uversion.h | |
| | | | |
| skipping to change at line 71 | | skipping to change at line 71 | |
| /** The current ICU major version as an integer. | | /** The current ICU major version as an integer. | |
| * This value will change in the subsequent releases of ICU | | * This value will change in the subsequent releases of ICU | |
| * @stable ICU 2.4 | | * @stable ICU 2.4 | |
| */ | | */ | |
| #define U_ICU_VERSION_MAJOR_NUM 4 | | #define U_ICU_VERSION_MAJOR_NUM 4 | |
| | | | |
| /** The current ICU minor version as an integer. | | /** The current ICU minor version as an integer. | |
| * This value will change in the subsequent releases of ICU | | * This value will change in the subsequent releases of ICU | |
| * @stable ICU 2.6 | | * @stable ICU 2.6 | |
| */ | | */ | |
|
| #define U_ICU_VERSION_MINOR_NUM 2 | | #define U_ICU_VERSION_MINOR_NUM 3 | |
| | | | |
| /** The current ICU patchlevel version as an integer. | | /** The current ICU patchlevel version as an integer. | |
| * This value will change in the subsequent releases of ICU | | * This value will change in the subsequent releases of ICU | |
| * @stable ICU 2.4 | | * @stable ICU 2.4 | |
| */ | | */ | |
| #define U_ICU_VERSION_PATCHLEVEL_NUM 1 | | #define U_ICU_VERSION_PATCHLEVEL_NUM 1 | |
| | | | |
| /** The current ICU build level version as an integer. | | /** The current ICU build level version as an integer. | |
| * This value is for use by ICU clients. It defaults to 0. | | * This value is for use by ICU clients. It defaults to 0. | |
| * @stable ICU 4.0 | | * @stable ICU 4.0 | |
| */ | | */ | |
| #ifndef U_ICU_VERSION_BUILDLEVEL_NUM | | #ifndef U_ICU_VERSION_BUILDLEVEL_NUM | |
| #define U_ICU_VERSION_BUILDLEVEL_NUM 0 | | #define U_ICU_VERSION_BUILDLEVEL_NUM 0 | |
| #endif | | #endif | |
| | | | |
| /** Glued version suffix for renamers | | /** Glued version suffix for renamers | |
| * This value will change in the subsequent releases of ICU | | * This value will change in the subsequent releases of ICU | |
| * @stable ICU 2.6 | | * @stable ICU 2.6 | |
| */ | | */ | |
|
| #define U_ICU_VERSION_SUFFIX _4_2 | | #define U_ICU_VERSION_SUFFIX _4_3 | |
| | | | |
|
| /** The current ICU library version as a dotted-decimal string. The patchle
vel and buildlevel | | /** The current ICU library version as a dotted-decimal string. The patchle
vel | |
| * only appears in this string if it non-zero. | | * only appears in this string if it non-zero. | |
| * This value will change in the subsequent releases of ICU | | * This value will change in the subsequent releases of ICU | |
| * @stable ICU 2.4 | | * @stable ICU 2.4 | |
| */ | | */ | |
|
| #define U_ICU_VERSION "4.2.1" | | #define U_ICU_VERSION "4.3.1" | |
| | | | |
| /** The current ICU library major/minor version as a string without dots, f
or library name suffixes. | | /** The current ICU library major/minor version as a string without dots, f
or library name suffixes. | |
| * This value will change in the subsequent releases of ICU | | * This value will change in the subsequent releases of ICU | |
| * @stable ICU 2.6 | | * @stable ICU 2.6 | |
| */ | | */ | |
|
| #define U_ICU_VERSION_SHORT "42" | | #define U_ICU_VERSION_SHORT "43" | |
| | | | |
| /** An ICU version consists of up to 4 numbers from 0..255. | | /** An ICU version consists of up to 4 numbers from 0..255. | |
| * @stable ICU 2.4 | | * @stable ICU 2.4 | |
| */ | | */ | |
| #define U_MAX_VERSION_LENGTH 4 | | #define U_MAX_VERSION_LENGTH 4 | |
| | | | |
| /** In a string, ICU version fields are delimited by dots. | | /** In a string, ICU version fields are delimited by dots. | |
| * @stable ICU 2.4 | | * @stable ICU 2.4 | |
| */ | | */ | |
| #define U_VERSION_DELIMITER '.' | | #define U_VERSION_DELIMITER '.' | |
| | | | |
| /** The maximum length of an ICU version string. | | /** The maximum length of an ICU version string. | |
| * @stable ICU 2.4 | | * @stable ICU 2.4 | |
| */ | | */ | |
| #define U_MAX_VERSION_STRING_LENGTH 20 | | #define U_MAX_VERSION_STRING_LENGTH 20 | |
| | | | |
| /** The binary form of a version on ICU APIs is an array of 4 uint8_t. | | /** The binary form of a version on ICU APIs is an array of 4 uint8_t. | |
|
| | | * To compare two versions, use memcmp(v1,v2,sizeof(UVersionInfo)). | |
| * @stable ICU 2.4 | | * @stable ICU 2.4 | |
| */ | | */ | |
| typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; | | typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; | |
| | | | |
| /*=========================================================================
==*/ | | /*=========================================================================
==*/ | |
| /* C++ namespace if supported. Versioned unless versioning is disabled.
*/ | | /* C++ namespace if supported. Versioned unless versioning is disabled.
*/ | |
| /*=========================================================================
==*/ | | /*=========================================================================
==*/ | |
| | | | |
| /** | | /** | |
| * \def U_NAMESPACE_BEGIN | | * \def U_NAMESPACE_BEGIN | |
| | | | |
| skipping to change at line 166 | | skipping to change at line 167 | |
| * If the compiler doesn't support namespaces, this does nothing. | | * If the compiler doesn't support namespaces, this does nothing. | |
| * @stable ICU 2.4 | | * @stable ICU 2.4 | |
| */ | | */ | |
| | | | |
| /* Define namespace symbols if the compiler supports it. */ | | /* Define namespace symbols if the compiler supports it. */ | |
| #if U_HAVE_NAMESPACE && defined(XP_CPLUSPLUS) | | #if U_HAVE_NAMESPACE && defined(XP_CPLUSPLUS) | |
| # if U_DISABLE_RENAMING | | # if U_DISABLE_RENAMING | |
| # define U_ICU_NAMESPACE icu | | # define U_ICU_NAMESPACE icu | |
| namespace U_ICU_NAMESPACE { } | | namespace U_ICU_NAMESPACE { } | |
| # else | | # else | |
|
| # define U_ICU_NAMESPACE icu_4_2 | | # define U_ICU_NAMESPACE icu_4_3 | |
| namespace U_ICU_NAMESPACE { } | | namespace U_ICU_NAMESPACE { } | |
| namespace icu = U_ICU_NAMESPACE; | | namespace icu = U_ICU_NAMESPACE; | |
| # endif | | # endif | |
| | | | |
| # define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE { | | # define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE { | |
| # define U_NAMESPACE_END } | | # define U_NAMESPACE_END } | |
| # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; | | # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; | |
| # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: | | # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: | |
| | | | |
| # ifndef U_USING_ICU_NAMESPACE | | # ifndef U_USING_ICU_NAMESPACE | |
| | | | |
| skipping to change at line 247 | | skipping to change at line 248 | |
| * Gets the ICU release version. The version array stores the version info
rmation | | * Gets the ICU release version. The version array stores the version info
rmation | |
| * for ICU. For example, release "1.3.31.2" is then represented as 0x01031
F02. | | * for ICU. For example, release "1.3.31.2" is then represented as 0x01031
F02. | |
| * Definition of this function lives in putil.c | | * Definition of this function lives in putil.c | |
| * | | * | |
| * @param versionArray the version # information, the result will be filled
in | | * @param versionArray the version # information, the result will be filled
in | |
| * @stable ICU 2.0 | | * @stable ICU 2.0 | |
| */ | | */ | |
| U_STABLE void U_EXPORT2 | | U_STABLE void U_EXPORT2 | |
| u_getVersion(UVersionInfo versionArray); | | u_getVersion(UVersionInfo versionArray); | |
| | | | |
|
| /** | | | |
| * Compare two version numbers, v1 and v2, numerically. | | | |
| * Returns 0 if v1 == v2 | | | |
| * Returns -1 if v1 < v2 (v1 is older, v2 is newer) | | | |
| * Returns +1 if v1 > v2 (v1 is newer, v2 is older) | | | |
| * @param v1 version to compare | | | |
| * @param v2 version to compare | | | |
| * @return comparison result | | | |
| * @draft ICU 4.2 | | | |
| */ | | | |
| U_STABLE int32_t U_EXPORT2 | | | |
| u_compareVersions(UVersionInfo v1, UVersionInfo v2); | | | |
| | | | |
| /*=========================================================================
== | | /*=========================================================================
== | |
| * ICU collation framework version information | | * ICU collation framework version information | |
| * Version info that can be obtained from a collator is affected by these | | * Version info that can be obtained from a collator is affected by these | |
| * numbers in a secret and magic way. Please use collator version as whole | | * numbers in a secret and magic way. Please use collator version as whole | |
| *=========================================================================
== | | *=========================================================================
== | |
| */ | | */ | |
| | | | |
| /** Collation runtime version (sort key generator, strcoll). | | /** Collation runtime version (sort key generator, strcoll). | |
| * If the version is different, sortkeys for the same string could be diffe
rent | | * If the version is different, sortkeys for the same string could be diffe
rent | |
| * version 2 was in ICU 1.8.1. changed is: compression intervals, French se
condary | | * version 2 was in ICU 1.8.1. changed is: compression intervals, French se
condary | |
| | | | |
End of changes. 8 change blocks. |
| 19 lines changed or deleted | | 7 lines changed or added | |
|