LESwaps.h   LESwaps.h 
/* /*
* *
* (C) Copyright IBM Corp. 1998-2010 - All Rights Reserved * (C) Copyright IBM Corp. 1998-2011 - All Rights Reserved
* *
*/ */
#ifndef __LESWAPS_H #ifndef __LESWAPS_H
#define __LESWAPS_H #define __LESWAPS_H
#include "LETypes.h" #include "LETypes.h"
/** /**
* \file * \file
skipping to change at line 48 skipping to change at line 48
* *
* All methods are static and inline in an attempt to induce the compiler * All methods are static and inline in an attempt to induce the compiler
* to do most of the calculations at compile time. * to do most of the calculations at compile time.
* *
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
class U_LAYOUT_API LESwaps /* not : public UObject because all methods are static */ { class U_LAYOUT_API LESwaps /* not : public UObject because all methods are static */ {
public: public:
/** /**
* This method does the byte swap required on little endian platforms * Reads a big-endian 16-bit word and returns a native-endian value.
* to correctly access a (16-bit) word. * No-op on a big-endian platform, byte-swaps on a little-endian platfo
rm.
* *
* @param value - the word to be byte swapped * @param value - the word to be byte swapped
* *
* @return the byte swapped word * @return the byte swapped word
* *
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
static le_uint16 swapWord(le_uint16 value) static le_uint16 swapWord(le_uint16 value)
{ {
return (le_uint16)((value << 8) | (value >> 8)); #if (defined(U_IS_BIG_ENDIAN) && U_IS_BIG_ENDIAN) || (defined(BYTE_ORDER) &
& defined(BIG_ENDIAN)) || defined(__BIG_ENDIAN__)
// Fastpath when we know that the platform is big-endian.
return value;
#else
// Reads a big-endian value on any platform.
const le_uint8 *p = reinterpret_cast<const le_uint8 *>(&value);
return (le_uint16)((p[0] << 8) | p[1]);
#endif
}; };
/** /**
* This method does the byte swapping required on little endian platfor * Reads a big-endian 32-bit word and returns a native-endian value.
ms * No-op on a big-endian platform, byte-swaps on a little-endian platfo
* to correctly access a (32-bit) long. rm.
* *
* @param value - the long to be byte swapped * @param value - the long to be byte swapped
* *
* @return the byte swapped long * @return the byte swapped long
* *
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
static le_uint32 swapLong(le_uint32 value) static le_uint32 swapLong(le_uint32 value)
{ {
return (le_uint32)( #if (defined(U_IS_BIG_ENDIAN) && U_IS_BIG_ENDIAN) || (defined(BYTE_ORDER) &
(value << 24) | & defined(BIG_ENDIAN)) || defined(__BIG_ENDIAN__)
((value << 8) & 0xff0000) | // Fastpath when we know that the platform is big-endian.
((value >> 8) & 0xff00) | return value;
(value >> 24)); #else
// Reads a big-endian value on any platform.
const le_uint8 *p = reinterpret_cast<const le_uint8 *>(&value);
return (le_uint32)((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]
);
#endif
}; };
private: private:
LESwaps() {} // private - forbid instantiation LESwaps() {} // private - forbid instantiation
}; };
U_NAMESPACE_END U_NAMESPACE_END
#endif #endif
 End of changes. 5 change blocks. 
12 lines changed or deleted 26 lines changed or added


 dcfmtsym.h   dcfmtsym.h 
/* /*
*************************************************************************** ***** *************************************************************************** *****
* Copyright (C) 1997-2010, International Business Machines * Copyright (C) 1997-2011, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** ***** *************************************************************************** *****
* *
* File DCFMTSYM.H * File DCFMTSYM.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/19/97 aliu Converted from java. * 02/19/97 aliu Converted from java.
* 03/18/97 clhuang Updated per C++ implementation. * 03/18/97 clhuang Updated per C++ implementation.
skipping to change at line 35 skipping to change at line 35
#ifndef DCFMTSYM_H #ifndef DCFMTSYM_H
#define DCFMTSYM_H #define DCFMTSYM_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#include "unicode/uchar.h" #include "unicode/uchar.h"
#if !UCONFIG_NO_FORMATTING #if !UCONFIG_NO_FORMATTING
#include "unicode/uobject.h" #include "unicode/uobject.h"
#include "unicode/locid.h" #include "unicode/locid.h"
#include "unum.h" #include "unicode/unum.h"
/** /**
* \file * \file
* \brief C++ API: Symbols for formatting numbers. * \brief C++ API: Symbols for formatting numbers.
*/ */
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* This class represents the set of symbols needed by DecimalFormat * This class represents the set of symbols needed by DecimalFormat
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 fmtable.h   fmtable.h 
/* /*
*************************************************************************** ***** *************************************************************************** *****
* Copyright (C) 1997-2010, International Business Machines * Copyright (C) 1997-2011, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** ***** *************************************************************************** *****
* *
* File FMTABLE.H * File FMTABLE.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/29/97 aliu Creation. * 02/29/97 aliu Creation.
*************************************************************************** ***** *************************************************************************** *****
skipping to change at line 603 skipping to change at line 603
inline int32_t getLong(UErrorCode* status) const; inline int32_t getLong(UErrorCode* status) const;
/** /**
* Internal function, do not use. * Internal function, do not use.
* TODO: figure out how to make this be non-public. * TODO: figure out how to make this be non-public.
* NumberFormat::format(Formattable, ... * NumberFormat::format(Formattable, ...
* needs to get at the DigitList, if it exists, for * needs to get at the DigitList, if it exists, for
* big decimal formatting. * big decimal formatting.
* @internal * @internal
*/ */
DigitList *getDigitList() const { return fDecimalNum;}; DigitList *getDigitList() const { return fDecimalNum;}
/** /**
* Adopt, and set value from, a DigitList * Adopt, and set value from, a DigitList
* Internal Function, do not use. * Internal Function, do not use.
* @param dl the Digit List to be adopted * @param dl the Digit List to be adopted
* @internal * @internal
*/ */
void adoptDigitList(DigitList *dl); void adoptDigitList(DigitList *dl);
private: private:
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 msgfmt.h   msgfmt.h 
skipping to change at line 989 skipping to change at line 989
UErrorCode& success) const; UErrorCode& success) const;
UnicodeString getArgName(int32_t partIndex); UnicodeString getArgName(int32_t partIndex);
void setArgStartFormat(int32_t argStart, Format* formatter, UErrorCode& status); void setArgStartFormat(int32_t argStart, Format* formatter, UErrorCode& status);
void setCustomArgStartFormat(int32_t argStart, Format* formatter, UErro rCode& status); void setCustomArgStartFormat(int32_t argStart, Format* formatter, UErro rCode& status);
int32_t nextTopLevelArgStart(int32_t partIndex) const; int32_t nextTopLevelArgStart(int32_t partIndex) const;
bool argNameMatches(int32_t partIndex, const UnicodeString& argName, in t32_t argNumber); UBool argNameMatches(int32_t partIndex, const UnicodeString& argName, i nt32_t argNumber);
void cacheExplicitFormats(UErrorCode& status); void cacheExplicitFormats(UErrorCode& status);
Format* createAppropriateFormat(UnicodeString& type, Format* createAppropriateFormat(UnicodeString& type,
UnicodeString& style, UnicodeString& style,
Formattable::Type& formattableType, Formattable::Type& formattableType,
UParseError& parseError, UParseError& parseError,
UErrorCode& ec); UErrorCode& ec);
const Formattable* getArgFromListByName(const Formattable* arguments, const Formattable* getArgFromListByName(const Formattable* arguments,
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 plurfmt.h   plurfmt.h 
skipping to change at line 486 skipping to change at line 486
* *
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
private: private:
/** /**
* @internal * @internal
*/ */
class PluralSelector : public UMemory { class U_I18N_API PluralSelector : public UMemory {
public: public:
/** /**
* Given a number, returns the appropriate PluralFormat keyword. * Given a number, returns the appropriate PluralFormat keyword.
* *
* @param number The number to be plural-formatted. * @param number The number to be plural-formatted.
* @param ec Error code. * @param ec Error code.
* @return The selected PluralFormat keyword. * @return The selected PluralFormat keyword.
*/ */
virtual UnicodeString select(double number, UErrorCode& ec) const = 0; virtual UnicodeString select(double number, UErrorCode& ec) const = 0;
}; };
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 pwin32.h   pwin32.h 
skipping to change at line 43 skipping to change at line 43
/** _MSC_VER is used to detect the Microsoft compiler. */ /** _MSC_VER is used to detect the Microsoft compiler. */
#if defined(_MSC_VER) #if defined(_MSC_VER)
#define U_INT64_IS_LONG_LONG 0 #define U_INT64_IS_LONG_LONG 0
#else #else
#define U_INT64_IS_LONG_LONG 1 #define U_INT64_IS_LONG_LONG 1
#endif #endif
/** Define whether inttypes.h is available */ /** Define whether inttypes.h is available */
#ifndef U_HAVE_INTTYPES_H #ifndef U_HAVE_INTTYPES_H
# if defined(__BORLANDC__) || defined(__MINGW32__) # if defined(__BORLANDC__)
# define U_HAVE_INTTYPES_H 1 # define U_HAVE_INTTYPES_H 1
# else # else
# define U_HAVE_INTTYPES_H 0 # define U_HAVE_INTTYPES_H 0
# endif # endif
#endif #endif
/** /**
* Define what support for C++ streams is available. * Define what support for C++ streams is available.
* If U_IOSTREAM_SOURCE is set to 199711, then &lt;iostream&gt; is avai lable * If U_IOSTREAM_SOURCE is set to 199711, then &lt;iostream&gt; is avai lable
* (1997711 is the date the ISO/IEC C++ FDIS was published), and then * (1997711 is the date the ISO/IEC C++ FDIS was published), and then
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 tmutfmt.h   tmutfmt.h 
skipping to change at line 28 skipping to change at line 28
#if !UCONFIG_NO_FORMATTING #if !UCONFIG_NO_FORMATTING
#include "unicode/unistr.h" #include "unicode/unistr.h"
#include "unicode/tmunit.h" #include "unicode/tmunit.h"
#include "unicode/tmutamt.h" #include "unicode/tmutamt.h"
#include "unicode/measfmt.h" #include "unicode/measfmt.h"
#include "unicode/numfmt.h" #include "unicode/numfmt.h"
#include "unicode/plurrule.h" #include "unicode/plurrule.h"
/** /**
* @internal ICU 4.2
*/
union UHashTok;
/**
* Constants for various styles. * Constants for various styles.
* There are 2 styles: full name and abbreviated name. * There are 2 styles: full name and abbreviated name.
* For example, for English, the full name for hour duration is "3 hours", * For example, for English, the full name for hour duration is "3 hours",
* and the abbreviated name is "3 hrs". * and the abbreviated name is "3 hrs".
* @draft ICU 4.8 * @draft ICU 4.8
*/ */
enum UTimeUnitFormatStyle { enum UTimeUnitFormatStyle {
/** @draft ICU 4.8 */ /** @draft ICU 4.8 */
UTMUTFMT_FULL_STYLE, UTMUTFMT_FULL_STYLE,
/** @draft ICU 4.8 */ /** @draft ICU 4.8 */
skipping to change at line 241 skipping to change at line 235
// initialize fTimeUnitToCountToPatterns from current locale's resource . // initialize fTimeUnitToCountToPatterns from current locale's resource .
void readFromCurrentLocale(UTimeUnitFormatStyle style, const char* key, UErrorCode& status); void readFromCurrentLocale(UTimeUnitFormatStyle style, const char* key, UErrorCode& status);
// check completeness of fTimeUnitToCountToPatterns against all time un its, // check completeness of fTimeUnitToCountToPatterns against all time un its,
// and all plural rules, fill in fallback as necessary. // and all plural rules, fill in fallback as necessary.
void checkConsistency(UTimeUnitFormatStyle style, const char* key, UErr orCode& status); void checkConsistency(UTimeUnitFormatStyle style, const char* key, UErr orCode& status);
// fill in fTimeUnitToCountToPatterns from locale fall-back chain // fill in fTimeUnitToCountToPatterns from locale fall-back chain
void searchInLocaleChain(UTimeUnitFormatStyle style, const char* key, c onst char* localeName, void searchInLocaleChain(UTimeUnitFormatStyle style, const char* key, c onst char* localeName,
TimeUnit::UTimeUnitFields field, const char*, TimeUnit::UTimeUnitFields field, const Unicode String&,
const char*, Hashtable*, UErrorCode&); const char*, Hashtable*, UErrorCode&);
// initialize hash table // initialize hash table
Hashtable* initHash(UErrorCode& status); Hashtable* initHash(UErrorCode& status);
// delete hash table // delete hash table
void deleteHash(Hashtable* htable); void deleteHash(Hashtable* htable);
// copy hash table // copy hash table
void copyHash(const Hashtable* source, Hashtable* target, UErrorCode& s tatus); void copyHash(const Hashtable* source, Hashtable* target, UErrorCode& s tatus);
 End of changes. 2 change blocks. 
7 lines changed or deleted 1 lines changed or added


 ucnvsel.h   ucnvsel.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* *
* Copyright (C) 2008-2010, International Business Machines * Copyright (C) 2008-2011, International Business Machines
* Corporation, Google and others. All Rights Reserved. * Corporation, Google and others. All Rights Reserved.
* *
*************************************************************************** **** *************************************************************************** ****
*/ */
/* /*
* Author : eldawy@google.com (Mohamed Eldawy) * Author : eldawy@google.com (Mohamed Eldawy)
* ucnvsel.h * ucnvsel.h
* *
* Purpose: To generate a list of encodings capable of handling * Purpose: To generate a list of encodings capable of handling
* a given Unicode text * a given Unicode text
* *
* Started 09-April-2008 * Started 09-April-2008
*/ */
#ifndef __ICU_UCNV_SEL_H__ #ifndef __ICU_UCNV_SEL_H__
#define __ICU_UCNV_SEL_H__ #define __ICU_UCNV_SEL_H__
#include "unicode/uset.h"
#include "unicode/utypes.h" #include "unicode/utypes.h"
#if !UCONFIG_NO_CONVERSION
#include "unicode/uset.h"
#include "unicode/utf16.h" #include "unicode/utf16.h"
#include "unicode/uenum.h" #include "unicode/uenum.h"
#include "unicode/ucnv.h" #include "unicode/ucnv.h"
#include "unicode/localpointer.h" #include "unicode/localpointer.h"
/** /**
* \file * \file
* *
* A converter selector is built with a set of encoding/charset names * A converter selector is built with a set of encoding/charset names
* and given an input string returns the set of names of the * and given an input string returns the set of names of the
skipping to change at line 182 skipping to change at line 185
* @return an enumeration containing encoding names. * @return an enumeration containing encoding names.
* The returned encoding names and their order will be the same as * The returned encoding names and their order will be the same as
* supplied when building the selector. * supplied when building the selector.
* *
* @stable ICU 4.2 * @stable ICU 4.2
*/ */
U_STABLE UEnumeration * U_EXPORT2 U_STABLE UEnumeration * U_EXPORT2
ucnvsel_selectForUTF8(const UConverterSelector* sel, ucnvsel_selectForUTF8(const UConverterSelector* sel,
const char *s, int32_t length, UErrorCode *status); const char *s, int32_t length, UErrorCode *status);
#endif /* !UCONFIG_NO_CONVERSION */
#endif /* __ICU_UCNV_SEL_H__ */ #endif /* __ICU_UCNV_SEL_H__ */
 End of changes. 4 change blocks. 
2 lines changed or deleted 7 lines changed or added


 ucol.h   ucol.h 
skipping to change at line 614 skipping to change at line 614
int32_t destCapacity, int32_t destCapacity,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
/** /**
* Sets the reordering codes for this collator. * Sets the reordering codes for this collator.
* Collation reordering allows scripts and some other defined blocks of cha racters * Collation reordering allows scripts and some other defined blocks of cha racters
* to be moved relative to each other as a block. This reordering is done o n top of * to be moved relative to each other as a block. This reordering is done o n top of
* the DUCET/CLDR standard collation order. Reordering can specify groups t o be placed * the DUCET/CLDR standard collation order. Reordering can specify groups t o be placed
* at the start and/or the end of the collation order. These groups are spe cified using * at the start and/or the end of the collation order. These groups are spe cified using
* UScript codes and UColReorderCode entries. * UScript codes and UColReorderCode entries.
* <p>By default, reordering codes specified for the start of the order are placed in the * <p>By default, reordering codes specified for the start of the order are placed in the
* order given after a group of “special” non-script blocks. These special groups of characters * order given after a group of "special" non-script blocks. These special groups of characters
* are space, punctuation, symbol, currency, and digit. These special group s are represented with * are space, punctuation, symbol, currency, and digit. These special group s are represented with
* UColReorderCode entries. Script groups can be intermingled with * UColReorderCode entries. Script groups can be intermingled with
* these special non-script blocks if those special blocks are explicitly s pecified in the reordering. * these special non-script blocks if those special blocks are explicitly s pecified in the reordering.
* <p>The special code OTHERS stands for any script that is not explicitly * <p>The special code OTHERS stands for any script that is not explicitly
* mentioned in the list of reordering codes given. Anything that is after OTHERS * mentioned in the list of reordering codes given. Anything that is after OTHERS
* will go at the very end of the reordering in the order given. * will go at the very end of the reordering in the order given.
* <p>The special reorder code DEFAULT will reset the reordering for this c ollator * <p>The special reorder code DEFAULT will reset the reordering for this c ollator
* to the default for this collator. The default reordering may be the DUCE T/CLDR order or may be a reordering that * to the default for this collator. The default reordering may be the DUCE T/CLDR order or may be a reordering that
* was specified when this collator was created from resource data or from rules. The * was specified when this collator was created from resource data or from rules. The
* DEFAULT code <b>must</b> be the sole code supplied when it used. If not * DEFAULT code <b>must</b> be the sole code supplied when it used. If not
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 umachine.h   umachine.h 
skipping to change at line 45 skipping to change at line 45
* the UTF-handling macros made this unmaintainable. * the UTF-handling macros made this unmaintainable.
* *
*/ */
/*========================================================================= =*/ /*========================================================================= =*/
/* Include platform-dependent definitions */ /* Include platform-dependent definitions */
/* which are contained in the platform-specific file platform.h */ /* which are contained in the platform-specific file platform.h */
/*========================================================================= =*/ /*========================================================================= =*/
#if defined(U_PALMOS) #if defined(U_PALMOS)
# include "unicode/ppalmos.h" # include "unicode/ppalmos.h"
#elif /*!defined(__MINGW32__) && */(defined(WIN32) || defined(_WIN32) || de fined(WIN64) || defined(_WIN64)) #elif !defined(__MINGW32__) && (defined(WIN32) || defined(_WIN32) || define d(WIN64) || defined(_WIN64))
/* /*
* platform.h is now also generated by MSVC Solution/Project files * platform.h is now also generated by MSVC Solution/Project files
* from platform.win and should always be included unless you are * from platform.win and should always be included unless you are
* building stubdata which is built before the platform.h file is * building stubdata which is built before the platform.h file is
* generated. * generated.
*/ */
#ifndef STUBDATA_BUILD #ifndef STUBDATA_BUILD
# include "unicode/platform.h" # include "unicode/platform.h"
#endif #endif
# include "unicode/pwin32.h" # include "unicode/pwin32.h"
skipping to change at line 113 skipping to change at line 113
#ifdef XP_CPLUSPLUS #ifdef XP_CPLUSPLUS
# define U_CFUNC extern "C" # define U_CFUNC extern "C"
# define U_CDECL_BEGIN extern "C" { # define U_CDECL_BEGIN extern "C" {
# define U_CDECL_END } # define U_CDECL_END }
#else #else
# define U_CFUNC extern # define U_CFUNC extern
# define U_CDECL_BEGIN # define U_CDECL_BEGIN
# define U_CDECL_END # define U_CDECL_END
#endif #endif
#ifndef U_ATTRIBUTE_DEPRECATED
/** /**
* \def U_ATTRIBUTE_DEPRECATED * \def U_ATTRIBUTE_DEPRECATED
* This is used for GCC specific attributes * This is used for GCC specific attributes
* @internal * @internal
*/ */
#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)) #if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
# define U_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated)) # define U_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated))
/** /**
* \def U_ATTRIBUTE_DEPRECATED * \def U_ATTRIBUTE_DEPRECATED
* This is used for Visual C++ specific attributes * This is used for Visual C++ specific attributes
* @internal * @internal
*/ */
#elif defined(U_WINDOWS) && defined(_MSC_VER) && (_MSC_VER >= 1400) #elif defined(U_WINDOWS) && defined(_MSC_VER) && (_MSC_VER >= 1400)
# define U_ATTRIBUTE_DEPRECATED __declspec(deprecated) # define U_ATTRIBUTE_DEPRECATED __declspec(deprecated)
#else #else
# define U_ATTRIBUTE_DEPRECATED # define U_ATTRIBUTE_DEPRECATED
#endif #endif
#endif
/** This is used to declare a function as a public ICU C API @stable ICU 2. 0*/ /** This is used to declare a function as a public ICU C API @stable ICU 2. 0*/
#define U_CAPI U_CFUNC U_EXPORT #define U_CAPI U_CFUNC U_EXPORT
/** This is used to declare a function as a stable public ICU C API*/ /** This is used to declare a function as a stable public ICU C API*/
#define U_STABLE U_CAPI #define U_STABLE U_CAPI
/** This is used to declare a function as a draft public ICU C API */ /** This is used to declare a function as a draft public ICU C API */
#define U_DRAFT U_CAPI #define U_DRAFT U_CAPI
/** This is used to declare a function as a deprecated public ICU C API */ /** This is used to declare a function as a deprecated public ICU C API */
#define U_DEPRECATED U_CAPI U_ATTRIBUTE_DEPRECATED #define U_DEPRECATED U_CAPI U_ATTRIBUTE_DEPRECATED
/** This is used to declare a function as an obsolete public ICU C API */ /** This is used to declare a function as an obsolete public ICU C API */
#define U_OBSOLETE U_CAPI #define U_OBSOLETE U_CAPI
 End of changes. 3 change blocks. 
1 lines changed or deleted 4 lines changed or added


 unistr.h   unistr.h 
skipping to change at line 3949 skipping to change at line 3949
UnicodeString::startsWith(const UnicodeString& text) const UnicodeString::startsWith(const UnicodeString& text) const
{ return compare(0, text.length(), text, 0, text.length()) == 0; } { return compare(0, text.length(), text, 0, text.length()) == 0; }
inline UBool inline UBool
UnicodeString::startsWith(const UnicodeString& srcText, UnicodeString::startsWith(const UnicodeString& srcText,
int32_t srcStart, int32_t srcStart,
int32_t srcLength) const int32_t srcLength) const
{ return doCompare(0, srcLength, srcText, srcStart, srcLength) == 0; } { return doCompare(0, srcLength, srcText, srcStart, srcLength) == 0; }
inline UBool inline UBool
UnicodeString::startsWith(const UChar *srcChars, UnicodeString::startsWith(const UChar *srcChars, int32_t srcLength) const {
int32_t srcLength) const if(srcLength < 0) {
{ return doCompare(0, srcLength, srcChars, 0, srcLength) == 0; } srcLength = u_strlen(srcChars);
}
return doCompare(0, srcLength, srcChars, 0, srcLength) == 0;
}
inline UBool inline UBool
UnicodeString::startsWith(const UChar *srcChars, UnicodeString::startsWith(const UChar *srcChars, int32_t srcStart, int32_t
int32_t srcStart, srcLength) const {
int32_t srcLength) const if(srcLength < 0) {
{ return doCompare(0, srcLength, srcChars, srcStart, srcLength) == 0;} srcLength = u_strlen(srcChars);
}
return doCompare(0, srcLength, srcChars, srcStart, srcLength) == 0;
}
inline UBool inline UBool
UnicodeString::endsWith(const UnicodeString& text) const UnicodeString::endsWith(const UnicodeString& text) const
{ return doCompare(length() - text.length(), text.length(), { return doCompare(length() - text.length(), text.length(),
text, 0, text.length()) == 0; } text, 0, text.length()) == 0; }
inline UBool inline UBool
UnicodeString::endsWith(const UnicodeString& srcText, UnicodeString::endsWith(const UnicodeString& srcText,
int32_t srcStart, int32_t srcStart,
int32_t srcLength) const { int32_t srcLength) const {
 End of changes. 2 change blocks. 
7 lines changed or deleted 13 lines changed or added


 uvernum.h   uvernum.h 
skipping to change at line 63 skipping to change at line 63
/** 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 8 #define U_ICU_VERSION_MINOR_NUM 8
/** 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 0 #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
skipping to change at line 94 skipping to change at line 94
*/ */
#ifndef U_ICU_ENTRY_POINT_RENAME #ifndef U_ICU_ENTRY_POINT_RENAME
#define U_ICU_ENTRY_POINT_RENAME(x) x ## _48 #define U_ICU_ENTRY_POINT_RENAME(x) x ## _48
#endif #endif
/** The current ICU library version as a dotted-decimal string. The patchle vel /** 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.8" #define U_ICU_VERSION "4.8.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 "48" #define U_ICU_VERSION_SHORT "48"
/** Data version in ICU4C. /** Data version in ICU4C.
* @internal ICU 4.4 Internal Use Only * @internal ICU 4.4 Internal Use Only
**/ **/
#define U_ICU_DATA_VERSION "4.8" #define U_ICU_DATA_VERSION "4.8.1"
/*========================================================================= == /*========================================================================= ==
* 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).
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/