LEGlyphStorage.h   LEGlyphStorage.h 
skipping to change at line 328 skipping to change at line 328
* glyph array until <code>applyInsertions</code> is called. * glyph array until <code>applyInsertions</code> is called.
* *
* @param atIndex the index of the glyph to be replaced * @param atIndex the index of the glyph to be replaced
* @param insertCount the number of glyphs to replace it with * @param insertCount the number of glyphs to replace it with
* @param success set to an error code if the auxillary data cannot be retrieved. * @param success set to an error code if the auxillary data cannot be retrieved.
* *
* @return the address at which to store the replacement glyphs. * @return the address at which to store the replacement glyphs.
* *
* @see LEInsertionList.h * @see LEInsertionList.h
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
LEGlyphID *insertGlyphs(le_int32 atIndex, le_int32 insertCount, LEError Code& success); LEGlyphID *insertGlyphs(le_int32 atIndex, le_int32 insertCount, LEError Code& success);
/** /**
* Call this method to replace a single glyph in the glyph array * Call this method to replace a single glyph in the glyph array
* with multiple glyphs. This method uses the <code>LEInsertionList</co de> * with multiple glyphs. This method uses the <code>LEInsertionList</co de>
* to do the insertion. It returns the address of storage where the new * to do the insertion. It returns the address of storage where the new
* glyph IDs can be stored. They will not actually be inserted into the * glyph IDs can be stored. They will not actually be inserted into the
* glyph array until <code>applyInsertions</code> is called. * glyph array until <code>applyInsertions</code> is called.
* *
* Note: Don't use this version, use the other version of this function which has an error code. * Note: Don't use this version, use the other version of this function which has an error code.
* *
* @param atIndex the index of the glyph to be replaced * @param atIndex the index of the glyph to be replaced
* @param insertCount the number of glyphs to replace it with * @param insertCount the number of glyphs to replace it with
* @param success set to an error code if the auxillary data cannot be retrieved.
* *
* @return the address at which to store the replacement glyphs. * @return the address at which to store the replacement glyphs.
* *
* @see LEInsertionList.h * @see LEInsertionList.h
* *
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
LEGlyphID *insertGlyphs(le_int32 atIndex, le_int32 insertCount); LEGlyphID *insertGlyphs(le_int32 atIndex, le_int32 insertCount);
/** /**
* This method is used to reposition glyphs during Indic v2 processing. It moves * This method is used to reposition glyphs during Indic v2 processing. It moves
* all of the relevant glyph information ( glyph, indices, positions, a nd auxData ), * all of the relevant glyph information ( glyph, indices, positions, a nd auxData ),
* from the source position to the target position, and also allows for a marker bit * from the source position to the target position, and also allows for a marker bit
* to be set in the target glyph's auxData so that it won't be reproces sed later in the * to be set in the target glyph's auxData so that it won't be reproces sed later in the
* cycle. * cycle.
* *
* @param fromPosition - position of the glyph to be moved * @param fromPosition - position of the glyph to be moved
* @param toPosition - target position of the glyph * @param toPosition - target position of the glyph
* @param marker marker bit * @param marker marker bit
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void moveGlyph(le_int32 fromPosition, le_int32 toPosition, le_uint32 ma rker); void moveGlyph(le_int32 fromPosition, le_int32 toPosition, le_uint32 ma rker);
/** /**
* This method causes all of the glyph insertions recorded by * This method causes all of the glyph insertions recorded by
* <code>insertGlyphs</code> to be applied to the glyph array. The * <code>insertGlyphs</code> to be applied to the glyph array. The
* new slots in the char indices and the auxillary data arrays * new slots in the char indices and the auxillary data arrays
* will be filled in with the values for the glyph being replaced. * will be filled in with the values for the glyph being replaced.
* *
* @return the new size of the glyph array * @return the new size of the glyph array
 End of changes. 3 change blocks. 
3 lines changed or deleted 2 lines changed or added


 LELanguages.h   LELanguages.h 
/* /*
* *
* (C) Copyright IBM Corp. 1998-2009. All Rights Reserved. * (C) Copyright IBM Corp. 1998-2010. All Rights Reserved.
* *
* WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS * WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS
* YOU REALLY KNOW WHAT YOU'RE DOING. * YOU REALLY KNOW WHAT YOU'RE DOING.
* *
* ************************************************************* * Generated on: 02/25/2010 06:59:14 PM PST
* Hand edited on 04/24/2008 to add correct @stable, @draft tags
* prior to updating the tool to track these.
* *************************************************************
*
* Generated on: 04/24/2008 10:19:13 AM HST
*/ */
#ifndef __LELANGUAGES_H #ifndef __LELANGUAGES_H
#define __LELANGUAGES_H #define __LELANGUAGES_H
#include "LETypes.h" #include "LETypes.h"
/** /**
* \file * \file
* \brief C++ API: List of language codes for LayoutEngine * \brief C++ API: List of language codes for LayoutEngine
 End of changes. 2 change blocks. 
7 lines changed or deleted 2 lines changed or added


 LEScripts.h   LEScripts.h 
/* /*
* *
* (C) Copyright IBM Corp. 1998-2009, All Rights Reserved. * (C) Copyright IBM Corp. 1998-2010. All Rights Reserved.
* *
* WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS * WARNING: THIS FILE IS MACHINE GENERATED. DO NOT HAND EDIT IT UNLESS
* YOU REALLY KNOW WHAT YOU'RE DOING. * YOU REALLY KNOW WHAT YOU'RE DOING.
* *
* ************************************************************* * Generated on: 02/25/2010 06:59:11 PM PST
* Hand edited on 04/24/2008 to add correct @stable, @draft tags
* prior to updating the tool to track these.
* *************************************************************
*
* Generated on: 04/24/2008 10:19:12 AM HST
*/ */
#ifndef __LESCRIPTS_H #ifndef __LESCRIPTS_H
#define __LESCRIPTS_H #define __LESCRIPTS_H
#include "LETypes.h" #include "LETypes.h"
/** /**
* \file * \file
* \brief C++ API: Constants for Unicode script values * \brief C++ API: Constants for Unicode script values
skipping to change at line 37 skipping to change at line 32
/** /**
* Constants for Unicode script values, generated using * Constants for Unicode script values, generated using
* ICU4J's <code>UScript</code> class. * ICU4J's <code>UScript</code> class.
* *
* @stable ICU 2.2 * @stable ICU 2.2
*/ */
enum ScriptCodes { enum ScriptCodes {
zyyyScriptCode = 0, zyyyScriptCode = 0,
qaaiScriptCode = 1, zinhScriptCode = 1,
qaaiScriptCode = zinhScriptCode, /* manually added alias, for API stab
ility */
arabScriptCode = 2, arabScriptCode = 2,
armnScriptCode = 3, armnScriptCode = 3,
bengScriptCode = 4, bengScriptCode = 4,
bopoScriptCode = 5, bopoScriptCode = 5,
cherScriptCode = 6, cherScriptCode = 6,
coptScriptCode = 7, coptScriptCode = 7,
cyrlScriptCode = 8, cyrlScriptCode = 8,
dsrtScriptCode = 9, dsrtScriptCode = 9,
devaScriptCode = 10, devaScriptCode = 10,
ethiScriptCode = 11, ethiScriptCode = 11,
skipping to change at line 76 skipping to change at line 72
italScriptCode = 30, italScriptCode = 30,
oryaScriptCode = 31, oryaScriptCode = 31,
runrScriptCode = 32, runrScriptCode = 32,
sinhScriptCode = 33, sinhScriptCode = 33,
syrcScriptCode = 34, syrcScriptCode = 34,
tamlScriptCode = 35, tamlScriptCode = 35,
teluScriptCode = 36, teluScriptCode = 36,
thaaScriptCode = 37, thaaScriptCode = 37,
thaiScriptCode = 38, thaiScriptCode = 38,
tibtScriptCode = 39, tibtScriptCode = 39,
/**
* @stable ICU 2.6
*/
/** Canadian_Aboriginal script. @stable ICU 2.6 */
cansScriptCode = 40, cansScriptCode = 40,
/**
* @stable ICU 2.2
*/
yiiiScriptCode = 41, yiiiScriptCode = 41,
tglgScriptCode = 42, tglgScriptCode = 42,
hanoScriptCode = 43, hanoScriptCode = 43,
buhdScriptCode = 44, buhdScriptCode = 44,
tagbScriptCode = 45, tagbScriptCode = 45,
/**
* @stable ICU 2.6
*/
/** New scripts in Unicode 4 @stable ICU 2.6 */
braiScriptCode = 46, braiScriptCode = 46,
cprtScriptCode = 47, cprtScriptCode = 47,
limbScriptCode = 48, limbScriptCode = 48,
linbScriptCode = 49, linbScriptCode = 49,
osmaScriptCode = 50, osmaScriptCode = 50,
shawScriptCode = 51, shawScriptCode = 51,
taleScriptCode = 52, taleScriptCode = 52,
ugarScriptCode = 53, ugarScriptCode = 53,
/**
* @stable ICU 3.0
*/
/** New script code in Unicode 4.0.1 @stable ICU 3.0 */
hrktScriptCode = 54, hrktScriptCode = 54,
/**
* @stable ICU 3.4
*/
/** New scripts in Unicode 4.1 @stable ICU 3.4 */
bugiScriptCode = 55, bugiScriptCode = 55,
glagScriptCode = 56, glagScriptCode = 56,
kharScriptCode = 57, kharScriptCode = 57,
syloScriptCode = 58, syloScriptCode = 58,
taluScriptCode = 59, taluScriptCode = 59,
tfngScriptCode = 60, tfngScriptCode = 60,
xpeoScriptCode = 61, xpeoScriptCode = 61,
/**
* @stable ICU 3.6
*/
/** New script codes from ISO 15924 @stable ICU 3.6 */
baliScriptCode = 62, baliScriptCode = 62,
batkScriptCode = 63, batkScriptCode = 63,
blisScriptCode = 64, blisScriptCode = 64,
brahScriptCode = 65, brahScriptCode = 65,
chamScriptCode = 66, chamScriptCode = 66,
cirtScriptCode = 67, cirtScriptCode = 67,
cyrsScriptCode = 68, cyrsScriptCode = 68,
egydScriptCode = 69, egydScriptCode = 69,
egyhScriptCode = 70, egyhScriptCode = 70,
egypScriptCode = 71, egypScriptCode = 71,
skipping to change at line 151 skipping to change at line 160
saraScriptCode = 94, saraScriptCode = 94,
syreScriptCode = 95, syreScriptCode = 95,
syrjScriptCode = 96, syrjScriptCode = 96,
syrnScriptCode = 97, syrnScriptCode = 97,
tengScriptCode = 98, tengScriptCode = 98,
vaiiScriptCode = 99, vaiiScriptCode = 99,
vispScriptCode = 100, vispScriptCode = 100,
xsuxScriptCode = 101, xsuxScriptCode = 101,
zxxxScriptCode = 102, zxxxScriptCode = 102,
zzzzScriptCode = 103, zzzzScriptCode = 103,
/**
* @stable ICU 3.8
*/
/** New script codes from ISO 15924 @stable ICU 3.8 */
cariScriptCode = 104, cariScriptCode = 104,
jpanScriptCode = 105, jpanScriptCode = 105,
lanaScriptCode = 106, lanaScriptCode = 106,
lyciScriptCode = 107, lyciScriptCode = 107,
lydiScriptCode = 108, lydiScriptCode = 108,
olckScriptCode = 109, olckScriptCode = 109,
rjngScriptCode = 110, rjngScriptCode = 110,
saurScriptCode = 111, saurScriptCode = 111,
sgnwScriptCode = 112, sgnwScriptCode = 112,
sundScriptCode = 113, sundScriptCode = 113,
moonScriptCode = 114, moonScriptCode = 114,
mteiScriptCode = 115, mteiScriptCode = 115,
/**
* @stable ICU 4.0
*/
/** New script codes from ISO 15924 @stable ICU 4.0 */
armiScriptCode = 116, armiScriptCode = 116,
avstScriptCode = 117, avstScriptCode = 117,
cakmScriptCode = 118, cakmScriptCode = 118,
koreScriptCode = 119, koreScriptCode = 119,
kthiScriptCode = 120, kthiScriptCode = 120,
maniScriptCode = 121, maniScriptCode = 121,
phliScriptCode = 122, phliScriptCode = 122,
phlpScriptCode = 123, phlpScriptCode = 123,
phlvScriptCode = 124, phlvScriptCode = 124,
prtiScriptCode = 125, prtiScriptCode = 125,
samrScriptCode = 126, samrScriptCode = 126,
tavtScriptCode = 127, tavtScriptCode = 127,
zmthScriptCode = 128, zmthScriptCode = 128,
zsymScriptCode = 129, zsymScriptCode = 129,
/**
* @draft ICU 4.4
*/
scriptCodeCount = 130 bamuScriptCode = 130,
lisuScriptCode = 131,
nkgbScriptCode = 132,
sarbScriptCode = 133,
scriptCodeCount = 134
}; };
U_NAMESPACE_END U_NAMESPACE_END
#endif #endif
 End of changes. 20 change blocks. 
16 lines changed or deleted 38 lines changed or added


 bms.h   bms.h 
/* /*
* Copyright (C) 1996-2009, International Business Machines Corporation and Others. * Copyright (C) 1996-2010, International Business Machines Corporation and Others.
* All rights reserved. * All rights reserved.
*/ */
/** /**
* \file * \file
* \brief C API: Boyer-Moore StringSearch prototype. * \brief C API: Boyer-Moore StringSearch prototype.
* \internal * \internal
*/ */
#ifndef _BMS_H #ifndef _BMS_H
skipping to change at line 214 skipping to change at line 214
bms_open(UCD *ucd, bms_open(UCD *ucd,
const UChar *pattern, int32_t patternLength, const UChar *pattern, int32_t patternLength,
const UChar *target, int32_t targetLength, const UChar *target, int32_t targetLength,
UErrorCode *status); UErrorCode *status);
/** /**
* Close a <code>BMS</code> object and release all the * Close a <code>BMS</code> object and release all the
* storage associated with it. * storage associated with it.
* *
* @param bms - the <code>BMS</code> object to close. * @param bms - the <code>BMS</code> object to close.
* @internal ICU 4.0.1 technology preview
*/ */
U_CAPI void U_EXPORT2 U_CAPI void U_EXPORT2
bms_close(BMS *bms); bms_close(BMS *bms);
/** /**
* Test the pattern to see if it generates any CEs. * Test the pattern to see if it generates any CEs.
* *
* @param bms - the <code>BMS</code> object * @param bms - the <code>BMS</code> object
* @return <code>TRUE</code> if the pattern string did not generate any CEs * @return <code>TRUE</code> if the pattern string did not generate any CEs
* *
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 bmsearch.h   bmsearch.h 
/* /*
************************************************************************** **** ************************************************************************** ****
* Copyright (C) 1996-2009, International Business Machines * * Copyright (C) 1996-2010, International Business Machines *
* Corporation and others. All Rights Reserved. * * Corporation and others. All Rights Reserved. *
************************************************************************** **** ************************************************************************** ****
*/ */
/** /**
* \file * \file
* \brief C++ API: Boyer-Moore StringSearch technology preview * \brief C++ API: Boyer-Moore StringSearch technology preview
* \internal ICU 4.0.1 technology preview * \internal ICU 4.0.1 technology preview
*/ */
skipping to change at line 205 skipping to change at line 205
* Return the <code>GoodSuffixTable</code> object computed for the patt ern string. * Return the <code>GoodSuffixTable</code> object computed for the patt ern string.
* *
* @return the <code>GoodSuffixTable</code> object computed for the pat tern string. * @return the <code>GoodSuffixTable</code> object computed for the pat tern string.
* *
* @internal ICU 4.0.1 technology preview * @internal ICU 4.0.1 technology preview
*/ */
GoodSuffixTable *getGoodSuffixTable(); GoodSuffixTable *getGoodSuffixTable();
/** /**
* UObject glue... * UObject glue...
* @internal ICU 4.0.1 technology preview
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
/** /**
* UObject glue... * UObject glue...
* @internal ICU 4.0.1 technology preview
*/ */
static UClassID getStaticClassID(); static UClassID getStaticClassID();
private: private:
CollData *data; CollData *data;
CEList *patCEs; CEList *patCEs;
BadCharacterTable *badCharacterTable; BadCharacterTable *badCharacterTable;
GoodSuffixTable *goodSuffixTable; GoodSuffixTable *goodSuffixTable;
UnicodeString pattern; UnicodeString pattern;
Target *target; Target *target;
 End of changes. 3 change blocks. 
1 lines changed or deleted 3 lines changed or added


 brkiter.h   brkiter.h 
/* /*
*************************************************************************** ***** *************************************************************************** *****
* Copyright (C) 1997-2007, International Business Machines * Copyright (C) 1997-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** ***** *************************************************************************** *****
* *
* File brkiter.h * File brkiter.h
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 02/18/97 aliu Added typedef for TextCount. Made DONE const. * 02/18/97 aliu Added typedef for TextCount. Made DONE const.
* 05/07/97 aliu Fixed DLL declaration. * 05/07/97 aliu Fixed DLL declaration.
skipping to change at line 94 skipping to change at line 94
* The text boundary positions are found according to the rules * The text boundary positions are found according to the rules
* described in Unicode Standard Annex #29, Text Boundaries, and * described in Unicode Standard Annex #29, Text Boundaries, and
* Unicode Standard Annex #14, Line Breaking Properties. These * Unicode Standard Annex #14, Line Breaking Properties. These
* are available at http://www.unicode.org/reports/tr14/ and * are available at http://www.unicode.org/reports/tr14/ and
* http://www.unicode.org/reports/tr29/. * http://www.unicode.org/reports/tr29/.
* <p> * <p>
* In addition to the C++ API defined in this header file, a * In addition to the C++ API defined in this header file, a
* plain C API with equivalent functionality is defined in the * plain C API with equivalent functionality is defined in the
* file ubrk.h * file ubrk.h
* <p> * <p>
* Code snippits illustrating the use of the Break Iterator APIs * Code snippets illustrating the use of the Break Iterator APIs
* are available in the ICU User Guide, * are available in the ICU User Guide,
* http://icu-project.org/userguide/boundaryAnalysis.html * http://icu-project.org/userguide/boundaryAnalysis.html
* and in the sample program icu/source/samples/break/break.cpp" * and in the sample program icu/source/samples/break/break.cpp
* *
*/ */
class U_COMMON_API BreakIterator : public UObject { class U_COMMON_API BreakIterator : public UObject {
public: public:
/** /**
* destructor * destructor
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual ~BreakIterator(); virtual ~BreakIterator();
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 bytestream.h   bytestream.h 
skipping to change at line 46 skipping to change at line 46
*/ */
#include "unicode/utypes.h" #include "unicode/utypes.h"
#include "unicode/uobject.h" #include "unicode/uobject.h"
#include "unicode/std_string.h" #include "unicode/std_string.h"
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* A ByteSink can be filled with bytes. * A ByteSink can be filled with bytes.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
class U_COMMON_API ByteSink : public UMemory { class U_COMMON_API ByteSink : public UMemory {
public: public:
/** /**
* Default constructor. * Default constructor.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
ByteSink() { } ByteSink() { }
/** /**
* Virtual destructor. * Virtual destructor.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual ~ByteSink() { } virtual ~ByteSink() { }
/** /**
* Append "bytes[0,n-1]" to this. * Append "bytes[0,n-1]" to this.
* @param bytes the pointer to the bytes * @param bytes the pointer to the bytes
* @param n the number of bytes; must be non-negative * @param n the number of bytes; must be non-negative
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual void Append(const char* bytes, int32_t n) = 0; virtual void Append(const char* bytes, int32_t n) = 0;
/** /**
* Returns a writable buffer for appending and writes the buffer's capaci ty to * Returns a writable buffer for appending and writes the buffer's capaci ty to
* *result_capacity. Guarantees *result_capacity>=min_capacity. * *result_capacity. Guarantees *result_capacity>=min_capacity.
* May return a pointer to the caller-owned scratch buffer which must hav e * May return a pointer to the caller-owned scratch buffer which must hav e
* scratch_capacity>=min_capacity. * scratch_capacity>=min_capacity.
* The returned buffer is only valid until the next operation * The returned buffer is only valid until the next operation
* on this ByteSink. * on this ByteSink.
skipping to change at line 109 skipping to change at line 109
* *
* @param min_capacity required minimum capacity of the returned buffer; * @param min_capacity required minimum capacity of the returned buffer;
* must be non-negative * must be non-negative
* @param desired_capacity_hint desired capacity of the returned buffer; * @param desired_capacity_hint desired capacity of the returned buffer;
* must be non-negative * must be non-negative
* @param scratch default caller-owned buffer * @param scratch default caller-owned buffer
* @param scratch_capacity capacity of the scratch buffer * @param scratch_capacity capacity of the scratch buffer
* @param result_capacity pointer to an integer which will be set to the * @param result_capacity pointer to an integer which will be set to the
* capacity of the returned buffer * capacity of the returned buffer
* @return a buffer with *result_capacity>=min_capacity * @return a buffer with *result_capacity>=min_capacity
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual char* GetAppendBuffer(int32_t min_capacity, virtual char* GetAppendBuffer(int32_t min_capacity,
int32_t desired_capacity_hint, int32_t desired_capacity_hint,
char* scratch, int32_t scratch_capacity, char* scratch, int32_t scratch_capacity,
int32_t* result_capacity); int32_t* result_capacity);
/** /**
* Flush internal buffers. * Flush internal buffers.
* Some byte sinks use internal buffers or provide buffering * Some byte sinks use internal buffers or provide buffering
* and require calling Flush() at the end of the stream. * and require calling Flush() at the end of the stream.
* The default implementation of Flush() does nothing. * The default implementation of Flush() does nothing.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual void Flush(); virtual void Flush();
private: private:
ByteSink(const ByteSink &); // copy constructor not implemented ByteSink(const ByteSink &); // copy constructor not implemented
ByteSink &operator=(const ByteSink &); // assignment operator not impleme nted ByteSink &operator=(const ByteSink &); // assignment operator not impleme nted
}; };
// ------------------------------------------------------------- // -------------------------------------------------------------
// Some standard implementations // Some standard implementations
/** /**
* Implementation of ByteSink that writes to a flat byte array, * Implementation of ByteSink that writes to a flat byte array,
* with bounds-checking: * with bounds-checking:
* This sink will not write more than capacity bytes to outbuf. * This sink will not write more than capacity bytes to outbuf.
* If more than capacity bytes are Append()ed, then excess bytes are ignore d, * If more than capacity bytes are Append()ed, then excess bytes are ignore d,
* and Overflowed() will return true. * and Overflowed() will return true.
* Overflow does not cause a runtime error. * Overflow does not cause a runtime error.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
class U_COMMON_API CheckedArrayByteSink : public ByteSink { class U_COMMON_API CheckedArrayByteSink : public ByteSink {
public: public:
/** /**
* Constructs a ByteSink that will write to outbuf[0..capacity-1]. * Constructs a ByteSink that will write to outbuf[0..capacity-1].
* @param outbuf buffer to write to * @param outbuf buffer to write to
* @param capacity size of the buffer * @param capacity size of the buffer
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
CheckedArrayByteSink(char* outbuf, int32_t capacity); CheckedArrayByteSink(char* outbuf, int32_t capacity);
/** /**
* Append "bytes[0,n-1]" to this. * Append "bytes[0,n-1]" to this.
* @param bytes the pointer to the bytes * @param bytes the pointer to the bytes
* @param n the number of bytes; must be non-negative * @param n the number of bytes; must be non-negative
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual void Append(const char* bytes, int32_t n); virtual void Append(const char* bytes, int32_t n);
/** /**
* Returns a writable buffer for appending and writes the buffer's capaci ty to * Returns a writable buffer for appending and writes the buffer's capaci ty to
* *result_capacity. For details see the base class documentation. * *result_capacity. For details see the base class documentation.
* @param min_capacity required minimum capacity of the returned buffer; * @param min_capacity required minimum capacity of the returned buffer;
* must be non-negative * must be non-negative
* @param desired_capacity_hint desired capacity of the returned buffer; * @param desired_capacity_hint desired capacity of the returned buffer;
* must be non-negative * must be non-negative
* @param scratch default caller-owned buffer * @param scratch default caller-owned buffer
* @param scratch_capacity capacity of the scratch buffer * @param scratch_capacity capacity of the scratch buffer
* @param result_capacity pointer to an integer which will be set to the * @param result_capacity pointer to an integer which will be set to the
* capacity of the returned buffer * capacity of the returned buffer
* @return a buffer with *result_capacity>=min_capacity * @return a buffer with *result_capacity>=min_capacity
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual char* GetAppendBuffer(int32_t min_capacity, virtual char* GetAppendBuffer(int32_t min_capacity,
int32_t desired_capacity_hint, int32_t desired_capacity_hint,
char* scratch, int32_t scratch_capacity, char* scratch, int32_t scratch_capacity,
int32_t* result_capacity); int32_t* result_capacity);
/** /**
* Returns the number of bytes actually written to the sink. * Returns the number of bytes actually written to the sink.
* @return number of bytes written to the buffer * @return number of bytes written to the buffer
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
int32_t NumberOfBytesWritten() const { return size_; } int32_t NumberOfBytesWritten() const { return size_; }
/** /**
* Returns true if any bytes were discarded, i.e., if there was an * Returns true if any bytes were discarded, i.e., if there was an
* attempt to write more than 'capacity' bytes. * attempt to write more than 'capacity' bytes.
* @return TRUE if more than 'capacity' bytes were Append()ed * @return TRUE if more than 'capacity' bytes were Append()ed
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UBool Overflowed() const { return overflowed_; } UBool Overflowed() const { return overflowed_; }
private: private:
char* outbuf_; char* outbuf_;
const int32_t capacity_; const int32_t capacity_;
int32_t size_; int32_t size_;
bool overflowed_; bool overflowed_;
CheckedArrayByteSink(); ///< default constructor not implemented CheckedArrayByteSink(); ///< default constructor not implemented
CheckedArrayByteSink(const CheckedArrayByteSink &); ///< copy constructor not implemented CheckedArrayByteSink(const CheckedArrayByteSink &); ///< copy constructor not implemented
CheckedArrayByteSink &operator=(const CheckedArrayByteSink &); ///< assig nment operator not implemented CheckedArrayByteSink &operator=(const CheckedArrayByteSink &); ///< assig nment operator not implemented
}; };
#if U_HAVE_STD_STRING #if U_HAVE_STD_STRING
/** /**
* Implementation of ByteSink that writes to a "string". * Implementation of ByteSink that writes to a "string".
* The StringClass is usually instantiated with a std::string. * The StringClass is usually instantiated with a std::string.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
template<typename StringClass> template<typename StringClass>
class StringByteSink : public ByteSink { class StringByteSink : public ByteSink {
public: public:
/** /**
* Constructs a ByteSink that will append bytes to the dest string. * Constructs a ByteSink that will append bytes to the dest string.
* @param dest pointer to string object to append to * @param dest pointer to string object to append to
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
StringByteSink(StringClass* dest) : dest_(dest) { } StringByteSink(StringClass* dest) : dest_(dest) { }
/** /**
* Append "bytes[0,n-1]" to this. * Append "bytes[0,n-1]" to this.
* @param bytes the pointer to the bytes * @param data the pointer to the bytes
* @param n the number of bytes; must be non-negative * @param n the number of bytes; must be non-negative
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual void Append(const char* data, int32_t n) { dest_->append(data, n) ; } virtual void Append(const char* data, int32_t n) { dest_->append(data, n) ; }
private: private:
StringClass* dest_; StringClass* dest_;
StringByteSink(); ///< default constructor not implemented StringByteSink(); ///< default constructor not implemented
StringByteSink(const StringByteSink &); ///< copy constructor not impleme nted StringByteSink(const StringByteSink &); ///< copy constructor not impleme nted
StringByteSink &operator=(const StringByteSink &); ///< assignment operat or not implemented StringByteSink &operator=(const StringByteSink &); ///< assignment operat or not implemented
}; };
#endif #endif
 End of changes. 16 change blocks. 
16 lines changed or deleted 16 lines changed or added


 calendar.h   calendar.h 
skipping to change at line 382 skipping to change at line 382
* plus input keyword and that value has different behavior than creati on with the * plus input keyword and that value has different behavior than creati on with the
* input locale alone. * input locale alone.
* @param key one of the keys supported by this service. For now, only * @param key one of the keys supported by this service. For now, only
* "calendar" is supported. * "calendar" is supported.
* @param locale the locale * @param locale the locale
* @param commonlyUsed if set to true it will return only commonly use d values * @param commonlyUsed if set to true it will return only commonly use d values
* with the given locale in preferred order. Othe rwise, * with the given locale in preferred order. Othe rwise,
* it will return all the available values for the locale. * it will return all the available values for the locale.
* @param status ICU Error Code * @param status ICU Error Code
* @return a string enumeration over keyword values for the given key a nd the locale. * @return a string enumeration over keyword values for the given key a nd the locale.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static StringEnumeration* U_EXPORT2 getKeywordValuesForLocale(const cha r* key, static StringEnumeration* U_EXPORT2 getKeywordValuesForLocale(const cha r* key,
const Locale& locale, UBool commonlyUsed, UErrorCode& s tatus); const Locale& locale, UBool commonlyUsed, UErrorCode& s tatus);
/** /**
* Returns the current UTC (GMT) time measured in milliseconds since 0: 00:00 on 1/1/70 * Returns the current UTC (GMT) time measured in milliseconds since 0: 00:00 on 1/1/70
* (derived from the system time). * (derived from the system time).
* *
* @return The current UTC time in milliseconds. * @return The current UTC time in milliseconds.
* @stable ICU 2.0 * @stable ICU 2.0
skipping to change at line 1193 skipping to change at line 1193
* Returns the resource key string used for this calendar type. * Returns the resource key string used for this calendar type.
* For example, prepending "Eras_" to this string could return "Eras_ja panese" * For example, prepending "Eras_" to this string could return "Eras_ja panese"
* or "Eras_gregorian". * or "Eras_gregorian".
* *
* @returns static string, for example, "gregorian" or "japanese" * @returns static string, for example, "gregorian" or "japanese"
* @internal * @internal
*/ */
virtual const char * getType() const = 0; virtual const char * getType() const = 0;
/** /**
* Returns whether the given day of the week is a weekday, a * Returns whether the given day of the week is a weekday, a
* weekend day, or a day that transitions from one to the other, * weekend day, or a day that transitions from one to the other,
* in this calendar system. If a transition occurs at midnight, * in this calendar system. If a transition occurs at midnight,
* then the days before and after the transition will have the * then the days before and after the transition will have the
* type UCAL_WEEKDAY or UCAL_WEEKEND. If a transition occurs at a ti * type UCAL_WEEKDAY or UCAL_WEEKEND. If a transition occurs at a time
me * other than midnight, then the day of the transition will have
* other than midnight, then the day of the transition will have * the type UCAL_WEEKEND_ONSET or UCAL_WEEKEND_CEASE. In this case, the
* the type UCAL_WEEKEND_ONSET or UCAL_WEEKEND_CEASE. In this case, * method getWeekendTransition() will return the point of
the * transition.
* method getWeekendTransition() will return the point of * @param dayOfWeek The day of the week whose type is desired (UCAL_SUN
* transition. DAY..UCAL_SATURDAY).
* @param dayOfWeek The day of the week whose type is desired (UCAL_ * @param status The error code for the operation.
SUNDAY..UCAL_SATURDAY). * @return The UCalendarWeekdayType for the day of the week.
* @param status The error code for the operation.
* @return The UCalendarWeekdayType for the day of the week.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UCalendarWeekdayType getDayOfWeekType(UCalendarDaysOfWeek dayOf Week, UErrorCode &status) const; virtual UCalendarWeekdayType getDayOfWeekType(UCalendarDaysOfWeek dayOf Week, UErrorCode &status) const;
/** /**
* Returns the time during the day at which the weekend begins or en * Returns the time during the day at which the weekend begins or ends
ds in in
* this calendar system. If getDayOfWeekType() rerturns UCAL_WEEKEN * this calendar system. If getDayOfWeekType() rerturns UCAL_WEEKEND_O
D_ONSET NSET
* for the specified dayOfWeek, return the time at which the weekend * for the specified dayOfWeek, return the time at which the weekend be
begins. gins.
* If getDayOfWeekType() returns UCAL_WEEKEND_CEASE for the specifie * If getDayOfWeekType() returns UCAL_WEEKEND_CEASE for the specified d
d dayOfWeek, ayOfWeek,
* return the time at which the weekend ends. If getDayOfWeekType() * return the time at which the weekend ends. If getDayOfWeekType() ret
returns urns
* some other UCalendarWeekdayType for the specified dayOfWeek, is i * some other UCalendarWeekdayType for the specified dayOfWeek, is it a
t an error condition n error condition
* (U_ILLEGAL_ARGUMENT_ERROR). * (U_ILLEGAL_ARGUMENT_ERROR).
* @param dayOfWeek The day of the week for which the weekend transi * @param dayOfWeek The day of the week for which the weekend transitio
tion time is n time is
* desired (UCAL_SUNDAY..UCAL_SATURDAY). * desired (UCAL_SUNDAY..UCAL_SATURDAY).
* @param status The error code for the operation. * @param status The error code for the operation.
* @return The milliseconds after midnight at which the weekend begi * @return The milliseconds after midnight at which the weekend begins
ns or ends. or ends.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual int32_t getWeekendTransition(UCalendarDaysOfWeek dayOfWeek, UEr rorCode &status) const; virtual int32_t getWeekendTransition(UCalendarDaysOfWeek dayOfWeek, UEr rorCode &status) const;
/** /**
* Returns TRUE if the given UDate is in the weekend in * Returns TRUE if the given UDate is in the weekend in
* this calendar system. * this calendar system.
* @param date The UDate in question. * @param date The UDate in question.
* @param status The error code for the operation. * @param status The error code for the operation.
* @return TRUE if the given UDate is in the weekend in * @return TRUE if the given UDate is in the weekend in
* this calendar system, FALSE otherwise. * this calendar system, FALSE otherwise.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UBool isWeekend(UDate date, UErrorCode &status) const; virtual UBool isWeekend(UDate date, UErrorCode &status) const;
/** /**
* Returns TRUE if this Calendar's current date-time is in the weeke * Returns TRUE if this Calendar's current date-time is in the weekend
nd in in
* this calendar system. * this calendar system.
* @return TRUE if this Calendar's current date-time is in the weeke * @return TRUE if this Calendar's current date-time is in the weekend
nd in in
* this calendar system, FALSE otherwise. * this calendar system, FALSE otherwise.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UBool isWeekend(void) const; virtual UBool isWeekend(void) const;
protected: protected:
/** /**
* Constructs a Calendar with the default time zone as returned by * Constructs a Calendar with the default time zone as returned by
* TimeZone::createInstance(), and the default locale. * TimeZone::createInstance(), and the default locale.
* *
skipping to change at line 1956 skipping to change at line 1956
/** /**
* Both firstDayOfWeek and minimalDaysInFirstWeek are locale-dependent. They are * Both firstDayOfWeek and minimalDaysInFirstWeek are locale-dependent. They are
* used to figure out the week count for a specific date for a given lo cale. These * used to figure out the week count for a specific date for a given lo cale. These
* must be set when a Calendar is constructed. For example, in US local e, * must be set when a Calendar is constructed. For example, in US local e,
* firstDayOfWeek is SUNDAY; minimalDaysInFirstWeek is 1. They are used to figure * firstDayOfWeek is SUNDAY; minimalDaysInFirstWeek is 1. They are used to figure
* out the week count for a specific date for a given locale. These mus t be set when * out the week count for a specific date for a given locale. These mus t be set when
* a Calendar is constructed. * a Calendar is constructed.
*/ */
UCalendarDaysOfWeek fFirstDayOfWeek; UCalendarDaysOfWeek fFirstDayOfWeek;
uint8_t fMinimalDaysInFirstWeek; uint8_t fMinimalDaysInFirstWeek;
UCalendarDaysOfWeek fWeekendOnset;
int32_t fWeekendOnsetMillis;
UCalendarDaysOfWeek fWeekendCease;
int32_t fWeekendCeaseMillis;
/** /**
* Sets firstDayOfWeek and minimalDaysInFirstWeek. Called at Calendar c onstruction * Sets firstDayOfWeek and minimalDaysInFirstWeek. Called at Calendar c onstruction
* time. * time.
* *
* @param desiredLocale The given locale. * @param desiredLocale The given locale.
* @param type The calendar type identifier, e.g: gregorian, buddhist, etc. * @param type The calendar type identifier, e.g: gregorian, buddhist, etc.
* @param success Indicates the status of setting the week count data from * @param success Indicates the status of setting the week count data from
* the resource for the given locale. Returns U_Z ERO_ERROR if * the resource for the given locale. Returns U_Z ERO_ERROR if
* constructed successfully. * constructed successfully.
*/ */
void setWeekCountData(const Locale& desiredLocale, const char *t ype, UErrorCode& success); void setWeekData(const Locale& desiredLocale, const char *type, UErrorCode& success);
/** /**
* Recompute the time and update the status fields isTimeSet * Recompute the time and update the status fields isTimeSet
* and areFieldsSet. Callers should check isTimeSet and only * and areFieldsSet. Callers should check isTimeSet and only
* call this method if isTimeSet is false. * call this method if isTimeSet is false.
* *
* @param status Output param set to success/failure code on exit. If any value * @param status Output param set to success/failure code on exit. If any value
* previously set in the time field is invalid or restri cted by * previously set in the time field is invalid or restri cted by
* leniency, this will be set to an error status. * leniency, this will be set to an error status.
*/ */
skipping to change at line 2018 skipping to change at line 2022
/* calculations */ /* calculations */
/** /**
* Compute the Gregorian calendar year, month, and day of month from * Compute the Gregorian calendar year, month, and day of month from
* the given Julian day. These values are not stored in fields, but in * the given Julian day. These values are not stored in fields, but in
* member variables gregorianXxx. Also compute the DAY_OF_WEEK and * member variables gregorianXxx. Also compute the DAY_OF_WEEK and
* DOW_LOCAL fields. * DOW_LOCAL fields.
*/ */
void computeGregorianAndDOWFields(int32_t julianDay, UErrorCode &ec); void computeGregorianAndDOWFields(int32_t julianDay, UErrorCode &ec);
protected: protected:
/** /**
* Compute the Gregorian calendar year, month, and day of month from th e * Compute the Gregorian calendar year, month, and day of month from th e
* Julian day. These values are not stored in fields, but in member * Julian day. These values are not stored in fields, but in member
* variables gregorianXxx. They are used for time zone computations an d by * variables gregorianXxx. They are used for time zone computations an d by
* subclasses that are Gregorian derivatives. Subclasses may call this * subclasses that are Gregorian derivatives. Subclasses may call this
* method to perform a Gregorian calendar millis->fields computation. * method to perform a Gregorian calendar millis->fields computation.
*/ */
void computeGregorianFields(int32_t julianDay, UErrorCode &ec); void computeGregorianFields(int32_t julianDay, UErrorCode &ec);
private: private:
/** /**
* Compute the fields WEEK_OF_YEAR, YEAR_WOY, WEEK_OF_MONTH, * Compute the fields WEEK_OF_YEAR, YEAR_WOY, WEEK_OF_MONTH,
* DAY_OF_WEEK_IN_MONTH, and DOW_LOCAL from EXTENDED_YEAR, YEAR, * DAY_OF_WEEK_IN_MONTH, and DOW_LOCAL from EXTENDED_YEAR, YEAR,
* DAY_OF_WEEK, and DAY_OF_YEAR. The latter fields are computed by the * DAY_OF_WEEK, and DAY_OF_YEAR. The latter fields are computed by the
* subclass based on the calendar system. * subclass based on the calendar system.
* *
* <p>The YEAR_WOY field is computed simplistically. It is equal to YE AR * <p>The YEAR_WOY field is computed simplistically. It is equal to YE AR
* most of the time, but at the year boundary it may be adjusted to YEA R-1 * most of the time, but at the year boundary it may be adjusted to YEA R-1
* or YEAR+1 to reflect the overlap of a week into an adjacent year. I n * or YEAR+1 to reflect the overlap of a week into an adjacent year. I n
 End of changes. 9 change blocks. 
50 lines changed or deleted 52 lines changed or added


 choicfmt.h   choicfmt.h 
/* /*
*************************************************************************** ***** *************************************************************************** *****
* Copyright (C) 1997-2008, International Business Machines * Copyright (C) 1997-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** ***** *************************************************************************** *****
* *
* File CHOICFMT.H * File CHOICFMT.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/20/97 helena Finished first cut of implementation and got ri d * 03/20/97 helena Finished first cut of implementation and got ri d
skipping to change at line 442 skipping to change at line 442
/** /**
* Get the formats passed in the constructor. * Get the formats passed in the constructor.
* *
* @param count The size of the arrays * @param count The size of the arrays
* @return the formats. * @return the formats.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual const UnicodeString* getFormats(int32_t& count) const; virtual const UnicodeString* getFormats(int32_t& count) const;
using NumberFormat::format;
/** /**
* Format a double or long number using this object's choices. * Format a double or long number using this object's choices.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @stable ICU 2.0 * @stable ICU 2.0
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 coll.h   coll.h 
skipping to change at line 451 skipping to change at line 451
/** /**
* Compares two strings using the Collator. * Compares two strings using the Collator.
* Returns whether the first one compares less than/equal to/greater th an * Returns whether the first one compares less than/equal to/greater th an
* the second one. * the second one.
* This version takes UCharIterator input. * This version takes UCharIterator input.
* @param sIter the first ("source") string iterator * @param sIter the first ("source") string iterator
* @param tIter the second ("target") string iterator * @param tIter the second ("target") string iterator
* @param status ICU status * @param status ICU status
* @return UCOL_LESS, UCOL_EQUAL or UCOL_GREATER * @return UCOL_LESS, UCOL_EQUAL or UCOL_GREATER
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UCollationResult compare(UCharIterator &sIter, virtual UCollationResult compare(UCharIterator &sIter,
UCharIterator &tIter, UCharIterator &tIter,
UErrorCode &status) const; UErrorCode &status) const;
/** /**
* Compares two UTF-8 strings using the Collator. * Compares two UTF-8 strings using the Collator.
* Returns whether the first one compares less than/equal to/greater th an * Returns whether the first one compares less than/equal to/greater th an
* the second one. * the second one.
* This version takes UTF-8 input. * This version takes UTF-8 input.
* Note that a StringPiece can be implicitly constructed * Note that a StringPiece can be implicitly constructed
* from a std::string or a NUL-terminated const char * string. * from a std::string or a NUL-terminated const char * string.
* @param source the first UTF-8 string * @param source the first UTF-8 string
* @param target the second UTF-8 string * @param target the second UTF-8 string
* @param status ICU status * @param status ICU status
* @return UCOL_LESS, UCOL_EQUAL or UCOL_GREATER * @return UCOL_LESS, UCOL_EQUAL or UCOL_GREATER
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UCollationResult compareUTF8(const StringPiece &source, virtual UCollationResult compareUTF8(const StringPiece &source,
const StringPiece &target, const StringPiece &target,
UErrorCode &status) const; UErrorCode &status) const;
/** /**
* Transforms the string into a series of characters that can be compar ed * Transforms the string into a series of characters that can be compar ed
* with CollationKey::compareTo. It is not possible to restore the orig inal * with CollationKey::compareTo. It is not possible to restore the orig inal
* string from the chars in the sort key. The generated sort key handl es * string from the chars in the sort key. The generated sort key handl es
* only a limited number of ignorable characters. * only a limited number of ignorable characters.
skipping to change at line 685 skipping to change at line 685
* plus input keyword and that value has different behavior than creati on with the * plus input keyword and that value has different behavior than creati on with the
* input locale alone. * input locale alone.
* @param keyword one of the keys supported by this service. Fo r now, only * @param keyword one of the keys supported by this service. Fo r now, only
* "collation" is supported. * "collation" is supported.
* @param locale the locale * @param locale the locale
* @param commonlyUsed if set to true it will return only commonly use d values * @param commonlyUsed if set to true it will return only commonly use d values
* with the given locale in preferred order. Othe rwise, * with the given locale in preferred order. Othe rwise,
* it will return all the available values for the locale. * it will return all the available values for the locale.
* @param status ICU status * @param status ICU status
* @return a string enumeration over keyword values for the given key a nd the locale. * @return a string enumeration over keyword values for the given key a nd the locale.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static StringEnumeration* U_EXPORT2 getKeywordValuesForLocale(const cha r* keyword, const Locale& locale, static StringEnumeration* U_EXPORT2 getKeywordValuesForLocale(const cha r* keyword, const Locale& locale,
UBool c ommonlyUsed, UErrorCode& status); UBool c ommonlyUsed, UErrorCode& status);
/** /**
* Return the functionally equivalent locale for the given * Return the functionally equivalent locale for the given
* requested locale, with respect to given keyword, for the * requested locale, with respect to given keyword, for the
* collation service. If two locales return the same result, then * collation service. If two locales return the same result, then
* collators instantiated for these locales will behave * collators instantiated for these locales will behave
* equivalently. The converse is not always true; two collators * equivalently. The converse is not always true; two collators
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 colldata.h   colldata.h 
/* /*
************************************************************************** **** ************************************************************************** ****
* Copyright (C) 1996-2009, International Business Machines * * Copyright (C) 1996-2010, International Business Machines *
* Corporation and others. All Rights Reserved. * * Corporation and others. All Rights Reserved. *
************************************************************************** **** ************************************************************************** ****
*/ */
/** /**
* \file * \file
* \brief C++ API: Collation data used to compute minLengthInChars. * \brief C++ API: Collation data used to compute minLengthInChars.
* \internal * \internal
*/ */
skipping to change at line 28 skipping to change at line 28
#if !UCONFIG_NO_COLLATION #if !UCONFIG_NO_COLLATION
#include "unicode/uobject.h" #include "unicode/uobject.h"
#include "unicode/ucol.h" #include "unicode/ucol.h"
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* The size of the internal buffer for the Collator's short description str ing. * The size of the internal buffer for the Collator's short description str ing.
* @internal ICU 4.0.1 technology preview
*/ */
#define KEY_BUFFER_SIZE 64 #define KEY_BUFFER_SIZE 64
/** /**
* The size of the internal CE buffer in a <code>CEList</code> object * The size of the internal CE buffer in a <code>CEList</code> object
* @internal ICU 4.0.1 technology preview
*/ */
#define CELIST_BUFFER_SIZE 4 #define CELIST_BUFFER_SIZE 4
/** /**
* \def INSTRUMENT_CELIST
* Define this to enable the <code>CEList</code> objects to collect * Define this to enable the <code>CEList</code> objects to collect
* statistics. * statistics.
* @internal ICU 4.0.1 technology preview
*/ */
//#define INSTRUMENT_CELIST //#define INSTRUMENT_CELIST
/** /**
* The size of the initial list in a <code>StringList</code> object. * The size of the initial list in a <code>StringList</code> object.
* @internal ICU 4.0.1 technology preview
*/ */
#define STRING_LIST_BUFFER_SIZE 16 #define STRING_LIST_BUFFER_SIZE 16
/** /**
* \def INSTRUMENT_STRING_LIST
* Define this to enable the <code>StringList</code> objects to * Define this to enable the <code>StringList</code> objects to
* collect statistics. * collect statistics.
* @internal ICU 4.0.1 technology preview
*/ */
//#define INSTRUMENT_STRING_LIST //#define INSTRUMENT_STRING_LIST
/** /**
* This object holds a list of CEs generated from a particular * This object holds a list of CEs generated from a particular
* <code>UnicodeString</code> * <code>UnicodeString</code>
* *
* @internal ICU 4.0.1 technology preview * @internal ICU 4.0.1 technology preview
*/ */
class U_I18N_API CEList : public UObject class U_I18N_API CEList : public UObject
skipping to change at line 79 skipping to change at line 86
* Note: if on return, status is set to an error code, * Note: if on return, status is set to an error code,
* the only safe thing to do with this object is to call * the only safe thing to do with this object is to call
* the destructor. * the destructor.
* *
* @internal ICU 4.0.1 technology preview * @internal ICU 4.0.1 technology preview
*/ */
CEList(UCollator *coll, const UnicodeString &string, UErrorCode &status ); CEList(UCollator *coll, const UnicodeString &string, UErrorCode &status );
/** /**
* The destructor. * The destructor.
* @internal ICU 4.0.1 technology preview
*/ */
~CEList(); ~CEList();
/** /**
* Return the number of CEs in the list. * Return the number of CEs in the list.
* *
* @return the number of CEs in the list. * @return the number of CEs in the list.
* *
* @internal ICU 4.0.1 technology preview * @internal ICU 4.0.1 technology preview
*/ */
skipping to change at line 128 skipping to change at line 136
* @param index - the index * @param index - the index
* *
* @return a reference to the given CE in the list * @return a reference to the given CE in the list
* *
* @internal ICU 4.0.1 technology preview * @internal ICU 4.0.1 technology preview
*/ */
uint32_t &operator[](int32_t index) const; uint32_t &operator[](int32_t index) const;
/** /**
* UObject glue... * UObject glue...
* @internal ICU 4.0.1 technology preview
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
/** /**
* UObject glue... * UObject glue...
* @internal ICU 4.0.1 technology preview
*/ */
static UClassID getStaticClassID(); static UClassID getStaticClassID();
private: private:
void add(uint32_t ce, UErrorCode &status); void add(uint32_t ce, UErrorCode &status);
uint32_t ceBuffer[CELIST_BUFFER_SIZE]; uint32_t ceBuffer[CELIST_BUFFER_SIZE];
uint32_t *ces; uint32_t *ces;
int32_t listMax; int32_t listMax;
int32_t listSize; int32_t listSize;
skipping to change at line 223 skipping to change at line 233
* Get the number of stings in the list. * Get the number of stings in the list.
* *
* @return the number of strings in the list. * @return the number of strings in the list.
* *
* @internal ICU 4.0.1 technology preview * @internal ICU 4.0.1 technology preview
*/ */
int32_t size() const; int32_t size() const;
/** /**
* the UObject glue... * the UObject glue...
* @internal ICU 4.0.1 technology preview
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
/** /**
* the UObject glue... * the UObject glue...
* @internal ICU 4.0.1 technology preview
*/ */
static UClassID getStaticClassID(); static UClassID getStaticClassID();
private: private:
UnicodeString *strings; UnicodeString *strings;
int32_t listMax; int32_t listMax;
int32_t listSize; int32_t listSize;
#ifdef INSTRUMENT_STRING_LIST #ifdef INSTRUMENT_STRING_LIST
static int32_t _lists; static int32_t _lists;
skipping to change at line 300 skipping to change at line 312
* @param collData - the object * @param collData - the object
* *
* @internal ICU 4.0.1 technology preview * @internal ICU 4.0.1 technology preview
*/ */
static void close(CollData *collData); static void close(CollData *collData);
/** /**
* Get the <code>UCollator</code> object used to create this object. * Get the <code>UCollator</code> object used to create this object.
* The object returned may not be the exact object that was used to * The object returned may not be the exact object that was used to
* create this object, but it will have the same behavior. * create this object, but it will have the same behavior.
* @internal ICU 4.0.1 technology preview
*/ */
UCollator *getCollator() const; UCollator *getCollator() const;
/** /**
* Get a list of all the strings which generate a list * Get a list of all the strings which generate a list
* of CEs starting with a given CE. * of CEs starting with a given CE.
* *
* @param ce - the CE * @param ce - the CE
* *
* return a <code>StringList</code> object containing all * return a <code>StringList</code> object containing all
skipping to change at line 375 skipping to change at line 388
* the number of cEs in the <code>CEList</code> * the number of cEs in the <code>CEList</code>
* *
* @return the length of the shortest string. * @return the length of the shortest string.
* *
* @internal ICU 4.0.1 technology preview * @internal ICU 4.0.1 technology preview
*/ */
int32_t minLengthInChars(const CEList *ces, int32_t offset, int32_t *his tory) const; int32_t minLengthInChars(const CEList *ces, int32_t offset, int32_t *his tory) const;
/** /**
* UObject glue... * UObject glue...
* @internal ICU 4.0.1 technology preview
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
/** /**
* UObject glue... * UObject glue...
* @internal ICU 4.0.1 technology preview
*/ */
static UClassID getStaticClassID(); static UClassID getStaticClassID();
/** /**
* <code>CollData</code> objects are expensive to compute, and so * <code>CollData</code> objects are expensive to compute, and so
* may be cached. This routine will free the cached objects and delete * may be cached. This routine will free the cached objects and delete
* the cache. * the cache.
* *
* WARNING: Don't call this until you are have called <code>close</code > * WARNING: Don't call this until you are have called <code>close</code >
* for each <code>CollData</code> object that you have used. also, * for each <code>CollData</code> object that you have used. also,
 End of changes. 16 change blocks. 
1 lines changed or deleted 16 lines changed or added


 currpinf.h   currpinf.h 
skipping to change at line 44 skipping to change at line 44
* CurrencyPluralInfo from its locale data. * CurrencyPluralInfo from its locale data.
* If you need to change any of these symbols, you can get the * If you need to change any of these symbols, you can get the
* CurrencyPluralInfo object from your * CurrencyPluralInfo object from your
* DecimalFormat and modify it. * DecimalFormat and modify it.
* *
* Following are the information needed for currency plural format and pars e: * Following are the information needed for currency plural format and pars e:
* locale information, * locale information,
* plural rule of the locale, * plural rule of the locale,
* currency plural pattern of the locale. * currency plural pattern of the locale.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
class U_I18N_API CurrencyPluralInfo : public UObject { class U_I18N_API CurrencyPluralInfo : public UObject {
public: public:
/** /**
* Create a CurrencyPluralInfo object for the default locale. * Create a CurrencyPluralInfo object for the default locale.
* @param status output param set to success/failure code on exit * @param status output param set to success/failure code on exit
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
CurrencyPluralInfo(UErrorCode& status); CurrencyPluralInfo(UErrorCode& status);
/** /**
* Create a CurrencyPluralInfo object for the given locale. * Create a CurrencyPluralInfo object for the given locale.
* @param locale the locale * @param locale the locale
* @param status output param set to success/failure code on exit * @param status output param set to success/failure code on exit
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
CurrencyPluralInfo(const Locale& locale, UErrorCode& status); CurrencyPluralInfo(const Locale& locale, UErrorCode& status);
/** /**
* Copy constructor * Copy constructor
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
CurrencyPluralInfo(const CurrencyPluralInfo& info); CurrencyPluralInfo(const CurrencyPluralInfo& info);
/** /**
* Assignment operator * Assignment operator
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
CurrencyPluralInfo& operator=(const CurrencyPluralInfo& info); CurrencyPluralInfo& operator=(const CurrencyPluralInfo& info);
/** /**
* Destructor * Destructor
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual ~CurrencyPluralInfo(); virtual ~CurrencyPluralInfo();
/** /**
* Equal operator. * Equal operator.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UBool operator==(const CurrencyPluralInfo& info) const; UBool operator==(const CurrencyPluralInfo& info) const;
/** /**
* Not equal operator * Not equal operator
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UBool operator!=(const CurrencyPluralInfo& info) const; UBool operator!=(const CurrencyPluralInfo& info) const;
/** /**
* Clone * Clone
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
CurrencyPluralInfo* clone() const; CurrencyPluralInfo* clone() const;
/** /**
* Gets plural rules of this locale, used for currency plural format * Gets plural rules of this locale, used for currency plural format
* *
* @return plural rule * @return plural rule
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
const PluralRules* getPluralRules() const; const PluralRules* getPluralRules() const;
/** /**
* Given a plural count, gets currency plural pattern of this locale, * Given a plural count, gets currency plural pattern of this locale,
* used for currency plural format * used for currency plural format
* *
* @param pluralCount currency plural count * @param pluralCount currency plural count
* @param result output param to receive the pattern * @param result output param to receive the pattern
* @return a currency plural pattern based on plural count * @return a currency plural pattern based on plural count
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UnicodeString& getCurrencyPluralPattern(const UnicodeString& pluralCoun t, UnicodeString& getCurrencyPluralPattern(const UnicodeString& pluralCoun t,
UnicodeString& result) const; UnicodeString& result) const;
/** /**
* Get locale * Get locale
* *
* @return locale * @return locale
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
const Locale& getLocale() const; const Locale& getLocale() const;
/** /**
* Set plural rules. * Set plural rules.
* The plural rule is set when CurrencyPluralInfo * The plural rule is set when CurrencyPluralInfo
* instance is created. * instance is created.
* You can call this method to reset plural rules only if you want * You can call this method to reset plural rules only if you want
* to modify the default plural rule of the locale. * to modify the default plural rule of the locale.
* *
* @param ruleDescription new plural rule description * @param ruleDescription new plural rule description
* @param status output param set to success/failure code on exit * @param status output param set to success/failure code on exit
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void setPluralRules(const UnicodeString& ruleDescription, void setPluralRules(const UnicodeString& ruleDescription,
UErrorCode& status); UErrorCode& status);
/** /**
* Set currency plural pattern. * Set currency plural pattern.
* The currency plural pattern is set when CurrencyPluralInfo * The currency plural pattern is set when CurrencyPluralInfo
* instance is created. * instance is created.
* You can call this method to reset currency plural pattern only if * You can call this method to reset currency plural pattern only if
* you want to modify the default currency plural pattern of the locale . * you want to modify the default currency plural pattern of the locale .
* *
* @param pluralCount the plural count for which the currency pattern w ill * @param pluralCount the plural count for which the currency pattern w ill
* be overridden. * be overridden.
* @param pattern the new currency plural pattern * @param pattern the new currency plural pattern
* @param status output param set to success/failure code on exit * @param status output param set to success/failure code on exit
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void setCurrencyPluralPattern(const UnicodeString& pluralCount, void setCurrencyPluralPattern(const UnicodeString& pluralCount,
const UnicodeString& pattern, const UnicodeString& pattern,
UErrorCode& status); UErrorCode& status);
/** /**
* Set locale * Set locale
* *
* @param loc the new locale to set * @param loc the new locale to set
* @param status output param set to success/failure code on exit * @param status output param set to success/failure code on exit
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void setLocale(const Locale& loc, UErrorCode& status); void setLocale(const Locale& loc, UErrorCode& status);
/** /**
* ICU "poor man's RTTI", returns a UClassID for the actual class. * ICU "poor man's RTTI", returns a UClassID for the actual class.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
/** /**
* ICU "poor man's RTTI", returns a UClassID for this class. * ICU "poor man's RTTI", returns a UClassID for this class.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static UClassID U_EXPORT2 getStaticClassID(); static UClassID U_EXPORT2 getStaticClassID();
private: private:
friend class DecimalFormat; friend class DecimalFormat;
void initialize(const Locale& loc, UErrorCode& status); void initialize(const Locale& loc, UErrorCode& status);
void setupCurrencyPluralPattern(const Locale& loc, UErrorCode& status); void setupCurrencyPluralPattern(const Locale& loc, UErrorCode& status);
 End of changes. 17 change blocks. 
17 lines changed or deleted 17 lines changed or added


 datefmt.h   datefmt.h 
skipping to change at line 211 skipping to change at line 211
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual ~DateFormat(); virtual ~DateFormat();
/** /**
* Equality operator. Returns true if the two formats have the same be havior. * Equality operator. Returns true if the two formats have the same be havior.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UBool operator==(const Format&) const; virtual UBool operator==(const Format&) const;
using Format::format;
/** /**
* Format an object to produce a string. This method handles Formattabl e * Format an object to produce a string. This method handles Formattabl e
* objects with a UDate type. If a the Formattable object type is not a Date, * objects with a UDate type. If a the Formattable object type is not a Date,
* then it returns a failing UErrorCode. * then it returns a failing UErrorCode.
* *
* @param obj The object to format. Must be a Date. * @param obj The object to format. Must be a Date.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
skipping to change at line 240 skipping to change at line 242
/** /**
* Format an object to produce a string. This method handles Formattabl e * Format an object to produce a string. This method handles Formattabl e
* objects with a UDate type. If a the Formattable object type is not a Date, * objects with a UDate type. If a the Formattable object type is not a Date,
* then it returns a failing UErrorCode. * then it returns a failing UErrorCode.
* *
* @param obj The object to format. Must be a Date. * @param obj The object to format. Must be a Date.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. Field val ues * of fields generated by this format call. Field val ues
* are defined in UDateFormatField. * are defined in UDateFormatField. Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UnicodeString& format(const Formattable& obj, virtual UnicodeString& format(const Formattable& obj,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Formats a date into a date/time string. This is an abstract method w hich * Formats a date into a date/time string. This is an abstract method w hich
* concrete subclasses must implement. * concrete subclasses must implement.
* <P> * <P>
* On input, the FieldPosition parameter may have its "field" member fi lled with * On input, the FieldPosition parameter may have its "field" member fi lled with
* an enum value specifying a field. On output, the FieldPosition will be filled * an enum value specifying a field. On output, the FieldPosition will be filled
* in with the text offsets for that field. * in with the text offsets for that field.
* <P> For example, given a time text * <P> For example, given a time text
* "1996.07.10 AD at 15:08:56 PDT", if the given fieldPosition.field is * "1996.07.10 AD at 15:08:56 PDT", if the given fieldPosition.field is
skipping to change at line 299 skipping to change at line 301
* @param cal Calendar set to the date and time to be formatted * @param cal Calendar set to the date and time to be formatted
* into a date/time string. When the calendar type is * into a date/time string. When the calendar type is
* different from the internal calendar held by this * different from the internal calendar held by this
* DateFormat instance, the date and the time zone wil l * DateFormat instance, the date and the time zone wil l
* be inherited from the input calendar, but other cal endar * be inherited from the input calendar, but other cal endar
* field values will be calculated by the internal cal endar. * field values will be calculated by the internal cal endar.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. Field val ues * of fields generated by this format call. Field val ues
* are defined in UDateFormatField. * are defined in UDateFormatField. Can be NULL.
* @param status error status. * @param status error status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UnicodeString& format(Calendar& cal, virtual UnicodeString& format(Calendar& cal,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Formats a UDate into a date/time string. * Formats a UDate into a date/time string.
* <P> * <P>
* On input, the FieldPosition parameter may have its "field" member fi lled with * On input, the FieldPosition parameter may have its "field" member fi lled with
* an enum value specifying a field. On output, the FieldPosition will be filled * an enum value specifying a field. On output, the FieldPosition will be filled
* in with the text offsets for that field. * in with the text offsets for that field.
* <P> For example, given a time text * <P> For example, given a time text
* "1996.07.10 AD at 15:08:56 PDT", if the given fieldPosition.field is * "1996.07.10 AD at 15:08:56 PDT", if the given fieldPosition.field is
* UDAT_YEAR_FIELD, the offsets fieldPosition.beginIndex and * UDAT_YEAR_FIELD, the offsets fieldPosition.beginIndex and
skipping to change at line 347 skipping to change at line 349
FieldPosition& fieldPosition) const; FieldPosition& fieldPosition) const;
/** /**
* Formats a UDate into a date/time string. * Formats a UDate into a date/time string.
* *
* @param date UDate to be formatted into a date/time string. * @param date UDate to be formatted into a date/time string.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. Field val ues * of fields generated by this format call. Field val ues
* are defined in UDateFormatField. * are defined in UDateFormatField. Can be NULL.
* @param status error status. * @param status error status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
UnicodeString& format(UDate date, UnicodeString& format(UDate date,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Formats a UDate into a date/time string. If there is a problem, you won't * Formats a UDate into a date/time string. If there is a problem, you won't
* know, using this method. Use the overloaded format() method which ta kes a * know, using this method. Use the overloaded format() method which ta kes a
* FieldPosition& to detect formatting problems. * FieldPosition& to detect formatting problems.
* *
* @param date The UDate value to be formatted into a string. * @param date The UDate value to be formatted into a string.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
 End of changes. 7 change blocks. 
6 lines changed or deleted 8 lines changed or added


 dcfmtsym.h   dcfmtsym.h 
skipping to change at line 203 skipping to change at line 203
* *
* @param other the object to be compared with. * @param other the object to be compared with.
* @return true if another object is semantically unequal to th is one. * @return true if another object is semantically unequal to th is one.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
UBool operator!=(const DecimalFormatSymbols& other) const { return !ope rator==(other); } UBool operator!=(const DecimalFormatSymbols& other) const { return !ope rator==(other); }
/** /**
* Get one of the format symbols by its enum constant. * Get one of the format symbols by its enum constant.
* Each symbol is stored as a string so that graphemes * Each symbol is stored as a string so that graphemes
* (characters with modifyer letters) can be used. * (characters with modifier letters) can be used.
* *
* @param symbol Constant to indicate a number format symbol. * @param symbol Constant to indicate a number format symbol.
* @return the format symbols by the param 'symbol' * @return the format symbols by the param 'symbol'
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
inline UnicodeString getSymbol(ENumberFormatSymbol symbol) const; inline UnicodeString getSymbol(ENumberFormatSymbol symbol) const;
/** /**
* Set one of the format symbols by its enum constant. * Set one of the format symbols by its enum constant.
* Each symbol is stored as a string so that graphemes * Each symbol is stored as a string so that graphemes
* (characters with modifyer letters) can be used. * (characters with modifier letters) can be used.
* *
* @param symbol Constant to indicate a number format symbol. * @param symbol Constant to indicate a number format symbol.
* @param value value of the format sybmol * @param value value of the format symbol
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
void setSymbol(ENumberFormatSymbol symbol, const UnicodeString &value); void setSymbol(ENumberFormatSymbol symbol, const UnicodeString &value);
/** /**
* Returns the locale for which this object was constructed. * Returns the locale for which this object was constructed.
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
inline Locale getLocale() const; inline Locale getLocale() const;
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 decimfmt.h   decimfmt.h 
skipping to change at line 129 skipping to change at line 129
* UErrorCode success = U_ZERO_ERROR; * UErrorCode success = U_ZERO_ERROR;
* UnicodeString str; * UnicodeString str;
* Formattable fmtable; * Formattable fmtable;
* for (int j=NumberFormat::kNumberStyle; * for (int j=NumberFormat::kNumberStyle;
* j<=NumberFormat::kPluralCurrencyStyle; * j<=NumberFormat::kPluralCurrencyStyle;
* ++j) { * ++j) {
* NumberFormat* format = NumberFormat::createInstance(locale, j, succe ss); * NumberFormat* format = NumberFormat::createInstance(locale, j, succe ss);
* str.remove(); * str.remove();
* cout << "format result " << form->format(myNumber, str) << endl; * cout << "format result " << form->format(myNumber, str) << endl;
* format->parse(form->format(myNumber, str), fmtable, success); * format->parse(form->format(myNumber, str), fmtable, success);
* }</pre></blockquote> * }</pre>
* *
* *
* <p><strong>Patterns</strong> * <p><strong>Patterns</strong>
* *
* <p>A DecimalFormat consists of a <em>pattern</em> and a set of * <p>A DecimalFormat consists of a <em>pattern</em> and a set of
* <em>symbols</em>. The pattern may be set directly using * <em>symbols</em>. The pattern may be set directly using
* applyPattern(), or indirectly using other API methods which * applyPattern(), or indirectly using other API methods which
* manipulate aspects of the pattern, such as the minimum number of integer * manipulate aspects of the pattern, such as the minimum number of integer
* digits. The symbols are stored in a DecimalFormatSymbols * digits. The symbols are stored in a DecimalFormatSymbols
* object. When using the NumberFormat factory methods, the * object. When using the NumberFormat factory methods, the
skipping to change at line 826 skipping to change at line 826
/** /**
* Return true if the given Format objects are semantically equal. * Return true if the given Format objects are semantically equal.
* Objects of different subclasses are considered unequal. * Objects of different subclasses are considered unequal.
* *
* @param other the object to be compared with. * @param other the object to be compared with.
* @return true if the given Format objects are semantically eq ual. * @return true if the given Format objects are semantically eq ual.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UBool operator==(const Format& other) const; virtual UBool operator==(const Format& other) const;
using NumberFormat::format;
/** /**
* Format a double or long number using base-10 representation. * Format a double or long number using base-10 representation.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UnicodeString& format(double number, virtual UnicodeString& format(double number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPosition& pos) const; FieldPosition& pos) const;
/** /**
* Format a double or long number using base-10 representation. * Format a double or long number using base-10 representation.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(double number, virtual UnicodeString& format(double number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Format a long number using base-10 representation. * Format a long number using base-10 representation.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
skipping to change at line 881 skipping to change at line 884
FieldPosition& pos) const; FieldPosition& pos) const;
/** /**
* Format a long number using base-10 representation. * Format a long number using base-10 representation.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(int32_t number, virtual UnicodeString& format(int32_t number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Format an int64 number using base-10 representation. * Format an int64 number using base-10 representation.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
skipping to change at line 913 skipping to change at line 917
FieldPosition& pos) const; FieldPosition& pos) const;
/** /**
* Format an int64 number using base-10 representation. * Format an int64 number using base-10 representation.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(int64_t number, virtual UnicodeString& format(int64_t number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Format a decimal number. * Format a decimal number.
* The syntax of the unformatted number is a "numeric string" * The syntax of the unformatted number is a "numeric string"
* as defined in the Decimal Arithmetic Specification, available at * as defined in the Decimal Arithmetic Specification, available at
* http://speleotrove.com/decimal * http://speleotrove.com/decimal
* *
* @param number The unformatted number, as a string. * @param number The unformatted number, as a string.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(const StringPiece &number, virtual UnicodeString& format(const StringPiece &number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const;
/**
* Format a decimal number.
* The number is a DigitList wrapper onto a floating point decimal numb
er.
* The default implementation in NumberFormat converts the decimal numb
er
* to a double and formats that.
*
* @param number The number, a DigitList format Decimal Floating Poi
nt.
* @param appendTo Output parameter to receive result.
* Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions
* of fields generated by this format call.
* @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter.
* @internal
*/
virtual UnicodeString& format(const DigitList &number,
UnicodeString& appendTo,
FieldPositionIterator* posIter,
UErrorCode& status) const;
/**
* Format a decimal number.
* The number is a DigitList wrapper onto a floating point decimal numb
er.
* The default implementation in NumberFormat converts the decimal numb
er
* to a double and formats that.
*
* @param number The number, a DigitList format Decimal Floating Poi
nt.
* @param appendTo Output parameter to receive result.
* Result is appended to existing contents.
* @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field.
* @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter.
* @internal
*/
virtual UnicodeString& format(const DigitList &number,
UnicodeString& appendTo,
FieldPosition& pos,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Format a Formattable using base-10 representation. * Format a Formattable using base-10 representation.
* *
* @param obj The value to be formatted. * @param obj The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
skipping to change at line 1102 skipping to change at line 1148
* by the programmer or user. * by the programmer or user.
* @param symbols DecimalFormatSymbols. * @param symbols DecimalFormatSymbols.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual void setDecimalFormatSymbols(const DecimalFormatSymbols& symbol s); virtual void setDecimalFormatSymbols(const DecimalFormatSymbols& symbol s);
/** /**
* Returns the currency plural format information, * Returns the currency plural format information,
* which is generally not changed by the programmer or user. * which is generally not changed by the programmer or user.
* @return desired CurrencyPluralInfo * @return desired CurrencyPluralInfo
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual const CurrencyPluralInfo* getCurrencyPluralInfo(void) const; virtual const CurrencyPluralInfo* getCurrencyPluralInfo(void) const;
/** /**
* Sets the currency plural format information, * Sets the currency plural format information,
* which is generally not changed by the programmer or user. * which is generally not changed by the programmer or user.
* @param toAdopt CurrencyPluralInfo to be adopted. * @param toAdopt CurrencyPluralInfo to be adopted.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual void adoptCurrencyPluralInfo(CurrencyPluralInfo* toAdopt); virtual void adoptCurrencyPluralInfo(CurrencyPluralInfo* toAdopt);
/** /**
* Sets the currency plural format information, * Sets the currency plural format information,
* which is generally not changed by the programmer or user. * which is generally not changed by the programmer or user.
* @param info Currency Plural Info. * @param info Currency Plural Info.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual void setCurrencyPluralInfo(const CurrencyPluralInfo& info); virtual void setCurrencyPluralInfo(const CurrencyPluralInfo& info);
/** /**
* Get the positive prefix. * Get the positive prefix.
* *
* @param result Output param which will receive the positive prefix . * @param result Output param which will receive the positive prefix .
* @return A reference to 'result'. * @return A reference to 'result'.
* Examples: +123, $123, sFr123 * Examples: +123, $123, sFr123
* @stable ICU 2.0 * @stable ICU 2.0
skipping to change at line 1799 skipping to change at line 1845
* given class have the same class ID. Objects of * given class have the same class ID. Objects of
* other classes have different class IDs. * other classes have different class IDs.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UClassID getDynamicClassID(void) const; virtual UClassID getDynamicClassID(void) const;
private: private:
DecimalFormat(); // default constructor not implemented DecimalFormat(); // default constructor not implemented
int32_t precision(UBool isIntegral) const; int32_t precision() const;
/**
* Initialize all fields of a new DecimalFormatter.
* Common code for use by constructors.
*/
void init();
/** /**
* Do real work of constructing a new DecimalFormat. * Do real work of constructing a new DecimalFormat.
*/ */
void construct(UErrorCode& status, void construct(UErrorCode& status,
UParseError& parseErr, UParseError& parseErr,
const UnicodeString* pattern = 0, const UnicodeString* pattern = 0,
DecimalFormatSymbols* symbolsToAdopt = 0 DecimalFormatSymbols* symbolsToAdopt = 0
); );
skipping to change at line 1967 skipping to change at line 2019
void expandAffix(const UnicodeString& pattern, void expandAffix(const UnicodeString& pattern,
UnicodeString& affix, UnicodeString& affix,
double number, double number,
FieldPositionHandler& handler, FieldPositionHandler& handler,
UBool doFormat, UBool doFormat,
const UnicodeString* pluralCount) const; const UnicodeString* pluralCount) const;
void expandAffixes(const UnicodeString* pluralCount); void expandAffixes(const UnicodeString* pluralCount);
static double round(double a, ERoundingMode mode, UBool isNegative);
void addPadding(UnicodeString& appendTo, void addPadding(UnicodeString& appendTo,
FieldPositionHandler& handler, FieldPositionHandler& handler,
int32_t prefixLen, int32_t suffixLen) const; int32_t prefixLen, int32_t suffixLen) const;
UBool isGroupingPosition(int32_t pos) const; UBool isGroupingPosition(int32_t pos) const;
void setCurrencyForSymbols(); void setCurrencyForSymbols();
// similar to setCurrency without re-compute the affixes for currency. // similar to setCurrency without re-compute the affixes for currency.
// If currency changes, the affix pattern for currency is not changed, // If currency changes, the affix pattern for currency is not changed,
skipping to change at line 2016 skipping to change at line 2066
Hashtable* target, UErrorCode& status); Hashtable* target, UErrorCode& status);
void copyHashForAffix(const Hashtable* source, void copyHashForAffix(const Hashtable* source,
Hashtable* target, UErrorCode& status); Hashtable* target, UErrorCode& status);
UnicodeString& _format(int64_t number, UnicodeString& _format(int64_t number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionHandler& handler) const; FieldPositionHandler& handler) const;
UnicodeString& _format(double number, UnicodeString& _format(double number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionHandler& handler) const; FieldPositionHandler& handler) const;
UnicodeString& _format(const DigitList &number,
UnicodeString& appendTo,
FieldPositionHandler& handler,
UErrorCode &status) const;
// currency sign count // currency sign count
enum { enum {
fgCurrencySignCountZero, fgCurrencySignCountZero,
fgCurrencySignCountInSymbolFormat, fgCurrencySignCountInSymbolFormat,
fgCurrencySignCountInISOFormat, fgCurrencySignCountInISOFormat,
fgCurrencySignCountInPluralFormat fgCurrencySignCountInPluralFormat
} CurrencySignCount; } CurrencySignCount;
/** /**
* Constants. * Constants.
*/ */
//static const int8_t fgMaxDigit; // The largest digit, in this case 9
/*transient*/ //DigitList* fDigitList;
UnicodeString fPositivePrefix; UnicodeString fPositivePrefix;
UnicodeString fPositiveSuffix; UnicodeString fPositiveSuffix;
UnicodeString fNegativePrefix; UnicodeString fNegativePrefix;
UnicodeString fNegativeSuffix; UnicodeString fNegativeSuffix;
UnicodeString* fPosPrefixPattern; UnicodeString* fPosPrefixPattern;
UnicodeString* fPosSuffixPattern; UnicodeString* fPosSuffixPattern;
UnicodeString* fNegPrefixPattern; UnicodeString* fNegPrefixPattern;
UnicodeString* fNegSuffixPattern; UnicodeString* fNegSuffixPattern;
/** /**
* Formatter for ChoiceFormat-based currency names. If this field * Formatter for ChoiceFormat-based currency names. If this field
* is not null, then delegate to it to format currency symbols. * is not null, then delegate to it to format currency symbols.
* @since ICU 2.6 * @since ICU 2.6
*/ */
ChoiceFormat* fCurrencyChoice; ChoiceFormat* fCurrencyChoice;
int32_t fMultiplier; DigitList * fMultiplier; // NULL for multiplier of one
int32_t fGroupingSize; int32_t fGroupingSize;
int32_t fGroupingSize2; int32_t fGroupingSize2;
UBool fDecimalSeparatorAlwaysShown; UBool fDecimalSeparatorAlwaysShown;
DecimalFormatSymbols* fSymbols; DecimalFormatSymbols* fSymbols;
UBool fUseSignificantDigits; UBool fUseSignificantDigits;
int32_t fMinSignificantDigits; int32_t fMinSignificantDigits;
int32_t fMaxSignificantDigits; int32_t fMaxSignificantDigits;
UBool fUseExponentialNotation; UBool fUseExponentialNotation;
int8_t fMinExponentDigits; int8_t fMinExponentDigits;
UBool fExponentSignAlwaysShown; UBool fExponentSignAlwaysShown;
/* If fRoundingIncrement is NULL, there is no rounding. Otherwise, rou DigitList* fRoundingIncrement; // NULL if no rounding inc
nd to rement specified.
* fRoundingIncrement.getDouble(). Since this operation may be expensi
ve,
* we cache the result in fRoundingDouble. All methods that update
* fRoundingIncrement also update fRoundingDouble. */
DigitList* fRoundingIncrement;
/*transient*/ double fRoundingDouble;
ERoundingMode fRoundingMode; ERoundingMode fRoundingMode;
UChar32 fPad; UChar32 fPad;
int32_t fFormatWidth; int32_t fFormatWidth;
EPadPosition fPadPosition; EPadPosition fPadPosition;
/* /*
* Following are used for currency format * Following are used for currency format
*/ */
// pattern used in this formatter // pattern used in this formatter
 End of changes. 20 change blocks. 
24 lines changed or deleted 75 lines changed or added


 dtfmtsym.h   dtfmtsym.h 
skipping to change at line 217 skipping to change at line 217
/** /**
* Sets era name strings. For example: "Anno Domini" and "Before Christ ". * Sets era name strings. For example: "Anno Domini" and "Before Christ ".
* @param eraNames Array of era name strings (DateFormatSymbols retain s ownership.) * @param eraNames Array of era name strings (DateFormatSymbols retain s ownership.)
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
* @stable ICU 3.6 * @stable ICU 3.6
*/ */
void setEraNames(const UnicodeString* eraNames, int32_t count); void setEraNames(const UnicodeString* eraNames, int32_t count);
/** /**
* Gets narrow era strings. For example: A" and "D". * Gets narrow era strings. For example: "A" and "B".
* *
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
* @return the narrow era strings. * @return the narrow era strings.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
const UnicodeString* getNarrowEras(int32_t& count) const; const UnicodeString* getNarrowEras(int32_t& count) const;
/** /**
* Sets narrow era strings. For example: "A" and "B". * Sets narrow era strings. For example: "A" and "B".
* @param narrowEras Array of narrow era strings (DateFormatSymbols re tains ownership.) * @param narrowEras Array of narrow era strings (DateFormatSymbols re tains ownership.)
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void setNarrowEras(const UnicodeString* narrowEras, int32_t count); void setNarrowEras(const UnicodeString* narrowEras, int32_t count);
/** /**
* Gets month strings. For example: "January", "February", etc. * Gets month strings. For example: "January", "February", etc.
* @param count Filled in with length of the array. * @param count Filled in with length of the array.
* @return the month strings. (DateFormatSymbols retains ownership.) * @return the month strings. (DateFormatSymbols retains ownership.)
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
const UnicodeString* getMonths(int32_t& count) const; const UnicodeString* getMonths(int32_t& count) const;
skipping to change at line 592 skipping to change at line 592
UnicodeString *fStandaloneQuarters; UnicodeString *fStandaloneQuarters;
int32_t fStandaloneQuartersCount; int32_t fStandaloneQuartersCount;
/** /**
* Standalone short quarter strings. For example: "Q1", "Q2", etc. * Standalone short quarter strings. For example: "Q1", "Q2", etc.
*/ */
UnicodeString *fStandaloneShortQuarters; UnicodeString *fStandaloneShortQuarters;
int32_t fStandaloneShortQuartersCount; int32_t fStandaloneShortQuartersCount;
/** /**
* The format data of all the timezones in this locale. * Localized names of time zones in this locale. This is a
* two-dimensional array of strings of size n by m,
* where m is at least 5 and up to 7. Each of the n rows is an
* entry containing the localized names for a single TimeZone.
*
* Each such row contains (with i ranging from 0..n-1):
*
* zoneStrings[i][0] - time zone ID
* example: America/Los_Angeles
* zoneStrings[i][1] - long name of zone in standard time
* example: Pacific Standard Time
* zoneStrings[i][2] - short name of zone in standard time
* example: PST
* zoneStrings[i][3] - long name of zone in daylight savings time
* example: Pacific Daylight Time
* zoneStrings[i][4] - short name of zone in daylight savings time
* example: PDT
* zoneStrings[i][5] - location name of zone
* example: United States (Los Angeles)
* zoneStrings[i][6] - long generic name of zone
* example: Pacific Time
* zoneStrings[i][7] - short generic of zone
* example: PT
*
* The zone ID is not localized; it corresponds to the ID
* value associated with a system time zone object. All other entries
* are localized names. If a zone does not implement daylight savings
* time, the daylight savings time names are ignored.
*
* Note:CLDR 1.5 introduced metazone and its historical mappings.
* This simple two-dimensional array is no longer sufficient to represe
nt
* localized names and its historic changes. Since ICU 3.8.1, localize
d
* zone names extracted from ICU locale data is stored in a ZoneStringF
ormat
* instance. But we still need to support the old way of customizing
* localized zone names, so we keep this field for the purpose.
*/ */
UnicodeString **fZoneStrings; // Zone string array set by set ZoneStrings UnicodeString **fZoneStrings; // Zone string array set by set ZoneStrings
UnicodeString **fLocaleZoneStrings; // Zone string array created by the locale UnicodeString **fLocaleZoneStrings; // Zone string array created by the locale
int32_t fZoneStringsRowCount; int32_t fZoneStringsRowCount;
int32_t fZoneStringsColCount; int32_t fZoneStringsColCount;
const ZoneStringFormat *fZoneStringFormat; const ZoneStringFormat *fZoneStringFormat;
ZoneStringFormat *fZSFLocal; // Local ZoneStringFormat i nstance ZoneStringFormat *fZSFLocal; // Local ZoneStringFormat i nstance
SafeZoneStringFormatPtr *fZSFCachePtr; // Cached ZoneStringFormat SafeZoneStringFormatPtr *fZSFCachePtr; // Cached ZoneStringFormat
Locale fZSFLocale; // Locale used for getting ZoneStringFormat Locale fZSFLocale; // Locale used for getting ZoneStringFormat
 End of changes. 4 change blocks. 
4 lines changed or deleted 41 lines changed or added


 dtitvfmt.h   dtitvfmt.h 
/************************************************************************** ****** /************************************************************************** ******
* Copyright (C) 2008-2009, International Business Machines Corporation and * Copyright (C) 2008-2010, International Business Machines Corporation and
others. All Rights Reserved. * others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* File DTITVFMT.H * File DTITVFMT.H
* *
*************************************************************************** **** *************************************************************************** ****
*/ */
#ifndef __DTITVFMT_H__ #ifndef __DTITVFMT_H__
#define __DTITVFMT_H__ #define __DTITVFMT_H__
skipping to change at line 112 skipping to change at line 113
* *
* <P> * <P>
* For other calendar fields, the compact interval formatting is not * For other calendar fields, the compact interval formatting is not
* supported. And the interval format will be fall back to fall-back * supported. And the interval format will be fall back to fall-back
* patterns, which is mostly "{date0} - {date1}". * patterns, which is mostly "{date0} - {date1}".
* *
* <P> * <P>
* There is a set of pre-defined static skeleton strings. * There is a set of pre-defined static skeleton strings.
* There are pre-defined interval patterns for those pre-defined skeletons * There are pre-defined interval patterns for those pre-defined skeletons
* in locales' resource files. * in locales' resource files.
* For example, for a skeleton UDAT_YEAR_ABBR_MONTH_DAY, which is "yMMMd", * For example, for a skeleton UDAT_YEAR_ABBR_MONTH_DAY, which is &quot;yM MMd&quot;,
* in en_US, if the largest different calendar field between date1 and dat e2 * in en_US, if the largest different calendar field between date1 and dat e2
* is "year", the date interval pattern is "MMM d, yyyy - MMM d, yyyy", * is &quot;year&quot;, the date interval pattern is &quot;MMM d, yyyy - M
* such as "Jan 10, 2007 - Jan 10, 2008". MM d, yyyy&quot;,
* If the largest different calendar field between date1 and date2 is "mont * such as &quot;Jan 10, 2007 - Jan 10, 2008&quot;.
h", * If the largest different calendar field between date1 and date2 is &quot
* the date interval pattern is "MMM d - MMM d, yyyy", ;month&quot;,
* such as "Jan 10 - Feb 10, 2007". * the date interval pattern is &quot;MMM d - MMM d, yyyy&quot;,
* If the largest different calendar field between date1 and date2 is "day" * such as &quot;Jan 10 - Feb 10, 2007&quot;.
, * If the largest different calendar field between date1 and date2 is &quot
* the date interval pattern is ""MMM d-d, yyyy", such as "Jan 10-20, 2007" ;day&quot;,
. * the date interval pattern is &quot;MMM d-d, yyyy&quot;, such as &quot;Ja
n 10-20, 2007&quot;.
* *
* For date skeleton, the interval patterns when year, or month, or date is * For date skeleton, the interval patterns when year, or month, or date is
* different are defined in resource files. * different are defined in resource files.
* For time skeleton, the interval patterns when am/pm, or hour, or minute is * For time skeleton, the interval patterns when am/pm, or hour, or minute is
* different are defined in resource files. * different are defined in resource files.
* *
* <P> * <P>
* If a skeleton is not found in a locale's DateIntervalInfo, which means * If a skeleton is not found in a locale's DateIntervalInfo, which means
* the interval patterns for the skeleton is not defined in resource file, * the interval patterns for the skeleton is not defined in resource file,
* the interval pattern will falls back to the interval "fallback" pattern * the interval pattern will falls back to the interval "fallback" pattern
skipping to change at line 362 skipping to change at line 363
/** /**
* Return true if the given Format objects are not semantically equal. * Return true if the given Format objects are not semantically equal.
* Objects of different subclasses are considered unequal. * Objects of different subclasses are considered unequal.
* @param other the object to be compared with. * @param other the object to be compared with.
* @return true if the given Format objects are not semantically e qual. * @return true if the given Format objects are not semantically e qual.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
UBool operator!=(const Format& other) const; UBool operator!=(const Format& other) const;
using Format::format;
/** /**
* Format an object to produce a string. This method handles Formattabl e * Format an object to produce a string. This method handles Formattabl e
* objects with a DateInterval type. * objects with a DateInterval type.
* If a the Formattable object type is not a DateInterval, * If a the Formattable object type is not a DateInterval,
* then it returns a failing UErrorCode. * then it returns a failing UErrorCode.
* *
* @param obj The object to format. * @param obj The object to format.
* Must be a DateInterval. * Must be a DateInterval.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
 End of changes. 4 change blocks. 
13 lines changed or deleted 16 lines changed or added


 dtitvinf.h   dtitvinf.h 
skipping to change at line 88 skipping to change at line 88
* *
* <P> * <P>
* The calendar fields we support for interval formatting are: * The calendar fields we support for interval formatting are:
* year, month, date, day-of-week, am-pm, hour, hour-of-day, and minute. * year, month, date, day-of-week, am-pm, hour, hour-of-day, and minute.
* Those calendar fields can be defined in the following order: * Those calendar fields can be defined in the following order:
* year > month > date > am-pm > hour > minute * year > month > date > am-pm > hour > minute
* *
* The largest different calendar fields between 2 calendars is the * The largest different calendar fields between 2 calendars is the
* first different calendar field in above order. * first different calendar field in above order.
* *
* For example: the largest different calendar fields between "Jan 10, 2007 * For example: the largest different calendar fields between &quot;Jan 10,
" 2007&quot;
* and "Feb 20, 2008" is year. * and &quot;Feb 20, 2008&quot; is year.
* *
* <P> * <P>
* There is a set of pre-defined static skeleton strings. * There is a set of pre-defined static skeleton strings.
* There are pre-defined interval patterns for those pre-defined skeletons * There are pre-defined interval patterns for those pre-defined skeletons
* in locales' resource files. * in locales' resource files.
* For example, for a skeleton UDAT_YEAR_ABBR_MONTH_DAY, which is "yMMMd", * For example, for a skeleton UDAT_YEAR_ABBR_MONTH_DAY, which is &quot;yM MMd&quot;,
* in en_US, if the largest different calendar field between date1 and dat e2 * in en_US, if the largest different calendar field between date1 and dat e2
* is "year", the date interval pattern is "MMM d, yyyy - MMM d, yyyy", * is &quot;year&quot;, the date interval pattern is &quot;MMM d, yyyy - M
* such as "Jan 10, 2007 - Jan 10, 2008". MM d, yyyy&quot;,
* If the largest different calendar field between date1 and date2 is "mont * such as &quot;Jan 10, 2007 - Jan 10, 2008&quot;.
h", * If the largest different calendar field between date1 and date2 is &quot
* the date interval pattern is "MMM d - MMM d, yyyy", ;month&quot;,
* such as "Jan 10 - Feb 10, 2007". * the date interval pattern is &quot;MMM d - MMM d, yyyy&quot;,
* If the largest different calendar field between date1 and date2 is "day" * such as &quot;Jan 10 - Feb 10, 2007&quot;.
, * If the largest different calendar field between date1 and date2 is &quot
* the date interval pattern is ""MMM d-d, yyyy", such as "Jan 10-20, 2007" ;day&quot;,
. * the date interval pattern is &quot;MMM d-d, yyyy&quot;, such as &quot;Ja
n 10-20, 2007&quot;.
* *
* For date skeleton, the interval patterns when year, or month, or date is * For date skeleton, the interval patterns when year, or month, or date is
* different are defined in resource files. * different are defined in resource files.
* For time skeleton, the interval patterns when am/pm, or hour, or minute is * For time skeleton, the interval patterns when am/pm, or hour, or minute is
* different are defined in resource files. * different are defined in resource files.
* *
* *
* <P> * <P>
* There are 2 dates in interval pattern. For most locales, the first date * There are 2 dates in interval pattern. For most locales, the first date
* in an interval pattern is the earlier date. There might be a locale in w hich * in an interval pattern is the earlier date. There might be a locale in w hich
* the first date in an interval pattern is the later date. * the first date in an interval pattern is the later date.
* We use fallback format for the default order for the locale. * We use fallback format for the default order for the locale.
* For example, if the fallback format is "{0} - {1}", it means * For example, if the fallback format is &quot;{0} - {1}&quot;, it means
* the first date in the interval pattern for this locale is earlier date. * the first date in the interval pattern for this locale is earlier date.
* If the fallback format is "{1} - {0}", it means the first date is the * If the fallback format is &quot;{1} - {0}&quot;, it means the first date is the
* later date. * later date.
* For a particular interval pattern, the default order can be overriden * For a particular interval pattern, the default order can be overriden
* by prefixing "latestFirst:" or "earliestFirst:" to the interval pattern. * by prefixing &quot;latestFirst:&quot; or &quot;earliestFirst:&quot; to t
* For example, if the fallback format is "{0}-{1}", he interval pattern.
* but for skeleton "yMMMd", the interval pattern when day is different is * For example, if the fallback format is &quot;{0}-{1}&quot;,
* "latestFirst:d-d MMM yy", it means by default, the first date in interva * but for skeleton &quot;yMMMd&quot;, the interval pattern when day is dif
l ferent is
* pattern is the earlier date. But for skeleton "yMMMd", when day is diffe * &quot;latestFirst:d-d MMM yy&quot;, it means by default, the first date
rent, in interval
* the first date in "d-d MMM yy" is the later date. * pattern is the earlier date. But for skeleton &quot;yMMMd&quot;, when da
y is different,
* the first date in &quot;d-d MMM yy&quot; is the later date.
* *
* <P> * <P>
* The recommended way to create a DateIntervalFormat object is to pass in * The recommended way to create a DateIntervalFormat object is to pass in
* the locale. * the locale.
* By using a Locale parameter, the DateIntervalFormat object is * By using a Locale parameter, the DateIntervalFormat object is
* initialized with the pre-defined interval patterns for a given or * initialized with the pre-defined interval patterns for a given or
* default locale. * default locale.
* <P> * <P>
* Users can also create DateIntervalFormat object * Users can also create DateIntervalFormat object
* by supplying their own interval patterns. * by supplying their own interval patterns.
 End of changes. 6 change blocks. 
24 lines changed or deleted 27 lines changed or added


 errorcode.h   errorcode.h 
skipping to change at line 77 skipping to change at line 77
* exit(errorCode); * exit(errorCode);
* } * }
* }; * };
* IcuErrorCode error_code; * IcuErrorCode error_code;
* UConverter *cnv = ucnv_open("Shift-JIS", error_code); * UConverter *cnv = ucnv_open("Shift-JIS", error_code);
* length = ucnv_fromUChars(dest, capacity, src, length, error_code); * length = ucnv_fromUChars(dest, capacity, src, length, error_code);
* ucnv_close(cnv); * ucnv_close(cnv);
* // IcuErrorCode destructor checks for success. * // IcuErrorCode destructor checks for success.
* \endcode * \endcode
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
class U_COMMON_API ErrorCode: public UMemory { class U_COMMON_API ErrorCode: public UMemory {
public: public:
/** /**
* Default constructor. Initializes its UErrorCode to U_ZERO_ERROR. * Default constructor. Initializes its UErrorCode to U_ZERO_ERROR.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
ErrorCode() : errorCode(U_ZERO_ERROR) {} ErrorCode() : errorCode(U_ZERO_ERROR) {}
/** Destructor, does nothing. See class documentation for details. @sta ble ICU 4.4 */ /** Destructor, does nothing. See class documentation for details. @sta ble ICU 4.2 */
virtual ~ErrorCode() {} virtual ~ErrorCode() {}
/** Conversion operator, returns a reference. @stable ICU 4.4 */ /** Conversion operator, returns a reference. @stable ICU 4.2 */
operator UErrorCode & () { return errorCode; } operator UErrorCode & () { return errorCode; }
/** Conversion operator, returns a pointer. @stable ICU 4.4 */ /** Conversion operator, returns a pointer. @stable ICU 4.2 */
operator UErrorCode * () { return &errorCode; } operator UErrorCode * () { return &errorCode; }
/** Tests for U_SUCCESS(). @stable ICU 4.4 */ /** Tests for U_SUCCESS(). @stable ICU 4.2 */
UBool isSuccess() const { return U_SUCCESS(errorCode); } UBool isSuccess() const { return U_SUCCESS(errorCode); }
/** Tests for U_FAILURE(). @stable ICU 4.4 */ /** Tests for U_FAILURE(). @stable ICU 4.2 */
UBool isFailure() const { return U_FAILURE(errorCode); } UBool isFailure() const { return U_FAILURE(errorCode); }
/** Returns the UErrorCode value. @stable ICU 4.4 */ /** Returns the UErrorCode value. @stable ICU 4.2 */
UErrorCode get() const { return errorCode; } UErrorCode get() const { return errorCode; }
/** Sets the UErrorCode value. @stable ICU 4.4 */ /** Sets the UErrorCode value. @stable 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. @stable ICU 4.4 */ /** Returns the UErrorCode value and resets it to U_ZERO_ERROR. @stable ICU 4.2 */
UErrorCode reset(); UErrorCode reset();
/** /**
* Asserts isSuccess(). * Asserts isSuccess().
* In other words, this method checks for a failure code, * In other words, this method checks for a failure code,
* and the base class handles it like this: * and the base class handles it like this:
* \code * \code
* if(isFailure()) { handleFailure(); } * if(isFailure()) { handleFailure(); }
* \endcode * \endcode
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
skipping to change at line 123 skipping to change at line 123
* Return a string for the UErrorCode value. * Return a string for the UErrorCode value.
* The string will be the same as the name of the error code constant * The string will be the same as the name of the error code constant
* in the UErrorCode enum. * in the UErrorCode enum.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
const char* errorName() const; const char* errorName() const;
protected: protected:
/** /**
* Internal UErrorCode, accessible to subclasses. * Internal UErrorCode, accessible to subclasses.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UErrorCode errorCode; UErrorCode errorCode;
/** /**
* Called by assertSuccess() 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.
* @stable ICU 4.4 * @stable 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. 12 change blocks. 
12 lines changed or deleted 12 lines changed or added


 fmtable.h   fmtable.h 
skipping to change at line 31 skipping to change at line 31
/** /**
* \file * \file
* \brief C++ API: Formattable is a thin wrapper for primitive numeric type s. * \brief C++ API: Formattable is a thin wrapper for primitive numeric type s.
*/ */
#if !UCONFIG_NO_FORMATTING #if !UCONFIG_NO_FORMATTING
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
class DecimalNumberString;
class DigitList;
/** /**
* Formattable objects can be passed to the Format class or * Formattable objects can be passed to the Format class or
* its subclasses for formatting. Formattable is a thin wrapper * its subclasses for formatting. Formattable is a thin wrapper
* class which interconverts between the primitive numeric types * class which interconverts between the primitive numeric types
* (double, long, etc.) as well as UDate and UnicodeString. * (double, long, etc.) as well as UDate and UnicodeString.
* *
* <p>Internally, a Formattable object is a union of primitive types. * <p>Internally, a Formattable object is a union of primitive types.
* As such, it can only store one flavor of data at a time. To * As such, it can only store one flavor of data at a time. To
* determine what flavor of data it contains, use the getType method. * determine what flavor of data it contains, use the getType method.
* *
skipping to change at line 467 skipping to change at line 470
*/ */
const UObject* getObject() const; const UObject* getObject() const;
/** /**
* Returns a numeric string representation of the number contained with in this * Returns a numeric string representation of the number contained with in this
* formattable, or NULL if this object does not contain numeric type. * formattable, or NULL if this object does not contain numeric type.
* For values obtained by parsing, the returned decimal number retains * For values obtained by parsing, the returned decimal number retains
* the full precision and range of the original input, unconstrained by * the full precision and range of the original input, unconstrained by
* the limits of a double floating point or a 64 bit int. * the limits of a double floating point or a 64 bit int.
* *
* This function is not thread safe, and therfore is not declared const
,
* even though it is logically const.
*
* Possible errors include U_MEMORY_ALLOCATION_ERROR, and
* U_INVALID_STATE if the formattable object has not been set to
* a numeric type.
*
* @param status the error code.
* @return the unformatted string representation of a number. * @return the unformatted string representation of a number.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
const StringPiece &getDecimalNumber() const; StringPiece getDecimalNumber(UErrorCode &status);
/** /**
* Sets the double value of this object and changes the type to * Sets the double value of this object and changes the type to
* kDouble. * kDouble.
* @param d the new double value to be set. * @param d the new double value to be set.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
void setDouble(double d); void setDouble(double d);
/** /**
skipping to change at line 584 skipping to change at line 595
static UClassID U_EXPORT2 getStaticClassID(); static UClassID U_EXPORT2 getStaticClassID();
/** /**
* Deprecated variant of getLong(UErrorCode&). * Deprecated variant of getLong(UErrorCode&).
* @param status the error code * @param status the error code
* @return the long value of this object. * @return the long value of this object.
* @deprecated ICU 3.0 use getLong(UErrorCode&) instead * @deprecated ICU 3.0 use getLong(UErrorCode&) instead
*/ */
inline int32_t getLong(UErrorCode* status) const; inline int32_t getLong(UErrorCode* status) const;
/**
* Internal function, do not use.
* TODO: figure out how to make this be non-public.
* NumberFormat::format(Formattable, ...
* needs to get at the DigitList, if it exists, for
* big decimal formatting.
* @internal
*/
DigitList *getDigitList() const { return fDecimalNum;};
/**
* Adopt, and set value from, a DigitList
* Internal Function, do not use.
* @param dl the Digit List to be adopted
* @param status reports errors
* @internal
*/
void adoptDigitList(DigitList *dl);
private: private:
/** /**
* Cleans up the memory for unwanted values. For example, the adopted * Cleans up the memory for unwanted values. For example, the adopted
* string or array objects. * string or array objects.
*/ */
void dispose(void); void dispose(void);
/**
* Common initialization, for use by constructors.
*/
void init();
UnicodeString* getBogus() const; UnicodeString* getBogus() const;
union { union {
UObject* fObject; UObject* fObject;
UnicodeString* fString; UnicodeString* fString;
double fDouble; double fDouble;
int64_t fInt64; int64_t fInt64;
UDate fDate; UDate fDate;
struct { struct {
Formattable* fArray; Formattable* fArray;
int32_t fCount; int32_t fCount;
} fArrayAndCount; } fArrayAndCount;
} fValue; } fValue;
DecimalNumberString *fDecimalStr;
DigitList *fDecimalNum;
Type fType; Type fType;
UnicodeString fBogus; // Bogus string when it's needed. UnicodeString fBogus; // Bogus string when it's needed.
}; };
inline UDate Formattable::getDate(UErrorCode& status) const { inline UDate Formattable::getDate(UErrorCode& status) const {
if (fType != kDate) { if (fType != kDate) {
if (U_SUCCESS(status)) { if (U_SUCCESS(status)) {
status = U_INVALID_FORMAT_ERROR; status = U_INVALID_FORMAT_ERROR;
} }
return 0; return 0;
 End of changes. 6 change blocks. 
1 lines changed or deleted 40 lines changed or added


 format.h   format.h 
skipping to change at line 180 skipping to change at line 180
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UnicodeString& format(const Formattable& obj, virtual UnicodeString& format(const Formattable& obj,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Parse a string to produce an object. This is a pure virtual * Parse a string to produce an object. This is a pure virtual
* method which subclasses must implement. This method allows * method which subclasses must implement. This method allows
* polymorphic parsing of strings into Formattable objects. * polymorphic parsing of strings into Formattable objects.
* <P> * <P>
* Before calling, set parse_pos.index to the offset you want to * Before calling, set parse_pos.index to the offset you want to
* start parsing at in the source. After calling, parse_pos.index * start parsing at in the source. After calling, parse_pos.index
* is the end of the text you parsed. If error occurs, index is * is the end of the text you parsed. If error occurs, index is
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 icuplug.h   icuplug.h 
skipping to change at line 220 skipping to change at line 220
U_CAPI UPlugLevel U_EXPORT2 U_CAPI UPlugLevel U_EXPORT2
uplug_getPlugLevel(UPlugData *plug); uplug_getPlugLevel(UPlugData *plug);
/** /**
* Get the lowest level of plug which can currently load. * Get the lowest level of plug which can currently load.
* For example, if UPLUG_LEVEL_LOW is returned, then low level plugins may load * For example, if UPLUG_LEVEL_LOW is returned, then low level plugins may load
* if UPLUG_LEVEL_HIGH is returned, then only high level plugins may load. * if UPLUG_LEVEL_HIGH is returned, then only high level plugins may load.
* @return the lowest level of plug which can currently load * @return the lowest level of plug which can currently load
* @internal ICU 4.4 Technology Preview * @internal ICU 4.4 Technology Preview
*/ */
U_CAPI UPlugLevel U_EXPORT2 uplug_getCurrentLevel(); U_CAPI UPlugLevel U_EXPORT2
uplug_getCurrentLevel(void);
/** /**
* Get plug load status * Get plug load status
* @return The error code of this plugin's load attempt. * @return The error code of this plugin's load attempt.
* @internal ICU 4.4 Technology Preview * @internal ICU 4.4 Technology Preview
*/ */
U_CAPI UErrorCode U_EXPORT2 U_CAPI UErrorCode U_EXPORT2
uplug_getPlugLoadStatus(UPlugData *plug); uplug_getPlugLoadStatus(UPlugData *plug);
/** /**
 End of changes. 1 change blocks. 
1 lines changed or deleted 2 lines changed or added


 locdspnm.h   locdspnm.h 
skipping to change at line 32 skipping to change at line 32
#include "unicode/uldnames.h" #include "unicode/uldnames.h"
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* Returns display names of Locales and components of Locales. For * Returns display names of Locales and components of Locales. For
* more information on language, script, region, variant, key, and * more information on language, script, region, variant, key, and
* values, see Locale. * values, see Locale.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
class U_I18N_API LocaleDisplayNames : public UMemory { class U_I18N_API LocaleDisplayNames : public UObject {
public: public:
/** /**
* Destructor. * Destructor.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual ~LocaleDisplayNames(); virtual ~LocaleDisplayNames();
/** /**
* Convenience overload of * Convenience overload of
* {@link #createInstance(const Locale& locale, UDialectHandling dialec tHandling)} * {@link #createInstance(const Locale& locale, UDialectHandling dialec tHandling)}
skipping to change at line 171 skipping to change at line 171
/** /**
* Returns the display name of the provided value (used with the provid ed key). * Returns the display name of the provided value (used with the provid ed key).
* @param key the locale key name * @param key the locale key name
* @param value the locale key's value * @param value the locale key's value
* @param result receives the value's display name * @param result receives the value's display name
* @return the display name of the provided value * @return the display name of the provided value
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UnicodeString& keyValueDisplayName(const char* key, const char* value, virtual UnicodeString& keyValueDisplayName(const char* key, const char* value,
UnicodeString& result) const = 0; UnicodeString& result) const = 0;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
* @returns a UClassID for this class.
* @internal ICU 4.4 // TODO @draft ICU 4.6
*/
static UClassID U_EXPORT2 getStaticClassID();
}; };
inline LocaleDisplayNames::~LocaleDisplayNames() { inline LocaleDisplayNames::~LocaleDisplayNames() {
} }
inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& locale) { inline LocaleDisplayNames* LocaleDisplayNames::createInstance(const Locale& locale) {
return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES); return LocaleDisplayNames::createInstance(locale, ULDN_STANDARD_NAMES);
} }
U_NAMESPACE_END U_NAMESPACE_END
 End of changes. 2 change blocks. 
1 lines changed or deleted 8 lines changed or added


 msgfmt.h   msgfmt.h 
skipping to change at line 585 skipping to change at line 585
* until the next call to this format. See the class description * until the next call to this format. See the class description
* about format numbering. * about format numbering.
* *
* @param count output parameter to receive the size of the array * @param count output parameter to receive the size of the array
* @return an array of count Format* objects, or NULL if out of * @return an array of count Format* objects, or NULL if out of
* memory. Any or all of the array elements may be NULL. * memory. Any or all of the array elements may be NULL.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual const Format** getFormats(int32_t& count) const; virtual const Format** getFormats(int32_t& count) const;
using Format::format;
/** /**
* Formats the given array of arguments into a user-readable string. * Formats the given array of arguments into a user-readable string.
* Does not take ownership of the Formattable* array or its contents. * Does not take ownership of the Formattable* array or its contents.
* *
* <p>If this format uses named arguments, appendTo is unchanged and * <p>If this format uses named arguments, appendTo is unchanged and
* status is set to U_ILLEGAL_ARGUMENT_ERROR. * status is set to U_ILLEGAL_ARGUMENT_ERROR.
* *
* @param source An array of objects to be formatted. * @param source An array of objects to be formatted.
* @param count The number of elements of 'source'. * @param count The number of elements of 'source'.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
 End of changes. 1 change blocks. 
0 lines changed or deleted 2 lines changed or added


 normlzr.h   normlzr.h 
skipping to change at line 119 skipping to change at line 119
* a particular, arbitrary position in the text because one would need to * a particular, arbitrary position in the text because one would need to
* know, and be able to set, in addition to the getIndex(), at least also t he * know, and be able to set, in addition to the getIndex(), at least also t he
* current index into the internal buffer. * current index into the internal buffer.
* It is currently only possible to observe when getIndex() changes * It is currently only possible to observe when getIndex() changes
* (with careful consideration of the iteration semantics), * (with careful consideration of the iteration semantics),
* at which time the internal index will be 0. * at which time the internal index will be 0.
* For example, if getIndex() is different after next() than before it, * For example, if getIndex() is different after next() than before it,
* then the internal index is 0 and one can return to this getIndex() * then the internal index is 0 and one can return to this getIndex()
* later with setIndexOnly(). * later with setIndexOnly().
* *
* Note: While the setIndex() and getIndex() refer to indices in the
* underlying Unicode input text, the next() and previous() methods
* iterate through characters in the normalized output.
* This means that there is not necessarily a one-to-one correspondence
* between characters returned by next() and previous() and the indices
* passed to and returned from setIndex() and getIndex().
* It is for this reason that Normalizer does not implement the CharacterIt
erator interface.
*
* @author Laura Werner, Mark Davis, Markus Scherer * @author Laura Werner, Mark Davis, Markus Scherer
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
class U_COMMON_API Normalizer : public UObject { class U_COMMON_API Normalizer : public UObject {
public: public:
/** /**
* If DONE is returned from an iteration function that returns a code poi nt, * If DONE is returned from an iteration function that returns a code poi nt,
* then there are no more normalization results available. * then there are no more normalization results available.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
 End of changes. 1 change blocks. 
0 lines changed or deleted 9 lines changed or added


 numfmt.h   numfmt.h 
skipping to change at line 236 skipping to change at line 236
virtual ~NumberFormat(); virtual ~NumberFormat();
/** /**
* Return true if the given Format objects are semantically equal. * Return true if the given Format objects are semantically equal.
* Objects of different subclasses are considered unequal. * Objects of different subclasses are considered unequal.
* @return true if the given Format objects are semantically equal. * @return true if the given Format objects are semantically equal.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UBool operator==(const Format& other) const; virtual UBool operator==(const Format& other) const;
using Format::format;
/** /**
* Format an object to produce a string. This method handles * Format an object to produce a string. This method handles
* Formattable objects with numeric types. If the Formattable * Formattable objects with numeric types. If the Formattable
* object type is not a numeric type, then it returns a failing * object type is not a numeric type, then it returns a failing
* UErrorCode. * UErrorCode.
* *
* @param obj The object to format. * @param obj The object to format.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
skipping to change at line 266 skipping to change at line 268
/** /**
* Format an object to produce a string. This method handles * Format an object to produce a string. This method handles
* Formattable objects with numeric types. If the Formattable * Formattable objects with numeric types. If the Formattable
* object type is not a numeric type, then it returns a failing * object type is not a numeric type, then it returns a failing
* UErrorCode. * UErrorCode.
* *
* @param obj The object to format. * @param obj The object to format.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call. Can be
* NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(const Formattable& obj, virtual UnicodeString& format(const Formattable& obj,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Parse a string to produce an object. This methods handles * Parse a string to produce an object. This methods handles
* parsing of numeric strings into Formattable objects with numeric * parsing of numeric strings into Formattable objects with numeric
* types. * types.
* <P> * <P>
* Before calling, set parse_pos.index to the offset you want to * Before calling, set parse_pos.index to the offset you want to
* start parsing at in the source. After calling, parse_pos.index * start parsing at in the source. After calling, parse_pos.index
* indicates the position after the successfully parsed text. If * indicates the position after the successfully parsed text. If
skipping to change at line 371 skipping to change at line 374
FieldPosition& pos) const = 0; FieldPosition& pos) const = 0;
/** /**
* Format a double number. Subclasses must implement * Format a double number. Subclasses must implement
* this method. * this method.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(double number, virtual UnicodeString& format(double number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Format a long number. Concrete subclasses must implement * Format a long number. Concrete subclasses must implement
* these pure virtual methods. * these pure virtual methods.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
skipping to change at line 404 skipping to change at line 408
/** /**
* Format an int32 number. Subclasses must implement * Format an int32 number. Subclasses must implement
* this method. * this method.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(int32_t number, virtual UnicodeString& format(int32_t number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Format an int64 number. (Not abstract to retain compatibility * Format an int64 number. (Not abstract to retain compatibility
* with earlier releases, however subclasses should override this * with earlier releases, however subclasses should override this
* method as it just delegates to format(int32_t number...); * method as it just delegates to format(int32_t number...);
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
skipping to change at line 437 skipping to change at line 442
FieldPosition& pos) const; FieldPosition& pos) const;
/** /**
* Format an int64 number. Subclasses must implement * Format an int64 number. Subclasses must implement
* this method. * this method.
* *
* @param number The value to be formatted. * @param number The value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(int64_t number, virtual UnicodeString& format(int64_t number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Format a decimal number. Subclasses must implement * Format a decimal number. Subclasses must implement
* this method. The syntax of the unformatted number is a "numeric str ing" * this method. The syntax of the unformatted number is a "numeric str ing"
* as defined in the Decimal Arithmetic Specification, available at * as defined in the Decimal Arithmetic Specification, available at
* http://speleotrove.com/decimal * http://speleotrove.com/decimal
* *
* @param number The unformatted number, as a string, to be formatte d. * @param number The unformatted number, as a string, to be formatte d.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. * of fields generated by this format call.
* Can be NULL.
* @param status Output param filled with success/failure status. * @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft 4.4 * @draft 4.4
*/ */
virtual UnicodeString& format(const StringPiece &number, virtual UnicodeString& format(const StringPiece &number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const;
public:
/**
* Format a decimal number.
* The number is a DigitList wrapper onto a floating point decimal numb
er.
* The default implementation in NumberFormat converts the decimal numb
er
* to a double and formats that. Subclasses of NumberFormat that want
* to specifically handle big decimal numbers must override this method
.
* class DecimalFormat does so.
*
* @param number The number, a DigitList format Decimal Floating Poi
nt.
* @param appendTo Output parameter to receive result.
* Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions
* of fields generated by this format call.
* @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter.
* @internal
*/
virtual UnicodeString& format(const DigitList &number,
UnicodeString& appendTo,
FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
// TODO: do we also want a format of a decimal number that takes a /**
// FieldPosition parameter? * Format a decimal number.
* The number is a DigitList wrapper onto a floating point decimal numb
er.
* The default implementation in NumberFormat converts the decimal numb
er
* to a double and formats that. Subclasses of NumberFormat that want
* to specifically handle big decimal numbers must override this method
.
* class DecimalFormat does so.
*
* @param number The number, a DigitList format Decimal Floating Poi
nt.
* @param appendTo Output parameter to receive result.
* Result is appended to existing contents.
* @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field.
* @param status Output param filled with success/failure status.
* @return Reference to 'appendTo' parameter.
* @internal
*/
virtual UnicodeString& format(const DigitList &number,
UnicodeString& appendTo,
FieldPosition& pos,
UErrorCode& status) const;
public:
/** /**
* Redeclared Format method. * Redeclared Format method.
* @param obj The object to be formatted. * @param obj The object to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param status Output parameter set to a failure error code * @param status Output parameter set to a failure error code
* when a failure occurs. * when a failure occurs.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @stable ICU 2.0 * @stable ICU 2.0
 End of changes. 12 change blocks. 
8 lines changed or deleted 66 lines changed or added


 numsys.h   numsys.h 
skipping to change at line 54 skipping to change at line 54
* Alternate numbering systems can be specified to a locale by using the * Alternate numbering systems can be specified to a locale by using the
* numbers locale keyword. * numbers locale keyword.
*/ */
class U_I18N_API NumberingSystem : public UObject { class U_I18N_API NumberingSystem : public UObject {
public: public:
/** /**
* Default Constructor. * Default Constructor.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
NumberingSystem(); NumberingSystem();
/** /**
* Copy constructor. * Copy constructor.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
NumberingSystem(const NumberingSystem& other); NumberingSystem(const NumberingSystem& other);
/** /**
* Destructor. * Destructor.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual ~NumberingSystem(); virtual ~NumberingSystem();
/** /**
* Create the default numbering system associated with the specified lo cale. * Create the default numbering system associated with the specified lo cale.
* @param inLocale The given locale. * @param inLocale The given locale.
* @param status ICU status * @param status ICU status
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static NumberingSystem* U_EXPORT2 createInstance(const Locale & inLocal e, UErrorCode& status); static NumberingSystem* U_EXPORT2 createInstance(const Locale & inLocal e, UErrorCode& status);
/** /**
* Create the default numbering system associated with the default loca le. * Create the default numbering system associated with the default loca le.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static NumberingSystem* U_EXPORT2 createInstance(UErrorCode& status); static NumberingSystem* U_EXPORT2 createInstance(UErrorCode& status);
/** /**
* Create a numbering system using the specified radix, type, and descr iption. * Create a numbering system using the specified radix, type, and descr iption.
* @param radix The radix (base) for this numbering system. * @param radix The radix (base) for this numbering system.
* @param isAlgorithmic TRUE if the numbering system is algorithmic rat her than numeric. * @param isAlgorithmic TRUE if the numbering system is algorithmic rat her than numeric.
* @param description The string representing the set of digits used in a numeric system, or the name of the RBNF * @param description The string representing the set of digits used in a numeric system, or the name of the RBNF
* ruleset to be used in an algorithmic system. * ruleset to be used in an algorithmic system.
* @param status ICU status * @param status ICU status
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static NumberingSystem* U_EXPORT2 createInstance(int32_t radix, UBool i sAlgorithmic, const UnicodeString& description, UErrorCode& status ); static NumberingSystem* U_EXPORT2 createInstance(int32_t radix, UBool i sAlgorithmic, const UnicodeString& description, UErrorCode& status );
/** /**
* Return a StringEnumeration over all the names of numbering systems k nown to ICU. * Return a StringEnumeration over all the names of numbering systems k nown to ICU.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static StringEnumeration * U_EXPORT2 getAvailableNames(UErrorCode& sta tus); static StringEnumeration * U_EXPORT2 getAvailableNames(UErrorCode& sta tus);
/** /**
* Create a numbering system from one of the predefined numbering syste ms known to ICU. * Create a numbering system from one of the predefined numbering syste ms known to ICU.
* @param name The name of the numbering system. * @param name The name of the numbering system.
* @param status ICU status * @param status ICU status
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static NumberingSystem* U_EXPORT2 createInstanceByName(const char* name , UErrorCode& status); static NumberingSystem* U_EXPORT2 createInstanceByName(const char* name , UErrorCode& status);
/** /**
* Returns the radix of this numbering system. * Returns the radix of this numbering system.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
int32_t getRadix(); int32_t getRadix();
/** /**
* Returns the description string of this numbering system, which is ei ther * Returns the description string of this numbering system, which is ei ther
* the string of digits in the case of simple systems, or the ruleset n ame * the string of digits in the case of simple systems, or the ruleset n ame
* in the case of algorithmic systems. * in the case of algorithmic systems.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UnicodeString getDescription(); virtual UnicodeString getDescription();
/** /**
* Returns TRUE if the given numbering system is algorithmic * Returns TRUE if the given numbering system is algorithmic
* *
* @return TRUE if the numbering system is algorithmic. * @return TRUE if the numbering system is algorithmic.
* Otherwise, return FALSE. * Otherwise, return FALSE.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UBool isAlgorithmic() const; UBool isAlgorithmic() const;
/** /**
* ICU "poor man's RTTI", returns a UClassID for this class. * ICU "poor man's RTTI", returns a UClassID for this class.
* *
* @stable ICU 4.4 * @stable ICU 4.2
* *
*/ */
static UClassID U_EXPORT2 getStaticClassID(void); static UClassID U_EXPORT2 getStaticClassID(void);
/** /**
* ICU "poor man's RTTI", returns a UClassID for the actual class. * ICU "poor man's RTTI", returns a UClassID for the actual class.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
private: private:
UnicodeString desc; UnicodeString desc;
int32_t radix; int32_t radix;
UBool algorithmic; UBool algorithmic;
void setRadix(int32_t radix); void setRadix(int32_t radix);
 End of changes. 13 change blocks. 
13 lines changed or deleted 13 lines changed or added


 platform.h   platform.h 
skipping to change at line 36 skipping to change at line 36
/** /**
* \file * \file
* \brief Basic types for the platform * \brief Basic types for the platform
*/ */
/* This file should be included before uvernum.h. */ /* This file should be included before uvernum.h. */
#if defined(UVERNUM_H) #if defined(UVERNUM_H)
# error Do not include unicode/uvernum.h before #including unicode/platform .h. Instead of unicode/uvernum.h, #include unicode/uversion.h # error Do not include unicode/uvernum.h before #including unicode/platform .h. Instead of unicode/uvernum.h, #include unicode/uversion.h
#endif #endif
/** Determine wheter to enable auto cleanup of libraries. */ /**
* Determine wheter to enable auto cleanup of libraries.
* @draft ICU 4.4
*/
#ifndef UCLN_NO_AUTO_CLEANUP #ifndef UCLN_NO_AUTO_CLEANUP
#define UCLN_NO_AUTO_CLEANUP 1 #define UCLN_NO_AUTO_CLEANUP 1
#endif #endif
/* Need platform.h when using CYGWINMSVC to get definitions above. Ignore e verything else. */ /* Need platform.h when using CYGWINMSVC to get definitions above. Ignore e verything else. */
#ifndef CYGWINMSVC #ifndef CYGWINMSVC
/** Define the platform we're on. */ /** Define the platform we're on. */
#ifndef U_LINUX #ifndef U_LINUX
#define U_LINUX #define U_LINUX
#endif #endif
/** /**
* \def U_HAVE_DIRENT_H * \def U_HAVE_DIRENT_H
* Define whether dirent.h is available */ * Define whether dirent.h is available
* @internal
*/
#ifndef U_HAVE_DIRENT_H #ifndef U_HAVE_DIRENT_H
#define U_HAVE_DIRENT_H 1 #define U_HAVE_DIRENT_H 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
#define U_HAVE_INTTYPES_H 1 #define U_HAVE_INTTYPES_H 1
#endif #endif
/** /**
skipping to change at line 81 skipping to change at line 86
* support for them will be silently suppressed in ICU. * support for them will be silently suppressed in ICU.
* *
*/ */
#ifndef U_IOSTREAM_SOURCE #ifndef U_IOSTREAM_SOURCE
#define U_IOSTREAM_SOURCE 199711 #define U_IOSTREAM_SOURCE 199711
#endif #endif
/** /**
* \def U_HAVE_STD_STRING * \def U_HAVE_STD_STRING
* Define whether the standard C++ (STL) <string> header is available. * Define whether the standard C++ (STL) <string&gt; header is available .
* For platforms that do not use platform.h and do not define this constant * For platforms that do not use platform.h and do not define this constant
* in their platform-specific headers, std_string.h defaults * in their platform-specific headers, std_string.h defaults
* U_HAVE_STD_STRING to 1. * U_HAVE_STD_STRING to 1.
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
#ifndef U_HAVE_STD_STRING #ifndef U_HAVE_STD_STRING
#define U_HAVE_STD_STRING 1 #define U_HAVE_STD_STRING 1
#endif #endif
/** @{ Determines whether specific types are available */ /** @{ Determines whether specific types are available */
skipping to change at line 182 skipping to change at line 187
/* Determine whether to override placement new and delete for STL. */ /* Determine whether to override placement new and delete for STL. */
#ifndef U_HAVE_PLACEMENT_NEW #ifndef U_HAVE_PLACEMENT_NEW
#define U_HAVE_PLACEMENT_NEW 1 #define U_HAVE_PLACEMENT_NEW 1
#endif #endif
/* Determine whether to enable tracing. */ /* Determine whether to enable tracing. */
#ifndef U_ENABLE_TRACING #ifndef U_ENABLE_TRACING
#define U_ENABLE_TRACING 0 #define U_ENABLE_TRACING 0
#endif #endif
/* dynamic loading */ /**
* Whether to enable Dynamic loading in ICU
* @draft ICU 4.4
*/
#ifndef U_ENABLE_DYLOAD #ifndef U_ENABLE_DYLOAD
#define U_ENABLE_DYLOAD 1 #define U_ENABLE_DYLOAD 1
#endif #endif
/**
* Whether to test Dynamic loading as an OS capabilty
* @draft ICU 4.4
*/
#ifndef U_CHECK_DYLOAD #ifndef U_CHECK_DYLOAD
#define U_CHECK_DYLOAD 1 #define U_CHECK_DYLOAD 1
#endif #endif
/* Do we allow ICU users to use the draft APIs by default? */ /** Do we allow ICU users to use the draft APIs by default? */
#ifndef U_DEFAULT_SHOW_DRAFT #ifndef U_DEFAULT_SHOW_DRAFT
#define U_DEFAULT_SHOW_DRAFT 1 #define U_DEFAULT_SHOW_DRAFT 1
#endif #endif
/** @} */ /** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ Character data types */ /** @{ Character data types */
/*========================================================================= ==*/ /*========================================================================= ==*/
skipping to change at line 232 skipping to change at line 244
#endif #endif
/** @} */ /** @} */
/** /**
* @{ * @{
* \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
*
* \def U_GNUC_UTF16_STRING
* @internal
*/ */
#ifndef U_GNUC_UTF16_STRING #ifndef U_GNUC_UTF16_STRING
#define U_GNUC_UTF16_STRING 0 #define U_GNUC_UTF16_STRING 0
#endif #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 || U_GNUC_UTF16_STRING
#define U_DECLARE_UTF16(string) u ## string #define U_DECLARE_UTF16(string) u ## string
skipping to change at line 330 skipping to change at line 345
#ifndef U_ALIGN_CODE #ifndef U_ALIGN_CODE
#define U_ALIGN_CODE(n) #define U_ALIGN_CODE(n)
#endif #endif
/** @} */ /** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ GCC built in functions for atomic memory operations */ /** @{ GCC built in functions for atomic memory operations */
/*========================================================================= ==*/ /*========================================================================= ==*/
/**
* \def U_HAVE_GCC_ATOMICS
* @internal
*/
#ifndef U_HAVE_GCC_ATOMICS #ifndef U_HAVE_GCC_ATOMICS
#define U_HAVE_GCC_ATOMICS 1 #define U_HAVE_GCC_ATOMICS 1
#endif #endif
/** @} */ /** @} */
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ Programs used by ICU code */ /** @{ Programs used by ICU code */
/*========================================================================= ==*/ /*========================================================================= ==*/
skipping to change at line 355 skipping to change at line 374
#define U_MAKE "/usr/bin/gmake" #define U_MAKE "/usr/bin/gmake"
#endif #endif
/** @} */ /** @} */
#endif /* CYGWINMSVC */ #endif /* CYGWINMSVC */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Custom icu entry point renaming */ /* Custom icu entry point renaming */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Define the library suffix in a C syntax. */
/**
* Define the library suffix with C syntax.
* @internal
*/
# define U_LIB_SUFFIX_C_NAME # define U_LIB_SUFFIX_C_NAME
/**
* Define the library suffix as a string with C syntax
* @internal
*/
# define U_LIB_SUFFIX_C_NAME_STRING "" # define U_LIB_SUFFIX_C_NAME_STRING ""
/**
* 1 if a custom library suffix is set
* @internal
*/
# define U_HAVE_LIB_SUFFIX 0 # define U_HAVE_LIB_SUFFIX 0
#if U_HAVE_LIB_SUFFIX #if U_HAVE_LIB_SUFFIX
# ifndef U_ICU_ENTRY_POINT_RENAME # ifndef U_ICU_ENTRY_POINT_RENAME
/* Renaming pattern: u_strcpy_41_suffix */ /* Renaming pattern: u_strcpy_41_suffix */
# define U_ICU_ENTRY_POINT_RENAME(x) x ## _ ## 43 ## # define U_ICU_ENTRY_POINT_RENAME(x) x ## _ ## 44 ##
# define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt####major##minor##_d at # define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt####major##minor##_d at
# endif # endif
#endif #endif
#endif #endif
 End of changes. 12 change blocks. 
7 lines changed or deleted 38 lines changed or added


 plurfmt.h   plurfmt.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2007-2009, International Business Machines Corporation and * Copyright (C) 2007-2010, International Business Machines Corporation and
* others. All Rights Reserved. * others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* File PLURFMT.H * File PLURFMT.H
* *
* Modification History:* * Modification History:*
* Date Name Description * Date Name Description
* *
*************************************************************************** ***** *************************************************************************** *****
skipping to change at line 100 skipping to change at line 100
* </p><p> * </p><p>
* You always have to define a message text for the default plural case * You always have to define a message text for the default plural case
* "<code>other</code>" which is contained in every rule set. If the plural * "<code>other</code>" which is contained in every rule set. If the plural
* rules of the <code>PluralFormat</code> object do not contain a plural ca se * rules of the <code>PluralFormat</code> object do not contain a plural ca se
* identified by <code><i>caseKeyword</i></code>, U_DEFAULT_KEYWORD_MISSING * identified by <code><i>caseKeyword</i></code>, U_DEFAULT_KEYWORD_MISSING
* will be set to status. * will be set to status.
* If you do not specify a message text for a particular plural case, the * If you do not specify a message text for a particular plural case, the
* message text of the plural case "<code>other</code>" gets assigned to th is * message text of the plural case "<code>other</code>" gets assigned to th is
* plural case. If you specify more than one message for the same plural ca se, * plural case. If you specify more than one message for the same plural ca se,
* U_DUPLICATE_KEYWORD will be set to status. * U_DUPLICATE_KEYWORD will be set to status.
* <br/> * <br>
* Spaces between <code><i>caseKeyword</i></code> and * Spaces between <code><i>caseKeyword</i></code> and
* <code><i>message</i></code> will be ignored; spaces within * <code><i>message</i></code> will be ignored; spaces within
* <code><i>message</i></code> will be preserved. * <code><i>message</i></code> will be preserved.
* </p><p> * </p><p>
* The message text for a particular plural case may contain other message * The message text for a particular plural case may contain other message
* format patterns. <code>PluralFormat</code> preserves these so that you * format patterns. <code>PluralFormat</code> preserves these so that you
* can use the strings produced by <code>PluralFormat</code> with other * can use the strings produced by <code>PluralFormat</code> with other
* formatters. If you are using <code>PluralFormat</code> inside a * formatters. If you are using <code>PluralFormat</code> inside a
* <code>MessageFormat</code> pattern, <code>MessageFormat</code> will * <code>MessageFormat</code> pattern, <code>MessageFormat</code> will
* automatically evaluate the resulting format pattern.<br/> * automatically evaluate the resulting format pattern.<br>
* Thus, curly braces (<code>{</code>, <code>}</code>) are <i>only</i> allo wed * Thus, curly braces (<code>{</code>, <code>}</code>) are <i>only</i> allo wed
* in message texts to define a nested format pattern.<br/> * in message texts to define a nested format pattern.<br>
* The pound sign (<code>#</code>) will be interpreted as the number placeh older * The pound sign (<code>#</code>) will be interpreted as the number placeh older
* in the message text, if it is not contained in curly braces (to preserve * in the message text, if it is not contained in curly braces (to preserve
* <code>NumberFormat</code> patterns). <code>PluralFormat</code> will * <code>NumberFormat</code> patterns). <code>PluralFormat</code> will
* replace each of those pound signs by the number passed to the * replace each of those pound signs by the number passed to the
* <code>format()</code> method. It will be formatted using a * <code>format()</code> method. It will be formatted using a
* <code>NumberFormat</code> for the <code>PluralFormat</code>'s locale. If you * <code>NumberFormat</code> for the <code>PluralFormat</code>'s locale. If you
* need special number formatting, you have to explicitly specify a * need special number formatting, you have to explicitly specify a
* <code>NumberFormat</code> for the <code>PluralFormat</code> to use. * <code>NumberFormat</code> for the <code>PluralFormat</code> to use.
* </p> * </p>
* Example * Example
skipping to change at line 141 skipping to change at line 141
* Formattable args1[] = {(int32_t)0}; * Formattable args1[] = {(int32_t)0};
* Formattable args2[] = {(int32_t)3}; * Formattable args2[] = {(int32_t)3};
* FieldPosition ignore(FieldPosition::DONT_CARE); * FieldPosition ignore(FieldPosition::DONT_CARE);
* UnicodeString result; * UnicodeString result;
* msgFmt->format(args1, 1, result, ignore, status); * msgFmt->format(args1, 1, result, ignore, status);
* cout << result << endl; * cout << result << endl;
* result.remove(); * result.remove();
* msgFmt->format(args2, 1, result, ignore, status); * msgFmt->format(args2, 1, result, ignore, status);
* cout << result << endl; * cout << result << endl;
* </pre> * </pre>
* Produces the output:<br/> * Produces the output:<br>
* <code>C'est 0,0 fichier dans la liste.</code><br/> * <code>C'est 0,0 fichier dans la liste.</code><br>
* <code>Ce sont 3 fichiers dans la liste."</code> * <code>Ce sont 3 fichiers dans la liste."</code>
* <p> * <p>
* <strong>Note:</strong><br/> * <strong>Note:</strong><br>
* Currently <code>PluralFormat</code> * Currently <code>PluralFormat</code>
* does not make use of quotes like <code>MessageFormat</code>. * does not make use of quotes like <code>MessageFormat</code>.
* If you use plural format strings with <code>MessageFormat</code> and w ant * If you use plural format strings with <code>MessageFormat</code> and w ant
* to use a quote sign "<code>'</code>", you have to write "<code>''</cod e>". * to use a quote sign "<code>'</code>", you have to write "<code>''</cod e>".
* <code>MessageFormat</code> unquotes this pattern and passes the unquo ted * <code>MessageFormat</code> unquotes this pattern and passes the unquo ted
* pattern to <code>PluralFormat</code>. It's a bit trickier if you use * pattern to <code>PluralFormat</code>. It's a bit trickier if you use
* nested formats that do quoting. In the example above, we wanted to ins ert * nested formats that do quoting. In the example above, we wanted to ins ert
* "<code>'</code>" in the number format pattern. Since * "<code>'</code>" in the number format pattern. Since
* <code>NumberFormat</code> supports quotes, we had to insert * <code>NumberFormat</code> supports quotes, we had to insert
* "<code>''</code>". But since <code>MessageFormat</code> unquotes the * "<code>''</code>". But since <code>MessageFormat</code> unquotes the
skipping to change at line 310 skipping to change at line 310
* Patterns and their interpretation are specified in the class descrip tion. * Patterns and their interpretation are specified in the class descrip tion.
* *
* @param pattern the pattern for this plural format * @param pattern the pattern for this plural format
* errors are returned to status if the pattern is inval id. * errors are returned to status if the pattern is inval id.
* @param status output param set to success/failure code on exit, whi ch * @param status output param set to success/failure code on exit, whi ch
* must not indicate a failure before the function call. * must not indicate a failure before the function call.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
void applyPattern(const UnicodeString& pattern, UErrorCode& status); void applyPattern(const UnicodeString& pattern, UErrorCode& status);
using Format::format;
/** /**
* Formats a plural message for a given number. * Formats a plural message for a given number.
* *
* @param number a number for which the plural message should be forma tted * @param number a number for which the plural message should be forma tted
* for. If no pattern has been applied to this * for. If no pattern has been applied to this
* <code>PluralFormat</code> object yet, the formatted n umber * <code>PluralFormat</code> object yet, the formatted n umber
* will be returned. * will be returned.
* @param status output param set to success/failure code on exit, whi ch * @param status output param set to success/failure code on exit, whi ch
* must not indicate a failure before the function call. * must not indicate a failure before the function call.
* @return the string containing the formatted plural message. * @return the string containing the formatted plural message.
skipping to change at line 364 skipping to change at line 366
UnicodeString& format(int32_t number, UnicodeString& format(int32_t number,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPosition& pos, FieldPosition& pos,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Formats a plural message for a given number. * Formats a plural message for a given number.
* *
* @param number a number for which the plural message should be form atted * @param number a number for which the plural message should be form atted
* for. If no pattern has been applied to this * for. If no pattern has been applied to this
* <code>PluralFormat</code> object yet, the formatted number * PluralFormat object yet, the formatted number
* will be returned. * will be returned.
* @param appendTo output parameter to receive result. * @param appendTo output parameter to receive result.
* result is appended to existing contents. * result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
* @param status output param set to success/failure code on exit, wh ich * @param status output param set to success/failure code on exit, wh ich
* must not indicate a failure before the function call . * must not indicate a failure before the function call .
* @return the string containing the formatted plural message. * @return the string containing the formatted plural message.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
 End of changes. 8 change blocks. 
8 lines changed or deleted 10 lines changed or added


 pwin32.h   pwin32.h 
skipping to change at line 286 skipping to change at line 286
* @internal * @internal
*/ */
#if 1 #if 1
#define U_DECLARE_UTF16(string) L ## string #define U_DECLARE_UTF16(string) L ## string
#endif #endif
/*========================================================================= ==*/ /*========================================================================= ==*/
/** @{ Information about POSIX support */ /** @{ Information about POSIX support */
/*========================================================================= ==*/ /*========================================================================= ==*/
/**
* @internal
*/
#if 1 #if 1
#define U_TZSET _tzset #define U_TZSET _tzset
#endif #endif
/**
* @internal
*/
#if 1 #if 1
#define U_TIMEZONE _timezone #define U_TIMEZONE _timezone
#endif #endif
/**
* @internal
*/
#if 1 #if 1
#define U_TZNAME _tzname #define U_TZNAME _tzname
#endif #endif
/**
* @internal
*/
#if 1 #if 1
#define U_DAYLIGHT _daylight #define U_DAYLIGHT _daylight
#endif #endif
#define U_HAVE_MMAP 0 #define U_HAVE_MMAP 0
#define U_HAVE_POPEN 0 #define U_HAVE_POPEN 0
#ifndef U_ENABLE_DYLOAD #ifndef U_ENABLE_DYLOAD
#define U_ENABLE_DYLOAD 1 #define U_ENABLE_DYLOAD 1
#endif #endif
 End of changes. 4 change blocks. 
0 lines changed or deleted 12 lines changed or added


 rbnf.h   rbnf.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 1997-2009, International Business Machines Corporation and others. * Copyright (C) 1997-2010, International Business Machines Corporation and others.
* All Rights Reserved. * All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
*/ */
#ifndef RBNF_H #ifndef RBNF_H
#define RBNF_H #define RBNF_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
/** /**
skipping to change at line 724 skipping to change at line 724
* Return the rule set display name for the provided rule set and local e. * Return the rule set display name for the provided rule set and local e.
* The locale is matched against the locales for which there is display name data, using * The locale is matched against the locales for which there is display name data, using
* normal fallback rules. If no locale matches, the default display na me is returned. * normal fallback rules. If no locale matches, the default display na me is returned.
* @return the display name for the rule set * @return the display name for the rule set
* @stable ICU 3.2 * @stable ICU 3.2
* @see #getRuleSetDisplayName * @see #getRuleSetDisplayName
*/ */
virtual UnicodeString getRuleSetDisplayName(const UnicodeString& ruleSetN ame, virtual UnicodeString getRuleSetDisplayName(const UnicodeString& ruleSetN ame,
const Locale& locale = Locale::getDefault()); const Locale& locale = Locale::getDefault());
using NumberFormat::format;
/** /**
* Formats the specified 32-bit number using the default ruleset. * Formats the specified 32-bit number using the default ruleset.
* @param number The number to format. * @param number The number to format.
* @param toAppendTo the string that will hold the (appended) result * @param toAppendTo the string that will hold the (appended) result
* @param pos the fieldposition * @param pos the fieldposition
* @return A textual representation of the number. * @return A textual representation of the number.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UnicodeString& format(int32_t number, virtual UnicodeString& format(int32_t number,
UnicodeString& toAppendTo, UnicodeString& toAppendTo,
 End of changes. 2 change blocks. 
1 lines changed or deleted 3 lines changed or added


 regex.h   regex.h 
/* /*
********************************************************************** **********************************************************************
* Copyright (C) 2002-2009, International Business Machines * Copyright (C) 2002-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
********************************************************************** **********************************************************************
* file name: regex.h * file name: regex.h
* encoding: US-ASCII * encoding: US-ASCII
* indentation:4 * indentation:4
* *
* created on: 2002oct22 * created on: 2002oct22
* created by: Andy Heninger * created by: Andy Heninger
* *
* ICU Regular Expressions, API for C++ * ICU Regular Expressions, API for C++
skipping to change at line 51 skipping to change at line 51
* need for <code>RegexPattern</code> objects can usually be eliminated. * need for <code>RegexPattern</code> objects can usually be eliminated.
* </p> * </p>
*/ */
#include "unicode/utypes.h" #include "unicode/utypes.h"
#if !UCONFIG_NO_REGULAR_EXPRESSIONS #if !UCONFIG_NO_REGULAR_EXPRESSIONS
#include "unicode/uobject.h" #include "unicode/uobject.h"
#include "unicode/unistr.h" #include "unicode/unistr.h"
#include "unicode/utext.h"
#include "unicode/parseerr.h" #include "unicode/parseerr.h"
#include "unicode/uregex.h" #include "unicode/uregex.h"
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
// Forward Declarations... // Forward Declarations...
class RegexMatcher; class RegexMatcher;
class RegexPattern; class RegexPattern;
class UVector; class UVector;
class UVector32; class UVector32;
class UVector64;
class UnicodeSet; class UnicodeSet;
struct REStackFrame; struct REStackFrame;
struct Regex8BitSet; struct Regex8BitSet;
class RuleBasedBreakIterator; class RuleBasedBreakIterator;
class RegexCImpl; class RegexCImpl;
/** /**
* RBBIPatternDump Debug function, displays the compiled form of a patt ern. * RBBIPatternDump Debug function, displays the compiled form of a patt ern.
* @internal * @internal
*/ */
skipping to change at line 185 skipping to change at line 187
* @return A regexPattern object for the compiled pattern. * @return A regexPattern object for the compiled pattern.
* *
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static RegexPattern * U_EXPORT2 compile( const UnicodeString &regex, static RegexPattern * U_EXPORT2 compile( const UnicodeString &regex,
UParseError &pe, UParseError &pe,
UErrorCode &status); UErrorCode &status);
/** /**
* Compiles the regular expression in string form into a RegexPattern * Compiles the regular expression in string form into a RegexPattern
* object. These compile methods, rather than the constructors, are the
usual
* way that RegexPattern objects are created.
*
* <p>Note that RegexPattern objects must not be deleted while RegexMatc
her
* objects created from the pattern are active. RegexMatchers keep a po
inter
* back to their pattern, so premature deletion of the pattern is a
* catastrophic error.</p>
*
* <p>All pattern match mode flags are set to their default values.</p>
*
* <p>Note that it is often more convenient to construct a RegexMatcher
directly
* from a pattern string rather than separately compiling the pattern
and
* then creating a RegexMatcher object from the pattern.</p>
*
* @param regex The regular expression to be compiled. Note, the text re
ferred
* to by this UText must not be deleted during the lifetime
of the
* RegexPattern object or any RegexMatcher object created f
rom it.
* @param pe Receives the position (line and column nubers) of any er
ror
* within the regular expression.)
* @param status A reference to a UErrorCode to receive any errors.
* @return A regexPattern object for the compiled pattern.
*
* @internal ICU 4.4 technology preview
*/
static RegexPattern * U_EXPORT2 compile( UText *regex,
UParseError &pe,
UErrorCode &status);
/**
* Compiles the regular expression in string form into a RegexPattern
* object using the specified match mode flags. These compile methods, * object using the specified match mode flags. These compile methods,
* rather than the constructors, are the usual way that RegexPattern obj ects * rather than the constructors, are the usual way that RegexPattern obj ects
* are created. * are created.
* *
* <p>Note that RegexPattern objects must not be deleted while RegexMatc her * <p>Note that RegexPattern objects must not be deleted while RegexMatc her
* objects created from the pattern are active. RegexMatchers keep a po inter * objects created from the pattern are active. RegexMatchers keep a po inter
* back to their pattern, so premature deletion of the pattern is a * back to their pattern, so premature deletion of the pattern is a
* catastrophic error.</p> * catastrophic error.</p>
* *
* <p>Note that it is often more convenient to construct a RegexMatcher directly * <p>Note that it is often more convenient to construct a RegexMatcher directly
* from a pattern string instead of than separately compiling the pat tern and * from a pattern string instead of than separately compiling the pat tern and
* then creating a RegexMatcher object from the pattern.</p> * then creating a RegexMatcher object from the pattern.</p>
* *
* @param regex The regular expression to be compiled. * @param regex The regular expression to be compiled.
* @param flags The match mode flags to be used. * @param flags The match mode flags to be used.
* @param pe Receives the position (line and column nubers) of any er ror * @param pe Receives the position (line and column numbers) of any e rror
* within the regular expression.) * within the regular expression.)
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @return A regexPattern object for the compiled pattern. * @return A regexPattern object for the compiled pattern.
* *
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static RegexPattern * U_EXPORT2 compile( const UnicodeString &regex, static RegexPattern * U_EXPORT2 compile( const UnicodeString &regex,
uint32_t flags, uint32_t flags,
UParseError &pe, UParseError &pe,
UErrorCode &status); UErrorCode &status);
skipping to change at line 227 skipping to change at line 259
* *
* <p>Note that RegexPattern objects must not be deleted while RegexMatc her * <p>Note that RegexPattern objects must not be deleted while RegexMatc her
* objects created from the pattern are active. RegexMatchers keep a po inter * objects created from the pattern are active. RegexMatchers keep a po inter
* back to their pattern, so premature deletion of the pattern is a * back to their pattern, so premature deletion of the pattern is a
* catastrophic error.</p> * catastrophic error.</p>
* *
* <p>Note that it is often more convenient to construct a RegexMatcher directly * <p>Note that it is often more convenient to construct a RegexMatcher directly
* from a pattern string instead of than separately compiling the pat tern and * from a pattern string instead of than separately compiling the pat tern and
* then creating a RegexMatcher object from the pattern.</p> * then creating a RegexMatcher object from the pattern.</p>
* *
* @param regex The regular expression to be compiled. Note, the text re
ferred
* to by this UText must not be deleted during the lifetime
of the
* RegexPattern object or any RegexMatcher object created f
rom it.
* @param flags The match mode flags to be used.
* @param pe Receives the position (line and column numbers) of any e
rror
* within the regular expression.)
* @param status A reference to a UErrorCode to receive any errors.
* @return A regexPattern object for the compiled pattern.
*
* @internal ICU 4.4 technology preview
*/
static RegexPattern * U_EXPORT2 compile( UText *regex,
uint32_t flags,
UParseError &pe,
UErrorCode &status);
/**
* Compiles the regular expression in string form into a RegexPattern
* object using the specified match mode flags. These compile methods,
* rather than the constructors, are the usual way that RegexPattern obj
ects
* are created.
*
* <p>Note that RegexPattern objects must not be deleted while RegexMatc
her
* objects created from the pattern are active. RegexMatchers keep a po
inter
* back to their pattern, so premature deletion of the pattern is a
* catastrophic error.</p>
*
* <p>Note that it is often more convenient to construct a RegexMatcher
directly
* from a pattern string instead of than separately compiling the pat
tern and
* then creating a RegexMatcher object from the pattern.</p>
*
* @param regex The regular expression to be compiled. * @param regex The regular expression to be compiled.
* @param flags The match mode flags to be used. * @param flags The match mode flags to be used.
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @return A regexPattern object for the compiled pattern. * @return A regexPattern object for the compiled pattern.
* *
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
static RegexPattern * U_EXPORT2 compile( const UnicodeString &regex, static RegexPattern * U_EXPORT2 compile( const UnicodeString &regex,
uint32_t flags, uint32_t flags,
UErrorCode &status); UErrorCode &status);
/** /**
* Compiles the regular expression in string form into a RegexPattern
* object using the specified match mode flags. These compile methods,
* rather than the constructors, are the usual way that RegexPattern obj
ects
* are created.
*
* <p>Note that RegexPattern objects must not be deleted while RegexMatc
her
* objects created from the pattern are active. RegexMatchers keep a po
inter
* back to their pattern, so premature deletion of the pattern is a
* catastrophic error.</p>
*
* <p>Note that it is often more convenient to construct a RegexMatcher
directly
* from a pattern string instead of than separately compiling the pat
tern and
* then creating a RegexMatcher object from the pattern.</p>
*
* @param regex The regular expression to be compiled. Note, the text re
ferred
* to by this UText must not be deleted during the lifetime
of the
* RegexPattern object or any RegexMatcher object created f
rom it.
* @param flags The match mode flags to be used.
* @param status A reference to a UErrorCode to receive any errors.
* @return A regexPattern object for the compiled pattern.
*
* @internal ICU 4.4 technology preview
*/
static RegexPattern * U_EXPORT2 compile( UText *regex,
uint32_t flags,
UErrorCode &status);
/**
* Get the match mode flags that were used when compiling this pattern. * Get the match mode flags that were used when compiling this pattern.
* @return the match mode flags * @return the match mode flags
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual uint32_t flags() const; virtual uint32_t flags() const;
/** /**
* Creates a RegexMatcher that will match the given input against this p attern. The * Creates a RegexMatcher that will match the given input against this p attern. The
* RegexMatcher can then be used to perform match, find or replace opera tions * RegexMatcher can then be used to perform match, find or replace opera tions
* on the input. Note that a RegexPattern object must not be deleted wh ile * on the input. Note that a RegexPattern object must not be deleted wh ile
skipping to change at line 265 skipping to change at line 356
* *
* @param input The input string to which the regular expression will be applied. * @param input The input string to which the regular expression will be applied.
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @return A RegexMatcher object for this pattern and input. * @return A RegexMatcher object for this pattern and input.
* *
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual RegexMatcher *matcher(const UnicodeString &input, virtual RegexMatcher *matcher(const UnicodeString &input,
UErrorCode &status) const; UErrorCode &status) const;
/**
* Flag to disambiguate RegexPattern::matcher signature
* @internal ICU 4.4 technology preview
*/
enum PatternIsUTextFlag { PATTERN_IS_UTEXT };
/**
* Creates a RegexMatcher that will match the given input against this p
attern. The
* RegexMatcher can then be used to perform match, find or replace opera
tions
* on the input. Note that a RegexPattern object must not be deleted wh
ile
* RegexMatchers created from it still exist and might possibly be used
again.
* <p>
* The matcher will make a shallow clone of the supplied input text, and
all regexp
* pattern matching operations happen on this clone. While read-only op
erations on
* the supplied text are permitted, it is critical that the underlying s
tring not be
* altered or deleted before use by the regular expression operations is
complete.
*
* @param input The input text to which the regular expression will b
e applied.
* @param flag Must be RegexPattern::PATTERN_IS_UTEXT; used to disam
biguate
* method signature.
* @param status A reference to a UErrorCode to receive any errors.
* @return A RegexMatcher object for this pattern and input.
*
* @internal ICU 4.4 technology preview
*/
virtual RegexMatcher *matcher(UText *input,
PatternIsUTextFlag flag,
UErrorCode &status) const;
private: private:
/** /**
* Cause a compilation error if an application accidently attempts to * Cause a compilation error if an application accidently attempts to
* create a matcher with a (UChar *) string as input rather than * create a matcher with a (UChar *) string as input rather than
* a UnicodeString. Avoids a dangling reference to a temporary strin g. * a UnicodeString. Avoids a dangling reference to a temporary strin g.
* <p> * <p>
* To efficiently work with UChar *strings, wrap the data in a UnicodeS tring * To efficiently work with UChar *strings, wrap the data in a UnicodeS tring
* using one of the aliasing constructors, such as * using one of the aliasing constructors, such as
* <code>UnicodeString(UBool isTerminated, const UChar *text, int32_t t extLength);</code> * <code>UnicodeString(UBool isTerminated, const UChar *text, int32_t t extLength);</code>
* or in a UText, using
* <code>utext_openUChars(UText *ut, const UChar *text, int64_t textLen
gth, UErrorCode *status);</code>
* *
* @internal * @internal
*/ */
RegexMatcher *matcher(const UChar *input, RegexMatcher *matcher(const UChar *input,
UErrorCode &status) const; UErrorCode &status) const;
public: public:
/** /**
* Creates a RegexMatcher that will match against this pattern. The * Creates a RegexMatcher that will match against this pattern. The
* RegexMatcher can be used to perform match, find or replace operations . * RegexMatcher can be used to perform match, find or replace operations .
skipping to change at line 310 skipping to change at line 432
* @param regex The regular expression * @param regex The regular expression
* @param input The string data to be matched * @param input The string data to be matched
* @param pe Receives the position of any syntax errors within the regul ar expression * @param pe Receives the position of any syntax errors within the regul ar expression
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @return True if the regular expression exactly matches the full input string. * @return True if the regular expression exactly matches the full input string.
* *
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static UBool U_EXPORT2 matches(const UnicodeString &regex, static UBool U_EXPORT2 matches(const UnicodeString &regex,
const UnicodeString &input, const UnicodeString &input,
UParseError &pe,
UErrorCode &status);
/**
* Test whether a string matches a regular expression. This convenience
function
* both compiles the reguluar expression and applies it in a single oper
ation.
* Note that if the same pattern needs to be applied repeatedly, this me
thod will be
* less efficient than creating and reusing a RegexMatcher object.
*
* @param regex The regular expression
* @param input The string data to be matched
* @param pe Receives the position of any syntax errors within the regul
ar expression
* @param status A reference to a UErrorCode to receive any errors.
* @return True if the regular expression exactly matches the full input
string.
*
* @internal ICU 4.4 technology preview
*/
static UBool U_EXPORT2 matches(UText *regex,
UText *input,
UParseError &pe, UParseError &pe,
UErrorCode &status); UErrorCode &status);
/** /**
* Returns the regular expression from which this pattern was compile * Returns the regular expression from which this pattern was compiled.
d. This method will work
* @stable ICU 2.4 * even if the pattern was compiled from a UText.
*
* Note: If the pattern was originally compiled from a UText, and that U
Text was modified,
* the returned string may no longer reflect the RegexPattern object.
* @stable ICU 2.4
*/ */
virtual UnicodeString pattern() const; virtual UnicodeString pattern() const;
/**
* Returns the regular expression from which this pattern was compiled.
This method will work
* even if the pattern was compiled from a UnicodeString.
*
* Note: This is the original input, not a clone. If the pattern was ori
ginally compiled from a
* UText, and that UText was modified, the returned UText may no longer
reflect the RegexPattern
* object.
*
* @internal ICU 4.4 technology preview
*/
virtual UText *patternText() const;
/** /**
* Split a string into fields. Somewhat like split() from Perl. * Split a string into fields. Somewhat like split() from Perl.
* The pattern matches identify delimiters that separate the input * The pattern matches identify delimiters that separate the input
* into fields. The input data between the matches becomes the * into fields. The input data between the matches becomes the
* fields themselves. * fields themselves.
* <p> * <p>
* For the best performance on split() operations, * For the best performance on split() operations,
* <code>RegexMatcher::split</code> is perferable to this function * <code>RegexMatcher::split</code> is perferable to this function
* *
* @param input The string to be split into fields. The field delimi ters * @param input The string to be split into fields. The field delimi ters
skipping to change at line 350 skipping to change at line 507
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @return The number of fields into which the input string was split. * @return The number of fields into which the input string was split.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual int32_t split(const UnicodeString &input, virtual int32_t split(const UnicodeString &input,
UnicodeString dest[], UnicodeString dest[],
int32_t destCapacity, int32_t destCapacity,
UErrorCode &status) const; UErrorCode &status) const;
/** /**
* Split a string into fields. Somewhat like split() from Perl.
* The pattern matches identify delimiters that separate the input
* into fields. The input data between the matches becomes the
* fields themselves.
* <p>
* For the best performance on split() operations,
* <code>RegexMatcher::split</code> is perferable to this function
*
* @param input The string to be split into fields. The field delimi
ters
* match the pattern (in the "this" object)
* @param dest An array of mutable UText structs to receive the resu
lts of the split.
* If a field is NULL, a new UText is allocated to conta
in the results for
* that field. This new UText is not guaranteed to be mu
table.
* @param destCapacity The number of elements in the destination array
.
* If the number of fields found is less than destCapaci
ty, the
* extra strings in the destination array are not altere
d.
* If the number of destination strings is less than the
number
* of fields, the trailing part of the input string, inc
luding any
* field delimiters, is placed in the last destination s
tring.
* @param status A reference to a UErrorCode to receive any errors.
* @return The number of fields into which the input string was
split.
*
* @internal ICU 4.4 technology preview
*/
virtual int32_t split(UText *input,
UText *dest[],
int32_t destCapacity,
UErrorCode &status) const;
/**
* ICU "poor man's RTTI", returns a UClassID for the actual class. * ICU "poor man's RTTI", returns a UClassID for the actual class.
* *
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
/** /**
* ICU "poor man's RTTI", returns a UClassID for this class. * ICU "poor man's RTTI", returns a UClassID for this class.
* *
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static UClassID U_EXPORT2 getStaticClassID(); static UClassID U_EXPORT2 getStaticClassID();
private: private:
// //
// Implementation Data // Implementation Data
// //
UnicodeString fPattern; // The original pattern string. UText *fPattern; // The original pattern string.
UnicodeString *fPatternString; // The original pattern UncodeString if
relevant
uint32_t fFlags; // The flags used when compiling the pat tern. uint32_t fFlags; // The flags used when compiling the pat tern.
// //
UVector32 *fCompiledPat; // The compiled pattern p-code. UVector64 *fCompiledPat; // The compiled pattern p-code.
UnicodeString fLiteralText; // Any literal string data from the patt ern, UnicodeString fLiteralText; // Any literal string data from the patt ern,
// after un-escaping, for use during t he match. // after un-escaping, for use during t he match.
UVector *fSets; // Any UnicodeSets referenced from the p attern. UVector *fSets; // Any UnicodeSets referenced from the p attern.
Regex8BitSet *fSets8; // (and fast sets for latin-1 range .) Regex8BitSet *fSets8; // (and fast sets for latin-1 range .)
UErrorCode fDeferredStatus; // status if some prior error has left this UErrorCode fDeferredStatus; // status if some prior error has left this
// RegexPattern in an unusable state. // RegexPattern in an unusable state.
int32_t fMinMatchLen; // Minimum Match Length. All matches wi ll have length int32_t fMinMatchLen; // Minimum Match Length. All matches wi ll have length
skipping to change at line 409 skipping to change at line 597
Regex8BitSet *fStaticSets8; // Ptr to the static (shared) latin-1 on ly Regex8BitSet *fStaticSets8; // Ptr to the static (shared) latin-1 on ly
// sets for predefined regex classes. // sets for predefined regex classes.
int32_t fStartType; // Info on how a match must start. int32_t fStartType; // Info on how a match must start.
int32_t fInitialStringIdx; // int32_t fInitialStringIdx; //
int32_t fInitialStringLen; int32_t fInitialStringLen;
UnicodeSet *fInitialChars; UnicodeSet *fInitialChars;
UChar32 fInitialChar; UChar32 fInitialChar;
Regex8BitSet *fInitialChars8; Regex8BitSet *fInitialChars8;
UBool fNeedsAltInput;
friend class RegexCompile; friend class RegexCompile;
friend class RegexMatcher; friend class RegexMatcher;
friend class RegexCImpl; friend class RegexCImpl;
// //
// Implementation Methods // Implementation Methods
// //
void init(); // Common initialization, for use by con structors. void init(); // Common initialization, for use by con structors.
void zap(); // Common cleanup void zap(); // Common cleanup
skipping to change at line 461 skipping to change at line 650
*/ */
RegexMatcher(const UnicodeString &regexp, uint32_t flags, UErrorCode &s tatus); RegexMatcher(const UnicodeString &regexp, uint32_t flags, UErrorCode &s tatus);
/** /**
* Construct a RegexMatcher for a regular expression. * Construct a RegexMatcher for a regular expression.
* This is a convenience method that avoids the need to explicitly cre ate * This is a convenience method that avoids the need to explicitly cre ate
* a RegexPattern object. Note that if several RegexMatchers need to be * a RegexPattern object. Note that if several RegexMatchers need to be
* created for the same expression, it will be more efficient to * created for the same expression, it will be more efficient to
* separately create and cache a RegexPattern object, and use * separately create and cache a RegexPattern object, and use
* its matcher() method to create the RegexMatcher objects. * its matcher() method to create the RegexMatcher objects.
*
* @param regexp The regular expression to be compiled.
* @param flags Regular expression options, such as case insensitive
matching.
* @see UREGEX_CASE_INSENSITIVE
* @param status Any errors are reported by setting this UErrorCode v
ariable.
*
* @internal ICU 4.4 technology preview
*/
RegexMatcher(UText *regexp, uint32_t flags, UErrorCode &status);
/**
* Construct a RegexMatcher for a regular expression.
* This is a convenience method that avoids the need to explicitly cre
ate
* a RegexPattern object. Note that if several RegexMatchers need to
be
* created for the same expression, it will be more efficient to
* separately create and cache a RegexPattern object, and use
* its matcher() method to create the RegexMatcher objects.
* <p> * <p>
* The matcher will retain a reference to the supplied input string, a nd all regexp * The matcher will retain a reference to the supplied input string, a nd all regexp
* pattern matching operations happen directly on the original string. It is * pattern matching operations happen directly on the original string. It is
* critical that the string not be altered or deleted before use by th e regular * critical that the string not be altered or deleted before use by th e regular
* expression operations is complete. * expression operations is complete.
* *
* @param regexp The Regular Expression to be compiled. * @param regexp The Regular Expression to be compiled.
* @param input The string to match. The matcher retains a referenc e to the * @param input The string to match. The matcher retains a referenc e to the
* caller's string; mo copy is made. * caller's string; mo copy is made.
* @param flags Regular expression options, such as case insensitive matching. * @param flags Regular expression options, such as case insensitive matching.
* @see UREGEX_CASE_INSENSITIVE * @see UREGEX_CASE_INSENSITIVE
* @param status Any errors are reported by setting this UErrorCode v ariable. * @param status Any errors are reported by setting this UErrorCode v ariable.
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
RegexMatcher(const UnicodeString &regexp, const UnicodeString &input, RegexMatcher(const UnicodeString &regexp, const UnicodeString &input,
uint32_t flags, UErrorCode &status); uint32_t flags, UErrorCode &status);
/**
* Construct a RegexMatcher for a regular expression.
* This is a convenience method that avoids the need to explicitly cre
ate
* a RegexPattern object. Note that if several RegexMatchers need to
be
* created for the same expression, it will be more efficient to
* separately create and cache a RegexPattern object, and use
* its matcher() method to create the RegexMatcher objects.
* <p>
* The matcher will make a shallow clone of the supplied input text, a
nd all regexp
* pattern matching operations happen on this clone. While read-only
operations on
* the supplied text are permitted, it is critical that the underlying
string not be
* altered or deleted before use by the regular expression operations
is complete.
*
* @param regexp The Regular Expression to be compiled.
* @param input The string to match. The matcher retains a shallow
clone of the text.
* @param flags Regular expression options, such as case insensitive
matching.
* @see UREGEX_CASE_INSENSITIVE
* @param status Any errors are reported by setting this UErrorCode v
ariable.
*
* @internal ICU 4.4 technology preview
*/
RegexMatcher(UText *regexp, UText *input,
uint32_t flags, UErrorCode &status);
private: private:
/** /**
* Cause a compilation error if an application accidently attempts to * Cause a compilation error if an application accidently attempts to
* create a matcher with a (UChar *) string as input rather than * create a matcher with a (UChar *) string as input rather than
* a UnicodeString. Avoids a dangling reference to a temporary str ing. * a UnicodeString. Avoids a dangling reference to a temporary str ing.
* <p> * <p>
* To efficiently work with UChar *strings, wrap the data in a UnicodeS tring * To efficiently work with UChar *strings, wrap the data in a UnicodeS tring
* using one of the aliasing constructors, such as * using one of the aliasing constructors, such as
* <code>UnicodeString(UBool isTerminated, const UChar *text, int32_t t extLength);</code> * <code>UnicodeString(UBool isTerminated, const UChar *text, int32_t t extLength);</code>
* or in a UText, using
* <code>utext_openUChars(UText *ut, const UChar *text, int64_t textLen
gth, UErrorCode *status);</code>
* *
* @internal * @internal
*/ */
RegexMatcher(const UnicodeString &regexp, const UChar *input, RegexMatcher(const UnicodeString &regexp, const UChar *input,
uint32_t flags, UErrorCode &status); uint32_t flags, UErrorCode &status);
public: public:
/** /**
* Destructor. * Destructor.
* *
skipping to change at line 588 skipping to change at line 820
* If the pattern can match an empty string, an empty string may be re turned. * If the pattern can match an empty string, an empty string may be re turned.
* @param status A reference to a UErrorCode to receive any err ors. * @param status A reference to a UErrorCode to receive any err ors.
* Possible errors are U_REGEX_INVALID_STATE if no match * Possible errors are U_REGEX_INVALID_STATE if no match
* has been attempted or the last match failed. * has been attempted or the last match failed.
* @return a string containing the matched input text. * @return a string containing the matched input text.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual UnicodeString group(UErrorCode &status) const; virtual UnicodeString group(UErrorCode &status) const;
/** /**
* Flag to disambiguate RegexMatcher::group signature
* @internal ICU 4.4 technology preview
*/
enum MatcherDestIsUTextFlag { MATCHER_DEST_IS_UTEXT };
/**
* Returns a string containing the text matched by the previous match.
* If the pattern can match an empty string, an empty string may be re
turned.
* @param dest A mutable UText in which the matching text is
placed.
* If NULL, a new UText will be created (which ma
y not be mutable).
* @param flag Must be RegexMatcher::MATCHER_DEST_IS_UTEXT; u
sed to
* disambiguate method signature.
* @param status A reference to a UErrorCode to receive any err
ors.
* Possible errors are U_REGEX_INVALID_STATE if
no match
* has been attempted or the last match failed.
* @return A string containing the matched input text. If a pre-alloc
ated UText
* was provided, it will always be used and returned.
*
* @internal ICU 4.4 technology preview
*/
virtual UText *group(UText *dest, MatcherDestIsUTextFlag flag, UErrorCo
de &status) const;
/**
* Returns a string containing the text captured by the given group * Returns a string containing the text captured by the given group
* during the previous match operation. Group(0) is the entire match . * during the previous match operation. Group(0) is the entire match .
* *
* @param groupNum the capture group number * @param groupNum the capture group number
* @param status A reference to a UErrorCode to receive any err ors. * @param status A reference to a UErrorCode to receive any err ors.
* Possible errors are U_REGEX_INVALID_STATE if no match * Possible errors are U_REGEX_INVALID_STATE if no match
* has been attempted or the last match failed an d * has been attempted or the last match failed an d
* U_INDEX_OUTOFBOUNDS_ERROR for a bad capture gr oup number. * U_INDEX_OUTOFBOUNDS_ERROR for a bad capture gr oup number.
* @return the captured text * @return the captured text
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual UnicodeString group(int32_t groupNum, UErrorCode &status) const ; virtual UnicodeString group(int32_t groupNum, UErrorCode &status) const ;
/** /**
* Returns a string containing the text captured by the given group
* during the previous match operation. Group(0) is the entire match.
*
* @param groupNum the capture group number
* @param dest A mutable UText in which the matching text is
placed.
* If NULL, a new UText will be created (which ma
y not be mutable).
* @param status A reference to a UErrorCode to receive any err
ors.
* Possible errors are U_REGEX_INVALID_STATE if
no match
* has been attempted or the last match failed.
* @return A string containing the matched input text. If a pre-alloc
ated UText
* was provided, it will always be used and returned.
*
* @internal ICU 4.4 technology preview
*/
virtual UText *group(int32_t groupNum, UText *dest, UErrorCode &status)
const;
/**
* Returns the number of capturing groups in this matcher's pattern. * Returns the number of capturing groups in this matcher's pattern.
* @return the number of capture groups * @return the number of capture groups
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual int32_t groupCount() const; virtual int32_t groupCount() const;
/** /**
* Returns the index in the input string of the start of the text matc hed * Returns the index in the input string of the start of the text matc hed
* during the previous match operation. * during the previous match operation.
* @param status a reference to a UErrorCode to receive any er rors. * @param status a reference to a UErrorCode to receive any er rors.
skipping to change at line 695 skipping to change at line 967
/** /**
* Resets this matcher with a new input string. This allows instances of RegexMatcher * Resets this matcher with a new input string. This allows instances of RegexMatcher
* to be reused, which is more efficient than creating a new RegexMa tcher for * to be reused, which is more efficient than creating a new RegexMa tcher for
* each input string to be processed. * each input string to be processed.
* @param input The new string on which subsequent pattern matches wil l operate. * @param input The new string on which subsequent pattern matches wil l operate.
* The matcher retains a reference to the callers string, and operates * The matcher retains a reference to the callers string, and operates
* directly on that. Ownership of the string remains wit h the caller. * directly on that. Ownership of the string remains wit h the caller.
* Because no copy of the string is made, it is essential that the * Because no copy of the string is made, it is essential that the
* caller not delete the string until after regexp operat ions on it * caller not delete the string until after regexp operat ions on it
* are done. * are done.
* Note that while a reset on the matcher with an input s
tring that is then
* modified across/during matcher operations may be suppo
rted currently for UnicodeString,
* this was not originally intended behavior, and support
for this is not guaranteed
* in upcoming versions of ICU.
* @return this RegexMatcher. * @return this RegexMatcher.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual RegexMatcher &reset(const UnicodeString &input); virtual RegexMatcher &reset(const UnicodeString &input);
/**
* Resets this matcher with a new input string. This allows instances
of RegexMatcher
* to be reused, which is more efficient than creating a new RegexMa
tcher for
* each input string to be processed.
* @param input The new string on which subsequent pattern matches wil
l operate.
* The matcher makes a shallow clone of the given text; o
wnership of the
* original string remains with the caller. Because no de
ep copy of the
* text is made, it is essential that the caller not modi
fy the string
* until after regexp operations on it are done.
* @return this RegexMatcher.
*
* @internal ICU 4.4 technology preview
*/
virtual RegexMatcher &reset(UText *input);
private: private:
/** /**
* Cause a compilation error if an application accidently attempts to * Cause a compilation error if an application accidently attempts to
* reset a matcher with a (UChar *) string as input rather than * reset a matcher with a (UChar *) string as input rather than
* a UnicodeString. Avoids a dangling reference to a temporary str ing. * a UnicodeString. Avoids a dangling reference to a temporary str ing.
* <p> * <p>
* To efficiently work with UChar *strings, wrap the data in a UnicodeS tring * To efficiently work with UChar *strings, wrap the data in a UnicodeS tring
* using one of the aliasing constructors, such as * using one of the aliasing constructors, such as
* <code>UnicodeString(UBool isTerminated, const UChar *text, int32_t t extLength);</code> * <code>UnicodeString(UBool isTerminated, const UChar *text, int32_t t extLength);</code>
* or in a UText, using
* <code>utext_openUChars(UText *ut, const UChar *text, int64_t textLen
gth, UErrorCode *status);</code>
* *
* @internal * @internal
*/ */
RegexMatcher &reset(const UChar *input); RegexMatcher &reset(const UChar *input);
public: public:
/** /**
* Returns the input string being matched. The returned string is not * Returns the input string being matched. Ownership of the string be
a copy, longs to
* but the live input string. It should not be altered or deleted. * the matcher; it should not be altered or deleted. This method will
work even if the input
* was originally supplied as a UText.
* @return the input string * @return the input string
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual const UnicodeString &input() const; virtual const UnicodeString &input() const;
/**
* Returns the input string being matched. This is the live input tex
t; it should not be
* altered or deleted. This method will work even if the input was ori
ginally supplied as
* a UnicodeString.
* @return the input text
*
* @internal ICU 4.4 technology preview
*/
virtual UText *inputText() const;
/**
* Returns the input string being matched, either by copying it into t
he provided
* UText parameter or by returning a shallow clone of the live input.
Note that copying
* the entire input may cause significant performance and memory issue
s.
* @param dest The UText into which the input should be copied, or NUL
L to create a new UText
* @return dest if non-NULL, a shallow copy of the input text otherwis
e
*
* @internal ICU 4.4 technology preview
*/
virtual UText *getInput(UText *dest) const;
/** Sets the limits of this matcher's region. /** Sets the limits of this matcher's region.
* The region is the part of the input string that will be searched to find a match. * The region is the part of the input string that will be searched to find a match.
* Invoking this method resets the matcher, and then sets the region to start * Invoking this method resets the matcher, and then sets the region to start
* at the index specified by the start parameter and end at the index s pecified * at the index specified by the start parameter and end at the index s pecified
* by the end parameter. * by the end parameter.
* *
* Depending on the transparency and anchoring being used (see useTrans parentBounds * Depending on the transparency and anchoring being used (see useTrans parentBounds
* and useAnchoringBounds), certain constructs such as anchors may beha ve differently * and useAnchoringBounds), certain constructs such as anchors may beha ve differently
* at or around the boundaries of the region * at or around the boundaries of the region
* *
skipping to change at line 867 skipping to change at line 1182
* capture groups. * capture groups.
* *
* @param replacement a string containing the replacement text. * @param replacement a string containing the replacement text.
* @param status a reference to a UErrorCode to receive any er rors. * @param status a reference to a UErrorCode to receive any er rors.
* @return a string containing the results of the find a nd replace. * @return a string containing the results of the find a nd replace.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual UnicodeString replaceAll(const UnicodeString &replacement, UErr orCode &status); virtual UnicodeString replaceAll(const UnicodeString &replacement, UErr orCode &status);
/** /**
* Replaces every substring of the input that matches the pattern
* with the given replacement string. This is a convenience function
that
* provides a complete find-and-replace-all operation.
*
* This method first resets this matcher. It then scans the input str
ing
* looking for matches of the pattern. Input that is not part of any
* match is left unchanged; each match is replaced in the result by t
he
* replacement string. The replacement string may contain references
to
* capture groups.
*
* @param replacement a string containing the replacement text.
* @param dest a mutable UText in which the results are plac
ed.
* If NULL, a new UText will be created (which
may not be mutable).
* @param status a reference to a UErrorCode to receive any er
rors.
* @return a string containing the results of the find a
nd replace.
* If a pre-allocated UText was provided, it wi
ll always be used and returned.
*
* @internal ICU 4.4 technology preview
*/
virtual UText *replaceAll(UText *replacement, UText *dest, UErrorCode &
status);
/**
* Replaces the first substring of the input that matches * Replaces the first substring of the input that matches
* the pattern with the replacement string. This is a convenience * the pattern with the replacement string. This is a convenience
* function that provides a complete find-and-replace operation. * function that provides a complete find-and-replace operation.
* *
* <p>This function first resets this RegexMatcher. It then scans the in put string * <p>This function first resets this RegexMatcher. It then scans the in put string
* looking for a match of the pattern. Input that is not part * looking for a match of the pattern. Input that is not part
* of the match is appended directly to the result string; the match is replaced * of the match is appended directly to the result string; the match is replaced
* in the result by the replacement string. The replacement string may c ontain * in the result by the replacement string. The replacement string may c ontain
* references to captured groups.</p> * references to captured groups.</p>
* *
skipping to change at line 889 skipping to change at line 1226
* RegexMatcher should be reset before doing additional find() operat ions.</p> * RegexMatcher should be reset before doing additional find() operat ions.</p>
* *
* @param replacement a string containing the replacement text. * @param replacement a string containing the replacement text.
* @param status a reference to a UErrorCode to receive any er rors. * @param status a reference to a UErrorCode to receive any er rors.
* @return a string containing the results of the find a nd replace. * @return a string containing the results of the find a nd replace.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual UnicodeString replaceFirst(const UnicodeString &replacement, UE rrorCode &status); virtual UnicodeString replaceFirst(const UnicodeString &replacement, UE rrorCode &status);
/** /**
* Replaces the first substring of the input that matches
* the pattern with the replacement string. This is a convenience
* function that provides a complete find-and-replace operation.
*
* <p>This function first resets this RegexMatcher. It then scans the in
put string
* looking for a match of the pattern. Input that is not part
* of the match is appended directly to the result string; the match is
replaced
* in the result by the replacement string. The replacement string may c
ontain
* references to captured groups.</p>
*
* <p>The state of the matcher (the position at which a subsequent find(
)
* would begin) after completing a replaceFirst() is not specified.
The
* RegexMatcher should be reset before doing additional find() operat
ions.</p>
*
* @param replacement a string containing the replacement text.
* @param dest a mutable UText in which the results are plac
ed.
* If NULL, a new UText will be created (which
may not be mutable).
* @param status a reference to a UErrorCode to receive any er
rors.
* @return a string containing the results of the find a
nd replace.
* If a pre-allocated UText was provided, it wi
ll always be used and returned.
*
* @internal ICU 4.4 technology preview
*/
virtual UText *replaceFirst(UText *replacement, UText *dest, UErrorCode
&status);
/**
* Implements a replace operation intended to be used as part of an * Implements a replace operation intended to be used as part of an
* incremental find-and-replace. * incremental find-and-replace.
* *
* <p>The input string, starting from the end of the previous replacem ent and ending at * <p>The input string, starting from the end of the previous replacem ent and ending at
* the start of the current match, is appended to the destination stri ng. Then the * the start of the current match, is appended to the destination stri ng. Then the
* replacement string is appended to the output string, * replacement string is appended to the output string,
* including handling any substitutions of captured text.</p> * including handling any substitutions of captured text.</p>
* *
* <p>For simple, prepackaged, non-incremental find-and-replace * <p>For simple, prepackaged, non-incremental find-and-replace
* operations, see replaceFirst() or replaceAll().</p> * operations, see replaceFirst() or replaceAll().</p>
skipping to change at line 919 skipping to change at line 1282
* does not exist in the pattern. * does not exist in the pattern.
* *
* @return this RegexMatcher * @return this RegexMatcher
* @stable ICU 2.4 * @stable ICU 2.4
* *
*/ */
virtual RegexMatcher &appendReplacement(UnicodeString &dest, virtual RegexMatcher &appendReplacement(UnicodeString &dest,
const UnicodeString &replacement, UErrorCode &status); const UnicodeString &replacement, UErrorCode &status);
/** /**
* Implements a replace operation intended to be used as part of an
* incremental find-and-replace.
*
* <p>The input string, starting from the end of the previous replacem
ent and ending at
* the start of the current match, is appended to the destination stri
ng. Then the
* replacement string is appended to the output string,
* including handling any substitutions of captured text.</p>
*
* <p>For simple, prepackaged, non-incremental find-and-replace
* operations, see replaceFirst() or replaceAll().</p>
*
* @param dest A mutable UText to which the results of the fi
nd-and-replace are appended.
* Must not be NULL.
* @param replacement A UText that provides the text to be substitut
ed for
* the input text that matched the regexp pattern
. The replacement
* text may contain references to captured text f
rom the input.
* @param status A reference to a UErrorCode to receive any err
ors. Possible
* errors are U_REGEX_INVALID_STATE if no match
has been
* attempted or the last match failed, and U_INDE
X_OUTOFBOUNDS_ERROR
* if the replacement text specifies a capture gr
oup that
* does not exist in the pattern.
*
* @return this RegexMatcher
*
* @internal ICU 4.4 technology preview
*/
virtual RegexMatcher &appendReplacement(UText *dest,
UText *replacement, UErrorCode &status);
/**
* As the final step in a find-and-replace operation, append the remaind er * As the final step in a find-and-replace operation, append the remaind er
* of the input string, starting at the position following the last appe ndReplacement(), * of the input string, starting at the position following the last appe ndReplacement(),
* to the destination string. <code>appendTail()</code> is intended to b e invoked after one * to the destination string. <code>appendTail()</code> is intended to b e invoked after one
* or more invocations of the <code>RegexMatcher::appendReplacement()</c ode>. * or more invocations of the <code>RegexMatcher::appendReplacement()</c ode>.
* *
* @param dest A UnicodeString to which the results of the find-and-rep lace are appended. * @param dest A UnicodeString to which the results of the find-and-rep lace are appended.
* @return the destination string. * @return the destination string.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
virtual UnicodeString &appendTail(UnicodeString &dest); virtual UnicodeString &appendTail(UnicodeString &dest);
/**
* As the final step in a find-and-replace operation, append the remaind
er
* of the input string, starting at the position following the last appe
ndReplacement(),
* to the destination string. <code>appendTail()</code> is intended to b
e invoked after one
* or more invocations of the <code>RegexMatcher::appendReplacement()</c
ode>.
*
* @param dest A mutable UText to which the results of the find-and-rep
lace are appended.
* Must not be NULL.
* @return the destination string.
*
* @internal ICU 4.4 technology preview
*/
virtual UText *appendTail(UText *dest);
/** /**
* Split a string into fields. Somewhat like split() from Perl. * Split a string into fields. Somewhat like split() from Perl.
* The pattern matches identify delimiters that separate the input * The pattern matches identify delimiters that separate the input
* into fields. The input data between the matches becomes the * into fields. The input data between the matches becomes the
* fields themselves. * fields themselves.
* <p>
* *
* @param input The string to be split into fields. The field delimi ters * @param input The string to be split into fields. The field delimi ters
* match the pattern (in the "this" object). This match er * match the pattern (in the "this" object). This match er
* will be reset to this input string. * will be reset to this input string.
* @param dest An array of UnicodeStrings to receive the results of the split. * @param dest An array of UnicodeStrings to receive the results of the split.
* This is an array of actual UnicodeString objects, not an * This is an array of actual UnicodeString objects, not an
* array of pointers to strings. Local (stack based) ar rays can * array of pointers to strings. Local (stack based) ar rays can
* work well here. * work well here.
* @param destCapacity The number of elements in the destination array . * @param destCapacity The number of elements in the destination array .
* If the number of fields found is less than destCapaci ty, the * If the number of fields found is less than destCapaci ty, the
skipping to change at line 959 skipping to change at line 1365
* field delimiters, is placed in the last destination s tring. * field delimiters, is placed in the last destination s tring.
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @return The number of fields into which the input string was split. * @return The number of fields into which the input string was split.
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
virtual int32_t split(const UnicodeString &input, virtual int32_t split(const UnicodeString &input,
UnicodeString dest[], UnicodeString dest[],
int32_t destCapacity, int32_t destCapacity,
UErrorCode &status); UErrorCode &status);
/**
* Split a string into fields. Somewhat like split() from Perl.
* The pattern matches identify delimiters that separate the input
* into fields. The input data between the matches becomes the
* fields themselves.
*
* @param input The string to be split into fields. The field delimi
ters
* match the pattern (in the "this" object). This match
er
* will be reset to this input string.
* @param dest An array of mutable UText structs to receive the resu
lts of the split.
* If a field is NULL, a new UText is allocated to conta
in the results for
* that field. This new UText is not guaranteed to be mu
table.
* @param destCapacity The number of elements in the destination array
.
* If the number of fields found is less than destCapaci
ty, the
* extra strings in the destination array are not altere
d.
* If the number of destination strings is less than the
number
* of fields, the trailing part of the input string, inc
luding any
* field delimiters, is placed in the last destination s
tring.
* @param status A reference to a UErrorCode to receive any errors.
* @return The number of fields into which the input string was
split.
*
* @internal ICU 4.4 technology preview
*/
virtual int32_t split(UText *input,
UText *dest[],
int32_t destCapacity,
UErrorCode &status);
/** /**
* Set a processing time limit for match operations with this Matcher. * Set a processing time limit for match operations with this Matcher.
* *
* Some patterns, when matching certain strings, can run in exponentia l time. * Some patterns, when matching certain strings, can run in exponentia l time.
* For practical purposes, the match operation may appear to be in an * For practical purposes, the match operation may appear to be in an
* infinite loop. * infinite loop.
* When a limit is set a match operation will fail with an error if th e * When a limit is set a match operation will fail with an error if th e
* limit is exceeded. * limit is exceeded.
* <p> * <p>
* The units of the limit are steps of the match engine. * The units of the limit are steps of the match engine.
skipping to change at line 1082 skipping to change at line 1516
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
private: private:
// Constructors and other object boilerplate are private. // Constructors and other object boilerplate are private.
// Instances of RegexMatcher can not be assigned, copied, cloned, etc. // Instances of RegexMatcher can not be assigned, copied, cloned, etc.
RegexMatcher(); // default constructor not implemented RegexMatcher(); // default constructor not implemented
RegexMatcher(const RegexPattern *pat); RegexMatcher(const RegexPattern *pat);
RegexMatcher(const RegexMatcher &other); RegexMatcher(const RegexMatcher &other);
RegexMatcher &operator =(const RegexMatcher &rhs); RegexMatcher &operator =(const RegexMatcher &rhs);
void init(UErrorCode &status); // Common initializ ation void init(UErrorCode &status); // Common initializ ation
void init2(const UnicodeString &s, UErrorCode &e); // Common initializ ation, part 2. void init2(UText *t, UErrorCode &e); // Common initialization, part 2.
friend class RegexPattern; friend class RegexPattern;
friend class RegexCImpl; friend class RegexCImpl;
public: public:
/** @internal */ /** @internal */
void resetPreserveRegion(); // Reset matcher state, but preserve any r egion. void resetPreserveRegion(); // Reset matcher state, but preserve any r egion.
private: private:
// //
// MatchAt This is the internal interface to the match engine itself . // MatchAt This is the internal interface to the match engine itself .
// Match status comes back in matcher member variables. // Match status comes back in matcher member variables.
// //
void MatchAt(int32_t startIdx, UBool toEnd, UErrorCode void MatchAt(int64_t startIdx, UBool toEnd, UErrorCode
&status); &status);
inline void backTrack(int32_t &inputIdx, int32_t &patIdx); inline void backTrack(int64_t &inputIdx, int32_t &patIdx);
UBool isWordBoundary(int32_t pos); // perform Pe UBool isWordBoundary(int64_t pos); // perform Pe
rl-like \b test rl-like \b test
UBool isUWordBoundary(int32_t pos); // perform RB UBool isUWordBoundary(int64_t pos); // perform RB
BI based \b test BI based \b test
REStackFrame *resetStack(); REStackFrame *resetStack();
inline REStackFrame *StateSave(REStackFrame *fp, int32_t savePatIdx, UE rrorCode &status); inline REStackFrame *StateSave(REStackFrame *fp, int64_t savePatIdx, UE rrorCode &status);
void IncrementTime(UErrorCode &status); void IncrementTime(UErrorCode &status);
int64_t appendGroup(int32_t groupNum, UText *dest, UErrorC
ode &status) const;
UBool findUsingChunk();
void MatchChunkAt(int32_t startIdx, UBool toEnd, UError
Code &status);
UBool isChunkWordBoundary(int32_t pos);
const RegexPattern *fPattern; const RegexPattern *fPattern;
RegexPattern *fPatternOwned; // Non-NULL if this matcher owns the pattern, and RegexPattern *fPatternOwned; // Non-NULL if this matcher owns the pattern, and
// should delete it when throu gh. // should delete it when throu gh.
const UnicodeString *fInput; // The text being matched. Is ne const UnicodeString *fInput; // The string being matched. Onl
ver NULL. y used for input()
UText *fInputText; // The text being matched. Is ne
ver NULL.
UText *fAltInputText; // A shallow copy of the text be
ing matched.
// Only created if the pattern
contains backreferences.
int64_t fInputLength; // Full length of the input text
.
int32_t fFrameSize; // The size of a frame in the ba cktrack stack. int32_t fFrameSize; // The size of a frame in the ba cktrack stack.
int32_t fRegionStart; // Start of the input region, de int64_t fRegionStart; // Start of the input region, de
fault = 0. fault = 0.
int32_t fRegionLimit; // End of input region, default int64_t fRegionLimit; // End of input region, default
to input.length. to input.length.
int32_t fAnchorStart; // Region bounds for anchoring o int64_t fAnchorStart; // Region bounds for anchoring o
perations (^ or $). perations (^ or $).
int32_t fAnchorLimit; // See useAnchoringBounds int64_t fAnchorLimit; // See useAnchoringBounds
int32_t fLookStart; // Region bounds for look-ahead/ int64_t fLookStart; // Region bounds for look-ahead/
behind and behind and
int32_t fLookLimit; // and other boundary tests. int64_t fLookLimit; // and other boundary tests.
See See
// useTransparentBounds // useTransparentBounds
int32_t fActiveStart; // Currently active bounds for m int64_t fActiveStart; // Currently active bounds for m
atching. atching.
int32_t fActiveLimit; // Usually is the same as regi int64_t fActiveLimit; // Usually is the same as regi
on, but on, but
// is changed to fLookStart/Li mit when // is changed to fLookStart/Li mit when
// entering look around region s. // entering look around region s.
UBool fTransparentBounds; // True if using transparent bounds. UBool fTransparentBounds; // True if using transparent bounds.
UBool fAnchoringBounds; // True if using anchoring bound s. UBool fAnchoringBounds; // True if using anchoring bound s.
UBool fMatch; // True if the last attempted ma tch was successful. UBool fMatch; // True if the last attempted ma tch was successful.
int32_t fMatchStart; // Position of the start of the int64_t fMatchStart; // Position of the start of the
most recent match most recent match
int32_t fMatchEnd; // First position after the end int64_t fMatchEnd; // First position after the end
of the most recent match of the most recent match
// Zero if no previous match, even when a region // Zero if no previous match, even when a region
// is active. // is active.
int32_t fLastMatchEnd; // First position after the end of the previous match, int64_t fLastMatchEnd; // First position after the end of the previous match,
// or -1 if there was no previ ous match. // or -1 if there was no previ ous match.
int32_t fAppendPosition; // First position after the end of the previous int64_t fAppendPosition; // First position after the end of the previous
// appendReplacement(). As de scribed by the // appendReplacement(). As de scribed by the
// JavaDoc for Java Matcher, w here it is called // JavaDoc for Java Matcher, w here it is called
// "append position" // "append position"
UBool fHitEnd; // True if the last match touche d the end of input. UBool fHitEnd; // True if the last match touche d the end of input.
UBool fRequireEnd; // True if the last match requir ed end-of-input UBool fRequireEnd; // True if the last match requir ed end-of-input
// (matched $ or Z) // (matched $ or Z)
UVector32 *fStack; UVector64 *fStack;
REStackFrame *fFrame; // After finding a match, the la st active stack frame, REStackFrame *fFrame; // After finding a match, the la st active stack frame,
// which will contain the capt ure group results. // which will contain the capt ure group results.
// NOT valid while match engin e is running. // NOT valid while match engin e is running.
int32_t *fData; // Data area for use by the comp int64_t *fData; // Data area for use by the comp
iled pattern. iled pattern.
int32_t fSmallData[8]; // Use this for data if it's e int64_t fSmallData[8]; // Use this for data if it's e
nough. nough.
int32_t fTimeLimit; // Max time (in arbitrary steps) to let the int32_t fTimeLimit; // Max time (in arbitrary steps) to let the
// match engine run. Zero for unlimited. // match engine run. Zero for unlimited.
int32_t fTime; // Match time, accumulates while matching. int32_t fTime; // Match time, accumulates while matching.
int32_t fTickCounter; // Low bits counter for time. C ounts down StateSaves. int32_t fTickCounter; // Low bits counter for time. C ounts down StateSaves.
// Kept separately from fTime to keep as much // Kept separately from fTime to keep as much
// code as possible out of the inline // code as possible out of the inline
// StateSave function. // StateSave function.
int32_t fStackLimit; // Maximum memory size to use fo r the backtrack int32_t fStackLimit; // Maximum memory size to use fo r the backtrack
// stack, in bytes. Zero for unlimited. // stack, in bytes. Zero for unlimited.
URegexMatchCallback *fCallbackFn; // Pointer to match progress ca llback funct. URegexMatchCallback *fCallbackFn; // Pointer to match progress ca llback funct.
// NULL if there is no callbac k. // NULL if there is no callbac k.
const void *fCallbackContext; // User Context ptr for callback function. const void *fCallbackContext; // User Context ptr for callback function.
UBool fInputUniStrMaybeMutable; // Set when fInputText w
raps a UnicodeString that may be mutable - compatibility.
UBool fTraceDebug; // Set true for debug tracing of match engine. UBool fTraceDebug; // Set true for debug tracing of match engine.
UErrorCode fDeferredStatus; // Save error state that cannot be immediately UErrorCode fDeferredStatus; // Save error state that cannot be immediately
// reported, or that permanent ly disables this matcher. // reported, or that permanent ly disables this matcher.
RuleBasedBreakIterator *fWordBreakItr; RuleBasedBreakIterator *fWordBreakItr;
}; };
U_NAMESPACE_END U_NAMESPACE_END
 End of changes. 47 change blocks. 
48 lines changed or deleted 654 lines changed or added


 selfmt.h   selfmt.h 
skipping to change at line 142 skipping to change at line 142
* that don't match this pattern result in the error code * that don't match this pattern result in the error code
* <code>U_ILLEGAL_CHARACTER</code>. * <code>U_ILLEGAL_CHARACTER</code>.
* You always have to define a phrase for the default keyword * You always have to define a phrase for the default keyword
* <code>other</code>; this phrase is returned when the keyword * <code>other</code>; this phrase is returned when the keyword
* provided to * provided to
* the <code>format</code> method matches no other keyword. * the <code>format</code> method matches no other keyword.
* If a pattern does not provide a phrase for <code>other</code>, the met hod * If a pattern does not provide a phrase for <code>other</code>, the met hod
* it's provided to returns the error <code>U_DEFAULT_KEYWORD_MISSING</co de>. * it's provided to returns the error <code>U_DEFAULT_KEYWORD_MISSING</co de>.
* If a pattern provides more than one phrase for the same keyword, the * If a pattern provides more than one phrase for the same keyword, the
* error <code>U_DUPLICATE_KEYWORD</code> is returned. * error <code>U_DUPLICATE_KEYWORD</code> is returned.
* <br/> * <br>
* Spaces between <code><i>keyword</i></code> and * Spaces between <code><i>keyword</i></code> and
* <code>{<i>phrase</i>}</code> will be ignored; spaces within * <code>{<i>phrase</i>}</code> will be ignored; spaces within
* <code>{<i>phrase</i>}</code> will be preserved.<p> * <code>{<i>phrase</i>}</code> will be preserved.<p>
* *
* <p>The phrase for a particular select case may contain other message * <p>The phrase for a particular select case may contain other message
* format patterns. <code>SelectFormat</code> preserves these so that you * format patterns. <code>SelectFormat</code> preserves these so that you
* can use the strings produced by <code>SelectFormat</code> with other * can use the strings produced by <code>SelectFormat</code> with other
* formatters. If you are using <code>SelectFormat</code> inside a * formatters. If you are using <code>SelectFormat</code> inside a
* <code>MessageFormat</code> pattern, <code>MessageFormat</code> will * <code>MessageFormat</code> pattern, <code>MessageFormat</code> will
* automatically evaluate the resulting format pattern. * automatically evaluate the resulting format pattern.
* Thus, curly braces (<code>{</code>, <code>}</code>) are <i>only</i> all owed * Thus, curly braces (<code>{</code>, <code>}</code>) are <i>only</i> all owed
* in phrases to define a nested format pattern.</p> * in phrases to define a nested format pattern.</p>
* *
* <p>Example: * <p>Example:
* \htmlonly * \htmlonly
* <pre>
* *
* UErrorCode status = U_ZERO_ERROR; * UErrorCode status = U_ZERO_ERROR;
* MessageFormat *msgFmt = new MessageFormat(UnicodeString("{0} est {1, s elect, female {all&#x00E9;e} other {all&#x00E9;}} &#x00E0; Paris."), Locale ("fr"), status); * MessageFormat *msgFmt = new MessageFormat(UnicodeString("{0} est {1, s elect, female {all&#x00E9;e} other {all&#x00E9;}} &#x00E0; Paris."), Locale ("fr"), status);
* if (U_FAILURE(status)) { * if (U_FAILURE(status)) {
* return; * return;
* } * }
* FieldPosition ignore(FieldPosition::DONT_CARE); * FieldPosition ignore(FieldPosition::DONT_CARE);
* UnicodeString result; * UnicodeString result;
* *
* char* str1= "Kirti,female"; * char* str1= "Kirti,female";
* Formattable args1[] = {"Kirti","female"}; * Formattable args1[] = {"Kirti","female"};
* msgFmt->format(args1, 2, result, ignore, status); * msgFmt->format(args1, 2, result, ignore, status);
* cout << "Input is " << str1 << " and result is: " << result << endl; * cout << "Input is " << str1 << " and result is: " << result << endl;
* delete msgFmt; * delete msgFmt;
* *
* </pre>
* \endhtmlonly * \endhtmlonly
* </p>
* *
* Produces the output:<br/> * Produces the output:<br>
* \htmlonly * \htmlonly
* <code>Input is Kirti,female and result is: Kirti est all&#x00E9;e &#x00 E0; Paris.</code> * <code>Kirti est all&#x00E9;e &#x00E0; Paris.</code>
* \endhtmlonly * \endhtmlonly
* *
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
class U_I18N_API SelectFormat : public Format { class U_I18N_API SelectFormat : public Format {
public: public:
/** /**
* Creates a new <code>SelectFormat</code> .
* @param status output param set to success/failure code on exit, whi
ch
* must not indicate a failure before the function call.
* @internal This function will be removed and will not be API.
*/
SelectFormat(UErrorCode& status);
/**
* Creates a new <code>SelectFormat</code> for a given pattern string. * Creates a new <code>SelectFormat</code> for a given pattern string.
* @param pattern the pattern for this <code>SelectFormat</code>. * @param pattern the pattern for this <code>SelectFormat</code>.
* errors are returned to status if the pattern is inva lid. * errors are returned to status if the pattern is inva lid.
* @param status output param set to success/failure code on exit, wh ich * @param status output param set to success/failure code on exit, wh ich
* must not indicate a failure before the function call . * must not indicate a failure before the function call .
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
SelectFormat(const UnicodeString& pattern, UErrorCode& status); SelectFormat(const UnicodeString& pattern, UErrorCode& status);
/** /**
skipping to change at line 231 skipping to change at line 222
* Patterns and their interpretation are specified in the class descrip tion. * Patterns and their interpretation are specified in the class descrip tion.
* *
* @param pattern the pattern for this select format * @param pattern the pattern for this select format
* errors are returned to status if the pattern is inval id. * errors are returned to status if the pattern is inval id.
* @param status output param set to success/failure code on exit, whi ch * @param status output param set to success/failure code on exit, whi ch
* must not indicate a failure before the function call. * must not indicate a failure before the function call.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
void applyPattern(const UnicodeString& pattern, UErrorCode& status); void applyPattern(const UnicodeString& pattern, UErrorCode& status);
using Format::format;
/** /**
* Selects the phrase for the given keyword * Selects the phrase for the given keyword
* *
* @param keyword The keyword that is used to select an alternative. * @param keyword The keyword that is used to select an alternative.
* @param appendTo output parameter to receive result. * @param appendTo output parameter to receive result.
* result is appended to existing contents. * result is appended to existing contents.
* @param pos On input: an alignment field, if desired. * @param pos On input: an alignment field, if desired.
* On output: the offsets of the alignment field. * On output: the offsets of the alignment field.
* @param status output param set to success/failure code on exit, whi ch * @param status output param set to success/failure code on exit, whi ch
* must not indicate a failure before the function call . * must not indicate a failure before the function call .
skipping to change at line 351 skipping to change at line 344
*/ */
static UClassID U_EXPORT2 getStaticClassID(void); static UClassID U_EXPORT2 getStaticClassID(void);
/** /**
* ICU "poor man's RTTI", returns a UClassID for the actual class. * ICU "poor man's RTTI", returns a UClassID for the actual class.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
private: private:
typedef enum characterClass{ typedef enum classesForSelectFormat{
tStartKeyword, tStartKeyword,
tContinueKeyword, tContinueKeyword,
tLeftBrace, tLeftBrace,
tRightBrace, tRightBrace,
tSpace, tSpace,
tOther tOther
}characterClass; }CharacterClass;
UnicodeString pattern; UnicodeString pattern;
//Hash to store the keyword, phrase pairs //Hash to store the keyword, phrase pairs.
Hashtable *parsedValuesHash; Hashtable *parsedValuesHash;
SelectFormat(); // default constructor not implemented SelectFormat(); // default constructor not implemented.
void init(UErrorCode& status); void init(UErrorCode& status);
//For the applyPattern , classifies char.s in one of the characterClass //For the applyPattern , classifies char.s in one of the characterClass
void classifyCharacter(UChar ch, characterClass& type) const; .
//Checks if the "other" keyword is present in pattern CharacterClass classifyCharacter(UChar ch) const;
//Checks if the "other" keyword is present in pattern.
UBool checkSufficientDefinition(); UBool checkSufficientDefinition();
//Checks if the keyword passed is valid //Checks if the keyword passed is valid.
UBool checkValidKeyword(const UnicodeString& argKeyword) const; UBool checkValidKeyword(const UnicodeString& argKeyword) const;
void parsingFailure(); void parsingFailure();
void copyHashtable(Hashtable *other, UErrorCode& status); void copyHashtable(Hashtable *other, UErrorCode& status);
}; };
U_NAMESPACE_END U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_FORMATTING */ #endif /* #if !UCONFIG_NO_FORMATTING */
#endif // _SELFMT #endif // _SELFMT
 End of changes. 14 change blocks. 
22 lines changed or deleted 15 lines changed or added


 smpdtfmt.h   smpdtfmt.h 
/* /*
* Copyright (C) 1997-2010, International Business Machines Corporation and * Copyright (C) 1997-2010, International Business Machines Corporation and
others. All Rights Reserved. * others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* File SMPDTFMT.H * File SMPDTFMT.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.
* 07/09/97 helena Make ParsePosition into a class. * 07/09/97 helena Make ParsePosition into a class.
* 07/21/98 stephen Added GMT_PLUS, GMT_MINUS * 07/21/98 stephen Added GMT_PLUS, GMT_MINUS
skipping to change at line 260 skipping to change at line 261
* as "thai". To specify that just the year portion of the date be for matted using Hebrew numbering, * as "thai". To specify that just the year portion of the date be for matted using Hebrew numbering,
* use the override string "y=hebrew". Numbering system overrides can be combined using a semi-colon * use the override string "y=hebrew". Numbering system overrides can be combined using a semi-colon
* character in the override string, such as "d=decimal;M=arabic;y=hebr ew", etc. * character in the override string, such as "d=decimal;M=arabic;y=hebr ew", etc.
* *
* <P> * <P>
* [Note:] Not all locales support SimpleDateFormat; for full generalit y, * [Note:] Not all locales support SimpleDateFormat; for full generalit y,
* use the factory methods in the DateFormat class. * use the factory methods in the DateFormat class.
* @param pattern the pattern for the format. * @param pattern the pattern for the format.
* @param override the override string. * @param override the override string.
* @param status Output param set to success/failure code. * @param status Output param set to success/failure code.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
SimpleDateFormat(const UnicodeString& pattern, SimpleDateFormat(const UnicodeString& pattern,
const UnicodeString& override, const UnicodeString& override,
UErrorCode& status); UErrorCode& status);
/** /**
* Construct a SimpleDateFormat using the given pattern and locale. * Construct a SimpleDateFormat using the given pattern and locale.
* The locale is used to obtain the symbols used in formatting (e.g., t he * The locale is used to obtain the symbols used in formatting (e.g., t he
* names of the months), but not to provide the pattern. * names of the months), but not to provide the pattern.
* <P> * <P>
skipping to change at line 301 skipping to change at line 302
* as "thai". To specify that just the year portion of the date be for matted using Hebrew numbering, * as "thai". To specify that just the year portion of the date be for matted using Hebrew numbering,
* use the override string "y=hebrew". Numbering system overrides can be combined using a semi-colon * use the override string "y=hebrew". Numbering system overrides can be combined using a semi-colon
* character in the override string, such as "d=decimal;M=arabic;y=hebr ew", etc. * character in the override string, such as "d=decimal;M=arabic;y=hebr ew", etc.
* <P> * <P>
* [Note:] Not all locales support SimpleDateFormat; for full generalit y, * [Note:] Not all locales support SimpleDateFormat; for full generalit y,
* use the factory methods in the DateFormat class. * use the factory methods in the DateFormat class.
* @param pattern the pattern for the format. * @param pattern the pattern for the format.
* @param override the numbering system override. * @param override the numbering system override.
* @param locale the given locale. * @param locale the given locale.
* @param status Output param set to success/failure code. * @param status Output param set to success/failure code.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
SimpleDateFormat(const UnicodeString& pattern, SimpleDateFormat(const UnicodeString& pattern,
const UnicodeString& override, const UnicodeString& override,
const Locale& locale, const Locale& locale,
UErrorCode& status); UErrorCode& status);
/** /**
* Construct a SimpleDateFormat using the given pattern and locale-spec ific * Construct a SimpleDateFormat using the given pattern and locale-spec ific
* symbol data. The formatter takes ownership of the DateFormatSymbols object; * symbol data. The formatter takes ownership of the DateFormatSymbols object;
* the caller is no longer responsible for deleting it. * the caller is no longer responsible for deleting it.
skipping to change at line 369 skipping to change at line 370
/** /**
* Return true if the given Format objects are semantically equal. Obje cts * Return true if the given Format objects are semantically equal. Obje cts
* of different subclasses are considered unequal. * of different subclasses are considered unequal.
* @param other the object to be compared with. * @param other the object to be compared with.
* @return true if the given Format objects are semantically eq ual. * @return true if the given Format objects are semantically eq ual.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual UBool operator==(const Format& other) const; virtual UBool operator==(const Format& other) const;
using DateFormat::format;
/** /**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan * Format a date or time, which is the standard millis since 24:00 GMT, Jan
* 1, 1970. Overrides DateFormat pure virtual method. * 1, 1970. Overrides DateFormat pure virtual method.
* <P> * <P>
* Example: using the US locale: "yyyy.MM.dd e 'at' HH:mm:ss zzz" ->> * Example: using the US locale: "yyyy.MM.dd e 'at' HH:mm:ss zzz" ->>
* 1996.07.10 AD at 15:08:56 PDT * 1996.07.10 AD at 15:08:56 PDT
* *
* @param cal Calendar set to the date and time to be formatted * @param cal Calendar set to the date and time to be formatted
* into a date/time string. * into a date/time string.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
skipping to change at line 409 skipping to change at line 412
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. Field val ues * of fields generated by this format call. Field val ues
* are defined in UDateFormatField. * are defined in UDateFormatField.
* @param status Input/output param set to success/failure code. * @param status Input/output param set to success/failure code.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UnicodeString& format( Calendar& cal, virtual UnicodeString& format( Calendar& cal,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan * Format a date or time, which is the standard millis since 24:00 GMT, Jan
* 1, 1970. Overrides DateFormat pure virtual method. * 1, 1970. Overrides DateFormat pure virtual method.
* <P> * <P>
* Example: using the US locale: "yyyy.MM.dd e 'at' HH:mm:ss zzz" ->> * Example: using the US locale: "yyyy.MM.dd e 'at' HH:mm:ss zzz" ->>
* 1996.07.10 AD at 15:08:56 PDT * 1996.07.10 AD at 15:08:56 PDT
* *
* @param obj A Formattable containing the date-time value to be formatted * @param obj A Formattable containing the date-time value to be formatted
skipping to change at line 458 skipping to change at line 461
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over positions * @param posIter On return, can be used to iterate over positions
* of fields generated by this format call. Field val ues * of fields generated by this format call. Field val ues
* are defined in UDateFormatField. * are defined in UDateFormatField.
* @param status Input/output param set to success/failure code. * @param status Input/output param set to success/failure code.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
virtual UnicodeString& format( const Formattable& obj, virtual UnicodeString& format( const Formattable& obj,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Redeclared DateFormat method. * Redeclared DateFormat method.
* @param date the Date value to be formatted. * @param date the Date value to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param fieldPosition The formatting position. On input: an alignment field, * @param fieldPosition The formatting position. On input: an alignment field,
* if desired. On output: the offsets of the align ment field. * if desired. On output: the offsets of the align ment field.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
skipping to change at line 489 skipping to change at line 492
* Result is appended to existing contents. * Result is appended to existing contents.
* @param posIter On return, can be used to iterate over position s * @param posIter On return, can be used to iterate over position s
* of fields generated by this format call. Field values * of fields generated by this format call. Field values
* are defined in UDateFormatField. * are defined in UDateFormatField.
* @param status Input/output param set to success/failure code. * @param status Input/output param set to success/failure code.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
UnicodeString& format(UDate date, UnicodeString& format(UDate date,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Redeclared DateFormat method. * Redeclared DateFormat method.
* @param obj Object to be formatted. * @param obj Object to be formatted.
* @param appendTo Output parameter to receive result. * @param appendTo Output parameter to receive result.
* Result is appended to existing contents. * Result is appended to existing contents.
* @param status Input/output success/failure code. * @param status Input/output success/failure code.
* @return Reference to 'appendTo' parameter. * @return Reference to 'appendTo' parameter.
* @stable ICU 2.0 * @stable ICU 2.0
skipping to change at line 1161 skipping to change at line 1164
UErrorCode& status) const UErrorCode& status) const
{ {
// Don't use Format:: - use immediate base class only, // Don't use Format:: - use immediate base class only,
// in case immediate base modifies behavior later. // in case immediate base modifies behavior later.
return DateFormat::format(obj, appendTo, pos, status); return DateFormat::format(obj, appendTo, pos, status);
} }
inline UnicodeString& inline UnicodeString&
SimpleDateFormat::format(const Formattable& obj, SimpleDateFormat::format(const Formattable& obj,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const UErrorCode& status) const
{ {
// Don't use Format:: - use immediate base class only, // Don't use Format:: - use immediate base class only,
// in case immediate base modifies behavior later. // in case immediate base modifies behavior later.
return DateFormat::format(obj, appendTo, posIter, status); return DateFormat::format(obj, appendTo, posIter, status);
} }
inline UnicodeString& inline UnicodeString&
SimpleDateFormat::format(UDate date, SimpleDateFormat::format(UDate date,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPosition& fieldPosition) const { FieldPosition& fieldPosition) const {
// Don't use Format:: - use immediate base class only, // Don't use Format:: - use immediate base class only,
// in case immediate base modifies behavior later. // in case immediate base modifies behavior later.
return DateFormat::format(date, appendTo, fieldPosition); return DateFormat::format(date, appendTo, fieldPosition);
} }
inline UnicodeString& inline UnicodeString&
SimpleDateFormat::format(UDate date, SimpleDateFormat::format(UDate date,
UnicodeString& appendTo, UnicodeString& appendTo,
FieldPositionIterator& posIter, FieldPositionIterator* posIter,
UErrorCode& status) const { UErrorCode& status) const {
// Don't use Format:: - use immediate base class only, // Don't use Format:: - use immediate base class only,
// in case immediate base modifies behavior later. // in case immediate base modifies behavior later.
return DateFormat::format(date, appendTo, posIter, status); return DateFormat::format(date, appendTo, posIter, status);
} }
inline UnicodeString& inline UnicodeString&
SimpleDateFormat::format(UDate date, UnicodeString& appendTo) const { SimpleDateFormat::format(UDate date, UnicodeString& appendTo) const {
return DateFormat::format(date, appendTo); return DateFormat::format(date, appendTo);
} }
 End of changes. 9 change blocks. 
9 lines changed or deleted 11 lines changed or added


 std_string.h   std_string.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* *
* Copyright (C) 2009, International Business Machines * Copyright (C) 2009-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** **** *************************************************************************** ****
* file name: std_string.h * file name: std_string.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2009feb19 * created on: 2009feb19
* created by: Markus W. Scherer * created by: Markus W. Scherer
*/ */
#ifndef __STD_STRING_H__ #ifndef __STD_STRING_H__
#define __STD_STRING_H__ #define __STD_STRING_H__
/** /**
* \file * \file
* \brief C++ API: Central ICU header for including the C++ standard <strin g&gt; * \brief C++ API: Central ICU header for including the C++ standard <st ring&gt;
* header and for related definitions. * header and for related definitions.
*/ */
#include "unicode/utypes.h" #include "unicode/utypes.h"
/** /**
* \def U_HAVE_STD_STRING * \def U_HAVE_STD_STRING
* Define whether the standard C++ (STL) <string> header is available. * Define whether the standard C++ (STL) <string&gt; header is available .
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
#ifndef U_HAVE_STD_STRING #ifndef U_HAVE_STD_STRING
#define U_HAVE_STD_STRING 1 #define U_HAVE_STD_STRING 1
#endif #endif
#if U_HAVE_STD_STRING #if U_HAVE_STD_STRING
#include <string> #include <string>
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 stringpiece.h   stringpiece.h 
skipping to change at line 50 skipping to change at line 50
* in a "const char*" or a "string" wherever a "StringPiece" is * in a "const char*" or a "string" wherever a "StringPiece" is
* expected. * expected.
* *
* Functions or methods may use const StringPiece& parameters to accept eit her * Functions or methods may use const StringPiece& parameters to accept eit her
* a "const char*" or a "string" value that will be implicitly converted to * a "const char*" or a "string" value that will be implicitly converted to
* a StringPiece. * a StringPiece.
* *
* Systematic usage of StringPiece is encouraged as it will reduce unnecess ary * Systematic usage of StringPiece is encouraged as it will reduce unnecess ary
* conversions from "const char*" to "string" and back again. * conversions from "const char*" to "string" and back again.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
class U_COMMON_API StringPiece : public UMemory { class U_COMMON_API StringPiece : public UMemory {
private: private:
const char* ptr_; const char* ptr_;
int32_t length_; int32_t length_;
public: public:
/** /**
* Default constructor, creates an empty StringPiece. * Default constructor, creates an empty StringPiece.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
StringPiece() : ptr_(NULL), length_(0) { } StringPiece() : ptr_(NULL), length_(0) { }
/** /**
* Constructs from a NUL-terminated const char * pointer. * Constructs from a NUL-terminated const char * pointer.
* @param str a NUL-terminated const char * pointer * @param str a NUL-terminated const char * pointer
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
StringPiece(const char* str); StringPiece(const char* str);
#if U_HAVE_STD_STRING #if U_HAVE_STD_STRING
/** /**
* Constructs from a std::string. * Constructs from a std::string.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
StringPiece(const U_STD_NSQ string& str) StringPiece(const U_STD_NSQ string& str)
: ptr_(str.data()), length_(static_cast<int32_t>(str.size())) { } : ptr_(str.data()), length_(static_cast<int32_t>(str.size())) { }
#endif #endif
/** /**
* Constructs from a const char * pointer and a specified length. * Constructs from a const char * pointer and a specified length.
* @param offset a const char * pointer (need not be terminated) * @param offset a const char * pointer (need not be terminated)
* @param len the length of the string; must be non-negative * @param len the length of the string; must be non-negative
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
StringPiece(const char* offset, int32_t len) : ptr_(offset), length_(len) { } StringPiece(const char* offset, int32_t len) : ptr_(offset), length_(len) { }
/** /**
* Substring of another StringPiece. * Substring of another StringPiece.
* @param x the other StringPiece * @param x the other StringPiece
* @param pos start position in x; must be non-negative and <= x.length() . * @param pos start position in x; must be non-negative and <= x.length() .
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
StringPiece(const StringPiece& x, int32_t pos); StringPiece(const StringPiece& x, int32_t pos);
/** /**
* Substring of another StringPiece. * Substring of another StringPiece.
* @param x the other StringPiece * @param x the other StringPiece
* @param pos start position in x; must be non-negative and <= x.length() . * @param pos start position in x; must be non-negative and <= x.length() .
* @param len length of the substring; * @param len length of the substring;
* must be non-negative and will be pinned to at most x.length () - pos. * must be non-negative and will be pinned to at most x.length () - pos.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
StringPiece(const StringPiece& x, int32_t pos, int32_t len); StringPiece(const StringPiece& x, int32_t pos, int32_t len);
/** /**
* Returns the string pointer. May be NULL if it is empty. * Returns the string pointer. May be NULL if it is empty.
* *
* data() may return a pointer to a buffer with embedded NULs, and the * data() may return a pointer to a buffer with embedded NULs, and the
* returned buffer may or may not be null terminated. Therefore it is * returned buffer may or may not be null terminated. Therefore it is
* typically a mistake to pass data() to a routine that expects a NUL * typically a mistake to pass data() to a routine that expects a NUL
* terminated string. * terminated string.
* @return the string pointer * @return the string pointer
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
const char* data() const { return ptr_; } const char* data() const { return ptr_; }
/** /**
* Returns the string length. Same as length(). * Returns the string length. Same as length().
* @return the string length * @return the string length
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
int32_t size() const { return length_; } int32_t size() const { return length_; }
/** /**
* Returns the string length. Same as size(). * Returns the string length. Same as size().
* @return the string length * @return the string length
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
int32_t length() const { return length_; } int32_t length() const { return length_; }
/** /**
* Returns whether the string is empty. * Returns whether the string is empty.
* @return TRUE if the string is empty * @return TRUE if the string is empty
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UBool empty() const { return length_ == 0; } UBool empty() const { return length_ == 0; }
/** /**
* Sets to an empty string. * Sets to an empty string.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void clear() { ptr_ = NULL; length_ = 0; } void clear() { ptr_ = NULL; length_ = 0; }
/** /**
* Reset the stringpiece to refer to new data.
* @param data pointer the new string data. Need not be nul terminated.
* @param len the length of the new data
* @internal
*/
void set(const char* data, int32_t len) { ptr_ = data; length_ = len; }
/**
* Reset the stringpiece to refer to new data.
* @param str a pointer to a NUL-terminated string.
* @internal
*/
void set(const char* str);
/**
* Removes the first n string units. * Removes the first n string units.
* @param n prefix length, must be non-negative and <=length() * @param n prefix length, must be non-negative and <=length()
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void remove_prefix(int32_t n) { void remove_prefix(int32_t n) {
if (n >= 0) { if (n >= 0) {
if (n > length_) { if (n > length_) {
n = length_; n = length_;
} }
ptr_ += n; ptr_ += n;
length_ -= n; length_ -= n;
} }
} }
/** /**
* Removes the last n string units. * Removes the last n string units.
* @param n suffix length, must be non-negative and <=length() * @param n suffix length, must be non-negative and <=length()
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void remove_suffix(int32_t n) { void remove_suffix(int32_t n) {
if (n >= 0) { if (n >= 0) {
if (n <= length_) { if (n <= length_) {
length_ -= n; length_ -= n;
} else { } else {
length_ = 0; length_ = 0;
} }
} }
} }
/** /**
* Maximum integer, used as a default value for substring methods. * Maximum integer, used as a default value for substring methods.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static const int32_t npos = 0x7fffffff; static const int32_t npos = 0x7fffffff;
/** /**
* Returns a substring of this StringPiece. * Returns a substring of this StringPiece.
* @param pos start position; must be non-negative and <= length(). * @param pos start position; must be non-negative and <= length().
* @param len length of the substring; * @param len length of the substring;
* must be non-negative and will be pinned to at most length() - pos. * must be non-negative and will be pinned to at most length() - pos.
* @return the substring StringPiece * @return the substring StringPiece
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
StringPiece substr(int32_t pos, int32_t len = npos) const { StringPiece substr(int32_t pos, int32_t len = npos) const {
return StringPiece(*this, pos, len); return StringPiece(*this, pos, len);
} }
}; };
/**
* Global operator == for StringPiece
* @param x The first StringPiece to compare.
* @param y The second StringPiece to compare.
* @return TRUE if the string data is equal
* @internal
*/
U_EXPORT UBool U_EXPORT2
operator==(const StringPiece& x, const StringPiece& y);
/**
* Global operator != for StringPiece
* @param x The first StringPiece to compare.
* @param y The second StringPiece to compare.
* @return TRUE if the string data is not equal
* @internal
*/
inline UBool operator!=(const StringPiece& x, const StringPiece& y) {
return !(x == y);
}
U_NAMESPACE_END U_NAMESPACE_END
#endif // __STRINGPIECE_H__ #endif // __STRINGPIECE_H__
 End of changes. 18 change blocks. 
16 lines changed or deleted 52 lines changed or added


 tblcoll.h   tblcoll.h 
skipping to change at line 397 skipping to change at line 397
/** /**
* Compares two strings using the Collator. * Compares two strings using the Collator.
* Returns whether the first one compares less than/equal to/greater th an * Returns whether the first one compares less than/equal to/greater th an
* the second one. * the second one.
* This version takes UCharIterator input. * This version takes UCharIterator input.
* @param sIter the first ("source") string iterator * @param sIter the first ("source") string iterator
* @param tIter the second ("target") string iterator * @param tIter the second ("target") string iterator
* @param status ICU status * @param status ICU status
* @return UCOL_LESS, UCOL_EQUAL or UCOL_GREATER * @return UCOL_LESS, UCOL_EQUAL or UCOL_GREATER
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UCollationResult compare(UCharIterator &sIter, virtual UCollationResult compare(UCharIterator &sIter,
UCharIterator &tIter, UCharIterator &tIter,
UErrorCode &status) const; UErrorCode &status) const;
/** /**
* Transforms a specified region of the string into a series of characte rs * Transforms a specified region of the string into a series of characte rs
* that can be compared with CollationKey.compare. Use a CollationKey wh en * that can be compared with CollationKey.compare. Use a CollationKey wh en
* you need to do repeated comparisions on the same string. For a single * you need to do repeated comparisions on the same string. For a single
* comparison the compare method will be faster. * comparison the compare method will be faster.
 End of changes. 1 change blocks. 
1 lines changed or deleted 1 lines changed or added


 timezone.h   timezone.h 
skipping to change at line 189 skipping to change at line 189
* given country. Some zones are affiliated with no country * given country. Some zones are affiliated with no country
* (e.g., "UTC"); these may also be retrieved, as a group. * (e.g., "UTC"); these may also be retrieved, as a group.
* *
* @param country The ISO 3166 two-letter country code, or NULL to * @param country The ISO 3166 two-letter country code, or NULL to
* retrieve zones not affiliated with any country. * retrieve zones not affiliated with any country.
* @return an enumeration object, owned by the caller * @return an enumeration object, owned by the caller
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
static StringEnumeration* U_EXPORT2 createEnumeration(const char* count ry); static StringEnumeration* U_EXPORT2 createEnumeration(const char* count ry);
#ifdef U_USE_TIMEZONE_OBSOLETE_2_8
/**
* Returns a list of time zone IDs, one for each time zone with a given
GMT offset.
* The return value is a list because there may be several times zones
with the same
* GMT offset that differ in the way they handle daylight savings time.
For example,
* the state of Arizona doesn't observe Daylight Savings time. So if y
ou ask for
* the time zone IDs corresponding to GMT-7:00, you'll get back two tim
e zone IDs:
* "America/Denver," which corresponds to Mountain Standard Time in the
winter and
* Mountain Daylight Time in the summer, and "America/Phoenix", which c
orresponds to
* Mountain Standard Time year-round, even in the summer.
* <P>
* The caller owns the list that is returned, but does not own the stri
ngs contained
* in that list. Delete the array with uprv_free(), but DON'T delete t
he elements in the array.
*
* <p>NOTE: uprv_free() is declared in the private header source/common
/cmemory.h.
*
* @param rawOffset An offset from GMT in milliseconds.
* @param numIDs Receives the number of items in the array that is
returned.
* @return An array of UnicodeString pointers, where each Uni
codeString is
* a time zone ID for a time zone with the given GMT
offset. If
* there is no time zone that matches the GMT offset
* specified, NULL is returned.
* @obsolete ICU 2.8. Use createEnumeration(int32_t) instead since thi
s API will be removed in that release.
*/
static const UnicodeString** createAvailableIDs(int32_t rawOffset, int3
2_t& numIDs);
/**
* Returns a list of time zone IDs associated with the given
* country. Some zones are affiliated with no country (e.g.,
* "UTC"); these may also be retrieved, as a group.
*
* <P>The caller owns the list that is returned, but does not own
* the strings contained in that list. Delete the array with uprv_free
(), but
* <b>DON'T</b> delete the elements in the array.
*
* <p>NOTE: uprv_free() is declared in the private header source/common
/cmemory.h.
*
* @param country The ISO 3166 two-letter country code, or NULL to
* retrieve zones not affiliated with any country.
* @param numIDs Receives the number of items in the array that is
* returned.
* @return An array of UnicodeString pointers, where each
* UnicodeString is a time zone ID for a time zone with the given
* country. If there is no time zone that matches the country
* specified, NULL is returned.
* @obsolete ICU 2.8. Use createEnumeration(const char*) instead since
this API will be removed in that release.
*/
static const UnicodeString** createAvailableIDs(const char* country,
int32_t& numIDs);
/**
* Returns a list of all time zone IDs supported by the TimeZone class
(i.e., all
* IDs that it's legal to pass to createTimeZone()). The caller owns t
he list that
* is returned, but does not own the strings contained in that list. D
elete the array with uprv_free(),
* but DON'T delete the elements in the array.
*
* <p>NOTE: uprv_free() is declared in the private header source/common
/cmemory.h.
*
* @param numIDs Receives the number of zone IDs returned.
* @return An array of UnicodeString pointers, where each is a t
ime zone ID
* supported by the TimeZone class.
* @obsolete ICU 2.8. Use createEnumeration(void) instead since this A
PI will be removed in that release.
*/
static const UnicodeString** createAvailableIDs(int32_t& numIDs);
#endif
/** /**
* Returns the number of IDs in the equivalency group that * Returns the number of IDs in the equivalency group that
* includes the given ID. An equivalency group contains zones * includes the given ID. An equivalency group contains zones
* that have the same GMT offset and rules. * that have the same GMT offset and rules.
* *
* <p>The returned count includes the given ID; it is always >= 1. * <p>The returned count includes the given ID; it is always >= 1.
* The given ID must be a system time zone. If it is not, returns * The given ID must be a system time zone. If it is not, returns
* zero. * zero.
* @param id a system time zone ID * @param id a system time zone ID
* @return the number of zones in the equivalency group containing * @return the number of zones in the equivalency group containing
skipping to change at line 748 skipping to change at line 682
private: private:
friend class ZoneMeta; friend class ZoneMeta;
static TimeZone* createCustomTimeZone(const UnicodeString&); // Creates a time zone based on the string. static TimeZone* createCustomTimeZone(const UnicodeString&); // Creates a time zone based on the string.
/** /**
* Resolve a link in Olson tzdata. When the given id is known and it's not a link, * Resolve a link in Olson tzdata. When the given id is known and it's not a link,
* the id itself is returned. When the given id is known and it is a l ink, then * the id itself is returned. When the given id is known and it is a l ink, then
* dereferenced zone id is returned. When the given id is unknown, the n it returns * dereferenced zone id is returned. When the given id is unknown, the n it returns
* empty string. * NULL.
* @param linkTo Input zone id string * @param id zone id string
* @param linkFrom Receives the dereferenced zone id string * @return the dereferenced zone or NULL
* @return The reference to the result (linkFrom)
*/ */
static UnicodeString& dereferOlsonLink(const UnicodeString& linkTo, Uni static const UChar* dereferOlsonLink(const UnicodeString& id);
codeString& linkFrom);
/**
* Returns the region code associated with the given zone.
* @param id zone id string
* @return the region associated with the given zone
*/
static const UChar* getRegion(const UnicodeString& id);
/** /**
* Parses the given custom time zone identifier * Parses the given custom time zone identifier
* @param id id A string of the form GMT[+-]hh:mm, GMT[+-]hhmm, or * @param id id A string of the form GMT[+-]hh:mm, GMT[+-]hhmm, or
* GMT[+-]hh. * GMT[+-]hh.
* @param sign Receves parsed sign, 1 for positive, -1 for negative. * @param sign Receves parsed sign, 1 for positive, -1 for negative.
* @param hour Receives parsed hour field * @param hour Receives parsed hour field
* @param minute Receives parsed minute field * @param minute Receives parsed minute field
* @param second Receives parsed second field * @param second Receives parsed second field
* @return Returns TRUE when the given custom id is valid. * @return Returns TRUE when the given custom id is valid.
 End of changes. 3 change blocks. 
96 lines changed or deleted 11 lines changed or added


 tmunit.h   tmunit.h 
skipping to change at line 26 skipping to change at line 26
#include "unicode/measunit.h" #include "unicode/measunit.h"
#if !UCONFIG_NO_FORMATTING #if !UCONFIG_NO_FORMATTING
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* Measurement unit for time units. * Measurement unit for time units.
* @see TimeUnitAmount * @see TimeUnitAmount
* @see TimeUnit * @see TimeUnit
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
class U_I18N_API TimeUnit: public MeasureUnit { class U_I18N_API TimeUnit: public MeasureUnit {
public: public:
/** /**
* Constants for all the time units we supported. * Constants for all the time units we supported.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
enum UTimeUnitFields { enum UTimeUnitFields {
UTIMEUNIT_YEAR, UTIMEUNIT_YEAR,
UTIMEUNIT_MONTH, UTIMEUNIT_MONTH,
UTIMEUNIT_DAY, UTIMEUNIT_DAY,
UTIMEUNIT_WEEK, UTIMEUNIT_WEEK,
UTIMEUNIT_HOUR, UTIMEUNIT_HOUR,
UTIMEUNIT_MINUTE, UTIMEUNIT_MINUTE,
UTIMEUNIT_SECOND, UTIMEUNIT_SECOND,
UTIMEUNIT_FIELD_COUNT UTIMEUNIT_FIELD_COUNT
}; };
/** /**
* Create Instance. * Create Instance.
* @param timeUnitField time unit field based on which the instance * @param timeUnitField time unit field based on which the instance
* is created. * is created.
* @param status input-output error code. * @param status input-output error code.
* If the timeUnitField is invalid, * If the timeUnitField is invalid,
* then this will be set to U_ILLEGAL_ARGUMENT_ER ROR. * then this will be set to U_ILLEGAL_ARGUMENT_ER ROR.
* @return a TimeUnit instance * @return a TimeUnit instance
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static TimeUnit* U_EXPORT2 createInstance(UTimeUnitFields timeUnitField , static TimeUnit* U_EXPORT2 createInstance(UTimeUnitFields timeUnitField ,
UErrorCode& status); UErrorCode& status);
/** /**
* Override clone. * Override clone.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UObject* clone() const; virtual UObject* clone() const;
/** /**
* Copy operator. * Copy operator.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnit(const TimeUnit& other); TimeUnit(const TimeUnit& other);
/** /**
* Assignment operator. * Assignment operator.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnit& operator=(const TimeUnit& other); TimeUnit& operator=(const TimeUnit& other);
/** /**
* Equality operator. * Equality operator.
* @return true if 2 objects are the same. * @return true if 2 objects are the same.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UBool operator==(const UObject& other) const; virtual UBool operator==(const UObject& other) const;
/** /**
* Non-Equality operator. * Non-Equality operator.
* @return true if 2 objects are not the same. * @return true if 2 objects are not the same.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UBool operator!=(const UObject& other) const; UBool operator!=(const UObject& other) const;
/** /**
* Returns a unique class ID for this object POLYMORPHICALLY. * Returns a unique class ID for this object POLYMORPHICALLY.
* This method implements a simple form of RTTI used by ICU. * This method implements a simple form of RTTI used by ICU.
* @return The class ID for this object. All objects of a given * @return The class ID for this object. All objects of a given
* class have the same class ID. Objects of other classes have * class have the same class ID. Objects of other classes have
* different class IDs. * different class IDs.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UClassID getDynamicClassID() const; virtual UClassID getDynamicClassID() const;
/** /**
* Returns the class ID for this class. This is used to compare to * Returns the class ID for this class. This is used to compare to
* the return value of getDynamicClassID(). * the return value of getDynamicClassID().
* @return The class ID for all objects of this class. * @return The class ID for all objects of this class.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static UClassID U_EXPORT2 getStaticClassID(); static UClassID U_EXPORT2 getStaticClassID();
/** /**
* Get time unit field. * Get time unit field.
* @return time unit field. * @return time unit field.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UTimeUnitFields getTimeUnitField() const; UTimeUnitFields getTimeUnitField() const;
/** /**
* Destructor. * Destructor.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual ~TimeUnit(); virtual ~TimeUnit();
private: private:
UTimeUnitFields fTimeUnitField; UTimeUnitFields fTimeUnitField;
/** /**
* Constructor * Constructor
* @internal ICU 4.2 * @internal ICU 4.2
*/ */
 End of changes. 12 change blocks. 
12 lines changed or deleted 12 lines changed or added


 tmutamt.h   tmutamt.h 
skipping to change at line 27 skipping to change at line 27
#include "unicode/tmunit.h" #include "unicode/tmunit.h"
#if !UCONFIG_NO_FORMATTING #if !UCONFIG_NO_FORMATTING
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* Express a duration as a time unit and number. Patterned after Currency. * Express a duration as a time unit and number. Patterned after Currency.
* @see TimeUnitAmount * @see TimeUnitAmount
* @see TimeUnitFormat * @see TimeUnitFormat
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
class U_I18N_API TimeUnitAmount: public Measure { class U_I18N_API TimeUnitAmount: public Measure {
public: public:
/** /**
* Construct TimeUnitAmount object with the given number and the * Construct TimeUnitAmount object with the given number and the
* given time unit. * given time unit.
* @param number a numeric object; number.isNumeric() must be TR UE * @param number a numeric object; number.isNumeric() must be TR UE
* @param timeUnitField the time unit field of a time unit * @param timeUnitField the time unit field of a time unit
* @param status the input-output error code. * @param status the input-output error code.
* If the number is not numeric or the timeUnitFie ld * If the number is not numeric or the timeUnitFie ld
* is not valid, * is not valid,
* then this will be set to a failing value: * then this will be set to a failing value:
* U_ILLEGAL_ARGUMENT_ERROR. * U_ILLEGAL_ARGUMENT_ERROR.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnitAmount(const Formattable& number, TimeUnitAmount(const Formattable& number,
TimeUnit::UTimeUnitFields timeUnitField, TimeUnit::UTimeUnitFields timeUnitField,
UErrorCode& status); UErrorCode& status);
/** /**
* Construct TimeUnitAmount object with the given numeric amount and th e * Construct TimeUnitAmount object with the given numeric amount and th e
* given time unit. * given time unit.
* @param amount a numeric amount. * @param amount a numeric amount.
* @param timeUnitField the time unit field on which a time unit amount * @param timeUnitField the time unit field on which a time unit amount
* object will be created. * object will be created.
* @param status the input-output error code. * @param status the input-output error code.
* If the timeUnitField is not valid, * If the timeUnitField is not valid,
* then this will be set to a failing value: * then this will be set to a failing value:
* U_ILLEGAL_ARGUMENT_ERROR. * U_ILLEGAL_ARGUMENT_ERROR.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnitAmount(double amount, TimeUnit::UTimeUnitFields timeUnitField, TimeUnitAmount(double amount, TimeUnit::UTimeUnitFields timeUnitField,
UErrorCode& status); UErrorCode& status);
/** /**
* Copy constructor * Copy constructor
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnitAmount(const TimeUnitAmount& other); TimeUnitAmount(const TimeUnitAmount& other);
/** /**
* Assignment operator * Assignment operator
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnitAmount& operator=(const TimeUnitAmount& other); TimeUnitAmount& operator=(const TimeUnitAmount& other);
/** /**
* Clone. * Clone.
* @return a polymorphic clone of this object. The result will have the same class as returned by getDynamicClassID(). * @return a polymorphic clone of this object. The result will have the same class as returned by getDynamicClassID().
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UObject* clone() const; virtual UObject* clone() const;
/** /**
* Destructor * Destructor
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual ~TimeUnitAmount(); virtual ~TimeUnitAmount();
/** /**
* Equality operator. * Equality operator.
* @param other the object to compare to. * @param other the object to compare to.
* @return true if this object is equal to the given object. * @return true if this object is equal to the given object.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UBool operator==(const UObject& other) const; virtual UBool operator==(const UObject& other) const;
/** /**
* Not-equality operator. * Not-equality operator.
* @param other the object to compare to. * @param other the object to compare to.
* @return true if this object is not equal to the given object. * @return true if this object is not equal to the given object.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UBool operator!=(const UObject& other) const; UBool operator!=(const UObject& other) const;
/** /**
* Return the class ID for this class. This is useful only for comparin g to * Return the class ID for this class. This is useful only for comparin g to
* a return value from getDynamicClassID(). For example: * a return value from getDynamicClassID(). For example:
* <pre> * <pre>
* . Base* polymorphic_pointer = createPolymorphicObject(); * . Base* polymorphic_pointer = createPolymorphicObject();
* . if (polymorphic_pointer->getDynamicClassID() == * . if (polymorphic_pointer->getDynamicClassID() ==
* . erived::getStaticClassID()) ... * . erived::getStaticClassID()) ...
* </pre> * </pre>
* @return The class ID for all objects of this class. * @return The class ID for all objects of this class.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static UClassID U_EXPORT2 getStaticClassID(void); static UClassID U_EXPORT2 getStaticClassID(void);
/** /**
* Returns a unique class ID POLYMORPHICALLY. Pure virtual override. Th is * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. Th is
* method is to implement a simple version of RTTI, since not all C++ * method is to implement a simple version of RTTI, since not all C++
* compilers support genuine RTTI. Polymorphic operator==() and clone() * compilers support genuine RTTI. Polymorphic operator==() and clone()
* methods call this method. * methods call this method.
* *
* @return The class ID for this object. All objects of a * @return The class ID for this object. All objects of a
* given class have the same class ID. Objects of * given class have the same class ID. Objects of
* other classes have different class IDs. * other classes have different class IDs.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UClassID getDynamicClassID(void) const; virtual UClassID getDynamicClassID(void) const;
/** /**
* Get the time unit. * Get the time unit.
* @return time unit object. * @return time unit object.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
const TimeUnit& getTimeUnit() const; const TimeUnit& getTimeUnit() const;
/** /**
* Get the time unit field value. * Get the time unit field value.
* @return time unit field value. * @return time unit field value.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnit::UTimeUnitFields getTimeUnitField() const; TimeUnit::UTimeUnitFields getTimeUnitField() const;
}; };
inline UBool inline UBool
TimeUnitAmount::operator!=(const UObject& other) const { TimeUnitAmount::operator!=(const UObject& other) const {
return !operator==(other); return !operator==(other);
} }
U_NAMESPACE_END U_NAMESPACE_END
 End of changes. 13 change blocks. 
13 lines changed or deleted 13 lines changed or added


 tmutfmt.h   tmutfmt.h 
skipping to change at line 65 skipping to change at line 65
* ((Format*)format)->parseObject(formatted, result, status); * ((Format*)format)->parseObject(formatted, result, status);
* if (U_SUCCESS(status)) { * if (U_SUCCESS(status)) {
* assert (result == formattable); * assert (result == formattable);
* } * }
* } * }
* </pre> * </pre>
* *
* <P> * <P>
* @see TimeUnitAmount * @see TimeUnitAmount
* @see TimeUnitFormat * @see TimeUnitFormat
* @stable ICU 4.4 * @draft ICU 4.2
*/ */
class U_I18N_API TimeUnitFormat: public MeasureFormat { class U_I18N_API TimeUnitFormat: public MeasureFormat {
public: public:
/** /**
* 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 hour s", * For example, for English, the full name for hour duration is "3 hour s",
* and the abbreviated name is "3 hrs". * and the abbreviated name is "3 hrs".
* @stable ICU 4.4 * @draft ICU 4.2
*/ */
enum EStyle { enum EStyle {
kFull = 0, kFull = 0,
kAbbreviate = 1, kAbbreviate = 1,
kTotal = kAbbreviate + 1 kTotal = kAbbreviate + 1
}; };
/** /**
* Create TimeUnitFormat with default locale, and full name style. * Create TimeUnitFormat with default locale, and full name style.
* Use setLocale and/or setFormat to modify. * Use setLocale and/or setFormat to modify.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnitFormat(UErrorCode& status); TimeUnitFormat(UErrorCode& status);
/** /**
* Create TimeUnitFormat given locale, and full name style. * Create TimeUnitFormat given locale, and full name style.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnitFormat(const Locale& locale, UErrorCode& status); TimeUnitFormat(const Locale& locale, UErrorCode& status);
/** /**
* Create TimeUnitFormat given locale and style. * Create TimeUnitFormat given locale and style.
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
TimeUnitFormat(const Locale& locale, EStyle style, UErrorCode& status); TimeUnitFormat(const Locale& locale, EStyle style, UErrorCode& status);
/** /**
* Copy constructor. * Copy constructor.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnitFormat(const TimeUnitFormat&); TimeUnitFormat(const TimeUnitFormat&);
/** /**
* deconstructor * deconstructor
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual ~TimeUnitFormat(); virtual ~TimeUnitFormat();
/** /**
* Clone this Format object polymorphically. The caller owns the result and * Clone this Format object polymorphically. The caller owns the result and
* should delete it when done. * should delete it when done.
* @return A copy of the object. * @return A copy of the object.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual Format* clone(void) const; virtual Format* clone(void) const;
/** /**
* Assignment operator * Assignment operator
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
TimeUnitFormat& operator=(const TimeUnitFormat& other); TimeUnitFormat& operator=(const TimeUnitFormat& other);
/** /**
* Return true if the given Format objects are semantically equal. Obje cts * Return true if the given Format objects are semantically equal. Obje cts
* of different subclasses are considered unequal. * of different subclasses are considered unequal.
* @param other the object to be compared with. * @param other the object to be compared with.
* @return true if the given Format objects are semantically eq ual. * @return true if the given Format objects are semantically eq ual.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UBool operator==(const Format& other) const; virtual UBool operator==(const Format& other) const;
/** /**
* Return true if the given Format objects are not semantically equal. * Return true if the given Format objects are not semantically equal.
* Objects of different subclasses are considered unequal. * Objects of different subclasses are considered unequal.
* @param other the object to be compared with. * @param other the object to be compared with.
* @return true if the given Format objects are not semantically e qual. * @return true if the given Format objects are not semantically e qual.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UBool operator!=(const Format& other) const; UBool operator!=(const Format& other) const;
/** /**
* Set the locale used for formatting or parsing. * Set the locale used for formatting or parsing.
* @param locale the locale to be set * @param locale the locale to be set
* @param status output param set to success/failure code on exit * @param status output param set to success/failure code on exit
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void setLocale(const Locale& locale, UErrorCode& status); void setLocale(const Locale& locale, UErrorCode& status);
/** /**
* Set the number format used for formatting or parsing. * Set the number format used for formatting or parsing.
* @param format the number formatter to be set * @param format the number formatter to be set
* @param status output param set to success/failure code on exit * @param status output param set to success/failure code on exit
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
void setNumberFormat(const NumberFormat& format, UErrorCode& status); void setNumberFormat(const NumberFormat& format, UErrorCode& status);
using MeasureFormat::format;
/** /**
* Format a TimeUnitAmount. * Format a TimeUnitAmount.
* If the formattable object is not a time unit amount object, * If the formattable object is not a time unit amount object,
* or the number in time unit amount is not a double type or long type * or the number in time unit amount is not a double type or long type
* numeric, it returns a failing status: U_ILLEGAL_ARGUMENT_ERROR. * numeric, it returns a failing status: U_ILLEGAL_ARGUMENT_ERROR.
* @see Format#format(const Formattable&, UnicodeString&, FieldPosition &, UErrorCode&) const * @see Format#format(const Formattable&, UnicodeString&, FieldPosition &, UErrorCode&) const
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UnicodeString& format(const Formattable& obj, virtual UnicodeString& format(const Formattable& obj,
UnicodeString& toAppendTo, UnicodeString& toAppendTo,
FieldPosition& pos, FieldPosition& pos,
UErrorCode& status) const; UErrorCode& status) const;
/** /**
* Parse a TimeUnitAmount. * Parse a TimeUnitAmount.
* @see Format#parseObject(const UnicodeString&, Formattable&, ParsePos ition&) const; * @see Format#parseObject(const UnicodeString&, Formattable&, ParsePos ition&) const;
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual void parseObject(const UnicodeString& source, virtual void parseObject(const UnicodeString& source,
Formattable& result, Formattable& result,
ParsePosition& pos) const; ParsePosition& pos) const;
/** /**
* Return the class ID for this class. This is useful only for comparin g to * Return the class ID for this class. This is useful only for comparin g to
* a return value from getDynamicClassID(). For example: * a return value from getDynamicClassID(). For example:
* <pre> * <pre>
* . Base* polymorphic_pointer = createPolymorphicObject(); * . Base* polymorphic_pointer = createPolymorphicObject();
* . if (polymorphic_pointer->getDynamicClassID() == * . if (polymorphic_pointer->getDynamicClassID() ==
* . erived::getStaticClassID()) ... * . erived::getStaticClassID()) ...
* </pre> * </pre>
* @return The class ID for all objects of this class. * @return The class ID for all objects of this class.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
static UClassID U_EXPORT2 getStaticClassID(void); static UClassID U_EXPORT2 getStaticClassID(void);
/** /**
* Returns a unique class ID POLYMORPHICALLY. Pure virtual override. Th is * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. Th is
* method is to implement a simple version of RTTI, since not all C++ * method is to implement a simple version of RTTI, since not all C++
* compilers support genuine RTTI. Polymorphic operator==() and clone() * compilers support genuine RTTI. Polymorphic operator==() and clone()
* methods call this method. * methods call this method.
* *
* @return The class ID for this object. All objects of a * @return The class ID for this object. All objects of a
* given class have the same class ID. Objects of * given class have the same class ID. Objects of
* other classes have different class IDs. * other classes have different class IDs.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
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;
 End of changes. 17 change blocks. 
16 lines changed or deleted 18 lines changed or added


 ucal.h   ucal.h 
skipping to change at line 161 skipping to change at line 161
*/ */
enum UCalendarType { enum UCalendarType {
/** /**
* Despite the name, UCAL_TRADITIONAL designates the locale's default cal endar, * Despite the name, UCAL_TRADITIONAL designates the locale's default cal endar,
* which may be the Gregorian calendar or some other calendar. * which may be the Gregorian calendar or some other calendar.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
UCAL_TRADITIONAL, UCAL_TRADITIONAL,
/** /**
* A better name for UCAL_TRADITIONAL. * A better name for UCAL_TRADITIONAL.
* @stable ICU 4.4 * @draft ICU 4.2
*/ */
UCAL_DEFAULT = UCAL_TRADITIONAL, UCAL_DEFAULT = UCAL_TRADITIONAL,
/** /**
* Unambiguously designates the Gregorian calendar for the locale. * Unambiguously designates the Gregorian calendar for the locale.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
UCAL_GREGORIAN UCAL_GREGORIAN
}; };
/** @stable ICU 2.0 */ /** @stable ICU 2.0 */
skipping to change at line 1173 skipping to change at line 1173
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ucal_getCanonicalTimeZoneID(const UChar* id, int32_t len, ucal_getCanonicalTimeZoneID(const UChar* id, int32_t len,
UChar* result, int32_t resultCapacity, UBool *i sSystemID, UErrorCode* status); UChar* result, int32_t resultCapacity, UBool *i sSystemID, UErrorCode* status);
/** /**
* Get the resource keyword value string designating the calendar type for the UCalendar. * Get the resource keyword value string designating the calendar type for the UCalendar.
* @param cal The UCalendar to query. * @param cal The UCalendar to query.
* @param status The error code for the operation. * @param status The error code for the operation.
* @return The resource keyword value string. * @return The resource keyword value string.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE const char * U_EXPORT2 U_STABLE const char * U_EXPORT2
ucal_getType(const UCalendar *cal, UErrorCode* status); ucal_getType(const UCalendar *cal, UErrorCode* status);
/** /**
* Given a key and a locale, returns an array of string values in a preferr ed * Given a key and a locale, returns an array of string values in a preferr ed
* order that would make a difference. These are all and only those values where * order that would make a difference. These are all and only those values where
* the open (creation) of the service with the locale formed from the input locale * the open (creation) of the service with the locale formed from the input locale
* plus input keyword and that value has different behavior than creation w ith the * plus input keyword and that value has different behavior than creation w ith the
* input locale alone. * input locale alone.
* @param key one of the keys supported by this service. For now , only * @param key one of the keys supported by this service. For now , only
* "calendar" is supported. * "calendar" is supported.
* @param locale the locale * @param locale the locale
* @param commonlyUsed if set to true it will return only commonly used va lues * @param commonlyUsed if set to true it will return only commonly used va lues
* with the given locale in preferred order. Otherwis e, * with the given locale in preferred order. Otherwis e,
* it will return all the available values for the loc ale. * it will return all the available values for the loc ale.
* @param status error status * @param status error status
* @return a string enumeration over keyword values for the given key and t he locale. * @return a string enumeration over keyword values for the given key and t he locale.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE UEnumeration* U_EXPORT2 U_STABLE UEnumeration* U_EXPORT2
ucal_getKeywordValuesForLocale(const char* key, ucal_getKeywordValuesForLocale(const char* key,
const char* locale, const char* locale,
UBool commonlyUsed, UBool commonlyUsed,
UErrorCode* status); UErrorCode* status);
/** Weekday types, as returned by ucal_getDayOfWeekType(). /** Weekday types, as returned by ucal_getDayOfWeekType().
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 ucasemap.h   ucasemap.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* *
* Copyright (C) 2005-2009, International Business Machines * Copyright (C) 2005-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** **** *************************************************************************** ****
* file name: ucasemap.h * file name: ucasemap.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2005may06 * created on: 2005may06
* created by: Markus W. Scherer * created by: Markus W. Scherer
skipping to change at line 195 skipping to change at line 195
#if !UCONFIG_NO_BREAK_ITERATION #if !UCONFIG_NO_BREAK_ITERATION
/** /**
* Get the break iterator that is used for titlecasing. * Get the break iterator that is used for titlecasing.
* Do not modify the returned break iterator. * Do not modify the returned break iterator.
* @param csm UCaseMap service object. * @param csm UCaseMap service object.
* @return titlecasing break iterator * @return titlecasing break iterator
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT const UBreakIterator * U_EXPORT2 U_STABLE const UBreakIterator * U_EXPORT2
ucasemap_getBreakIterator(const UCaseMap *csm); ucasemap_getBreakIterator(const UCaseMap *csm);
/** /**
* Set the break iterator that is used for titlecasing. * Set the break iterator that is used for titlecasing.
* The UCaseMap service object releases a previously set break iterator * The UCaseMap service object releases a previously set break iterator
* and "adopts" this new one, taking ownership of it. * and "adopts" this new one, taking ownership of it.
* It will be released in a subsequent call to ucasemap_setBreakIterator() * It will be released in a subsequent call to ucasemap_setBreakIterator()
* or ucasemap_close(). * or ucasemap_close().
* *
* Break iterator operations are not thread-safe. Therefore, titlecasing * Break iterator operations are not thread-safe. Therefore, titlecasing
skipping to change at line 218 skipping to change at line 218
* *
* @param csm UCaseMap service object. * @param csm UCaseMap service object.
* @param iterToAdopt Break iterator to be adopted for titlecasing. * @param iterToAdopt Break iterator to be adopted for titlecasing.
* @param pErrorCode Must be a valid pointer to an error code value, * @param pErrorCode Must be a valid pointer to an error code value,
* which must not indicate a failure before the function call. * which must not indicate a failure before the function call.
* *
* @see ucasemap_toTitle * @see ucasemap_toTitle
* @see ucasemap_utf8ToTitle * @see ucasemap_utf8ToTitle
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
ucasemap_setBreakIterator(UCaseMap *csm, UBreakIterator *iterToAdopt, UErro rCode *pErrorCode); ucasemap_setBreakIterator(UCaseMap *csm, UBreakIterator *iterToAdopt, UErro rCode *pErrorCode);
/** /**
* Titlecase a UTF-16 string. This function is almost a duplicate of u_strT oTitle(), * Titlecase a UTF-16 string. This function is almost a duplicate of u_strT oTitle(),
* except that it takes ucasemap_setOptions() into account and has performa nce * except that it takes ucasemap_setOptions() into account and has performa nce
* advantages from being able to use a UCaseMap object for multiple case ma pping * advantages from being able to use a UCaseMap object for multiple case ma pping
* operations, saving setup time. * operations, saving setup time.
* *
* Casing is locale-dependent and context-sensitive. * Casing is locale-dependent and context-sensitive.
* Titlecasing uses a break iterator to find the first characters of words * Titlecasing uses a break iterator to find the first characters of words
skipping to change at line 267 skipping to change at line 267
* @param src The original string. * @param src The original string.
* @param srcLength The length of the original string. If -1, then src must be NUL-terminated. * @param srcLength The length of the original string. If -1, then src must be NUL-terminated.
* @param pErrorCode Must be a valid pointer to an error code value, * @param pErrorCode Must be a valid pointer to an error code value,
* which must not indicate a failure before the function c all. * which must not indicate a failure before the function c all.
* @return The length of the result string, if successful - or in case of a buffer overflow, * @return The length of the result string, if successful - or in case of a buffer overflow,
* in which case it will be greater than destCapacity. * in which case it will be greater than destCapacity.
* *
* @see u_strToTitle * @see u_strToTitle
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ucasemap_toTitle(UCaseMap *csm, ucasemap_toTitle(UCaseMap *csm,
UChar *dest, int32_t destCapacity, UChar *dest, int32_t destCapacity,
const UChar *src, int32_t srcLength, const UChar *src, int32_t srcLength,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
#endif #endif
/** /**
* Lowercase the characters in a UTF-8 string. * Lowercase the characters in a UTF-8 string.
* Casing is locale-dependent and context-sensitive. * Casing is locale-dependent and context-sensitive.
skipping to change at line 379 skipping to change at line 379
* @param pErrorCode Must be a valid pointer to an error code value, * @param pErrorCode Must be a valid pointer to an error code value,
* which must not indicate a failure before the function c all. * which must not indicate a failure before the function c all.
* @return The length of the result string, if successful - or in case of a buffer overflow, * @return The length of the result string, if successful - or in case of a buffer overflow,
* in which case it will be greater than destCapacity. * in which case it will be greater than destCapacity.
* *
* @see u_strToTitle * @see u_strToTitle
* @see U_TITLECASE_NO_LOWERCASE * @see U_TITLECASE_NO_LOWERCASE
* @see U_TITLECASE_NO_BREAK_ADJUSTMENT * @see U_TITLECASE_NO_BREAK_ADJUSTMENT
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ucasemap_utf8ToTitle(UCaseMap *csm, ucasemap_utf8ToTitle(UCaseMap *csm,
char *dest, int32_t destCapacity, char *dest, int32_t destCapacity,
const char *src, int32_t srcLength, const char *src, int32_t srcLength,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
#endif #endif
/** /**
* Case-fold the characters in a UTF-8 string. * Case-fold the characters in a UTF-8 string.
* Case-folding is locale-independent and not context-sensitive, * Case-folding is locale-independent and not context-sensitive,
skipping to change at line 415 skipping to change at line 415
* which must not indicate a failure before the function c all. * which must not indicate a failure before the function c all.
* @return The length of the result string, if successful - or in case of a buffer overflow, * @return The length of the result string, if successful - or in case of a buffer overflow,
* in which case it will be greater than destCapacity. * in which case it will be greater than destCapacity.
* *
* @see u_strFoldCase * @see u_strFoldCase
* @see ucasemap_setOptions * @see ucasemap_setOptions
* @see U_FOLD_CASE_DEFAULT * @see U_FOLD_CASE_DEFAULT
* @see U_FOLD_CASE_EXCLUDE_SPECIAL_I * @see U_FOLD_CASE_EXCLUDE_SPECIAL_I
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ucasemap_utf8FoldCase(const UCaseMap *csm, ucasemap_utf8FoldCase(const UCaseMap *csm,
char *dest, int32_t destCapacity, char *dest, int32_t destCapacity,
const char *src, int32_t srcLength, const char *src, int32_t srcLength,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
#endif #endif
 End of changes. 6 change blocks. 
6 lines changed or deleted 6 lines changed or added


 uchar.h   uchar.h 
skipping to change at line 2181 skipping to change at line 2181
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
U_STABLE UBool U_EXPORT2 U_STABLE UBool U_EXPORT2
u_isJavaSpaceChar(UChar32 c); u_isJavaSpaceChar(UChar32 c);
/** /**
* Determines if the specified code point is a whitespace character accordi ng to Java/ICU. * Determines if the specified code point is a whitespace character accordi ng to Java/ICU.
* A character is considered to be a Java whitespace character if and only * A character is considered to be a Java whitespace character if and only
* if it satisfies one of the following criteria: * if it satisfies one of the following criteria:
* *
* - It is a Unicode separator (categories "Z"), but is not * - It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or
* a no-break space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narr "Zp"), but is not
ow NBSP). * also a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or U+
202F Narrow NBSP).
* - It is U+0009 HORIZONTAL TABULATION. * - It is U+0009 HORIZONTAL TABULATION.
* - It is U+000A LINE FEED. * - It is U+000A LINE FEED.
* - It is U+000B VERTICAL TABULATION. * - It is U+000B VERTICAL TABULATION.
* - It is U+000C FORM FEED. * - It is U+000C FORM FEED.
* - It is U+000D CARRIAGE RETURN. * - It is U+000D CARRIAGE RETURN.
* - It is U+001C FILE SEPARATOR. * - It is U+001C FILE SEPARATOR.
* - It is U+001D GROUP SEPARATOR. * - It is U+001D GROUP SEPARATOR.
* - It is U+001E RECORD SEPARATOR. * - It is U+001E RECORD SEPARATOR.
* - It is U+001F UNIT SEPARATOR. * - It is U+001F UNIT SEPARATOR.
* - It is U+0085 NEXT LINE.
* *
* Same as java.lang.Character.isWhitespace() except that Java omits U+0085 * This API tries to sync with the semantics of Java's
. * java.lang.Character.isWhitespace(), but it may not return
* the exact same results because of the Unicode version
* difference.
*
* Note: Unicode 4.0.1 changed U+200B ZERO WIDTH SPACE from a Space Separat
or (Zs)
* to a Format Control (Cf). Since then, isWhitespace(0x200b) returns false
.
* See http://www.unicode.org/versions/Unicode4.0.1/
* *
* Note: There are several ICU whitespace functions; please see the uchar.h * Note: There are several ICU whitespace functions; please see the uchar.h
* file documentation for a detailed comparison. * file documentation for a detailed comparison.
* *
* @param c the code point to be tested * @param c the code point to be tested
* @return TRUE if the code point is a whitespace character according to Ja va/ICU * @return TRUE if the code point is a whitespace character according to Ja va/ICU
* *
* @see u_isspace * @see u_isspace
* @see u_isJavaSpaceChar * @see u_isJavaSpaceChar
* @see u_isUWhiteSpace * @see u_isUWhiteSpace
skipping to change at line 2745 skipping to change at line 2751
* or UCHAR_INT_START<=which<UCHAR_INT_LIMIT * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT
* or UCHAR_MASK_START<=which<UCHAR_MASK_LIMIT. * or UCHAR_MASK_START<=which<UCHAR_MASK_LIMIT.
* If out of range, UCHAR_INVALID_CODE is returned. * If out of range, UCHAR_INVALID_CODE is returned.
* *
* @param alias the value name to be matched. The name is compared * @param alias the value name to be matched. The name is compared
* using "loose matching" as described in * using "loose matching" as described in
* PropertyValueAliases.txt. * PropertyValueAliases.txt.
* *
* @return a value integer or UCHAR_INVALID_CODE if the given name * @return a value integer or UCHAR_INVALID_CODE if the given name
* does not match any value of the given property, or if the * does not match any value of the given property, or if the
* property is invalid. Note: U CHAR_GENERAL_CATEGORY values * property is invalid. Note: UCHAR_GENERAL_CATEGORY_MASK values
* are not values of UCharCategory, but rather mask values * are not values of UCharCategory, but rather mask values
* produced by U_GET_GC_MASK(). This allows grouped * produced by U_GET_GC_MASK(). This allows grouped
* categories such as [:L:] to be represented. * categories such as [:L:] to be represented.
* *
* @see UProperty * @see UProperty
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
u_getPropertyValueEnum(UProperty property, u_getPropertyValueEnum(UProperty property,
const char* alias); const char* alias);
skipping to change at line 2807 skipping to change at line 2813
*/ */
U_STABLE UBool U_EXPORT2 U_STABLE UBool U_EXPORT2
u_isIDPart(UChar32 c); u_isIDPart(UChar32 c);
/** /**
* Determines if the specified character should be regarded * Determines if the specified character should be regarded
* as an ignorable character in an identifier, * as an ignorable character in an identifier,
* according to Java. * according to Java.
* True for characters with general category "Cf" (format controls) as well as * True for characters with general category "Cf" (format controls) as well as
* non-whitespace ISO controls * non-whitespace ISO controls
* (U+0000..U+0008, U+000E..U+001B, U+007F..U+0084, U+0086..U+009F). * (U+0000..U+0008, U+000E..U+001B, U+007F..U+009F).
* *
* Same as java.lang.Character.isIdentifierIgnorable() * Same as java.lang.Character.isIdentifierIgnorable().
* except that Java also returns TRUE for U+0085 Next Line
* (it omits U+0085 from whitespace ISO controls).
* *
* Note that Unicode just recommends to ignore Cf (format controls). * Note that Unicode just recommends to ignore Cf (format controls).
* *
* @param c the code point to be tested * @param c the code point to be tested
* @return TRUE if the code point is ignorable in identifiers according to Java * @return TRUE if the code point is ignorable in identifiers according to Java
* *
* @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT * @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT
* @see u_isIDStart * @see u_isIDStart
* @see u_isIDPart * @see u_isIDPart
* @stable ICU 2.0 * @stable ICU 2.0
skipping to change at line 3090 skipping to change at line 3094
* For example, Unicode version 3.1.1 is represented as an array with * For example, Unicode version 3.1.1 is represented as an array with
* the values { 3, 1, 1, 0 }. * the values { 3, 1, 1, 0 }.
* *
* @param versionArray an output array that will be filled in with * @param versionArray an output array that will be filled in with
* the Unicode version number * the Unicode version number
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
u_getUnicodeVersion(UVersionInfo versionArray); u_getUnicodeVersion(UVersionInfo versionArray);
#if !UCONFIG_NO_NORMALIZATION
/** /**
* Get the FC_NFKC_Closure property string for a character. * Get the FC_NFKC_Closure property string for a character.
* See Unicode Standard Annex #15 for details, search for "FC_NFKC_Closure" * See Unicode Standard Annex #15 for details, search for "FC_NFKC_Closure"
* or for "FNC": http://www.unicode.org/reports/tr15/ * or for "FNC": http://www.unicode.org/reports/tr15/
* *
* @param c The character (code point) for which to get the FC_NFKC_Closure string. * @param c The character (code point) for which to get the FC_NFKC_Closure string.
* It must be <code>0<=c<=0x10ffff</code>. * It must be <code>0<=c<=0x10ffff</code>.
* @param dest Destination address for copying the string. * @param dest Destination address for copying the string.
* The string will be zero-terminated if possible. * The string will be zero-terminated if possible.
* If there is no FC_NFKC_Closure string, * If there is no FC_NFKC_Closure string,
skipping to change at line 3114 skipping to change at line 3119
* If the destCapacity is less than or equal to the length, then th e buffer * If the destCapacity is less than or equal to the length, then th e buffer
* contains the truncated name and the returned length indicates th e full * contains the truncated name and the returned length indicates th e full
* length of the name. * length of the name.
* The length does not include the zero-termination. * The length does not include the zero-termination.
* *
* @stable ICU 2.2 * @stable ICU 2.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCo de *pErrorCode); u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCo de *pErrorCode);
#endif
U_CDECL_END U_CDECL_END
#endif /*_UCHAR*/ #endif /*_UCHAR*/
/*eof*/ /*eof*/
 End of changes. 8 change blocks. 
11 lines changed or deleted 20 lines changed or added


 ucnvsel.h   ucnvsel.h 
skipping to change at line 68 skipping to change at line 68
* If 0, builds a selector for all available conve rters. * If 0, builds a selector for all available conve rters.
* @param excludedCodePoints a set of code points to be excluded from consi deration. * @param excludedCodePoints a set of code points to be excluded from consi deration.
* That is, excluded code points in a string do n ot change * That is, excluded code points in a string do n ot change
* the selection result. (They might be handled b y a callback.) * the selection result. (They might be handled b y a callback.)
* Use NULL to exclude nothing. * Use NULL to exclude nothing.
* @param whichSet what converter set to use? Use this to determine whether * @param whichSet what converter set to use? Use this to determine whether
* to consider only roundtrip mappings or also fallbacks. * to consider only roundtrip mappings or also fallbacks.
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @return the new selector * @return the new selector
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE UConverterSelector* U_EXPORT2 U_STABLE UConverterSelector* U_EXPORT2
ucnvsel_open(const char* const* converterList, int32_t converterListSize, ucnvsel_open(const char* const* converterList, int32_t converterListSize,
const USet* excludedCodePoints, const USet* excludedCodePoints,
const UConverterUnicodeSet whichSet, UErrorCode* status); const UConverterUnicodeSet whichSet, UErrorCode* status);
/** /**
* Closes a selector. * Closes a selector.
* If any Enumerations were returned by ucnv_select*, they become invalid. * If any Enumerations were returned by ucnv_select*, they become invalid.
* They can be closed before or after calling ucnv_closeSelector, * They can be closed before or after calling ucnv_closeSelector,
* but should never be used after the selector is closed. * but should never be used after the selector is closed.
* *
* @see ucnv_selectForString * @see ucnv_selectForString
* @see ucnv_selectForUTF8 * @see ucnv_selectForUTF8
* *
* @param sel selector to close * @param sel selector to close
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
ucnvsel_close(UConverterSelector *sel); ucnvsel_close(UConverterSelector *sel);
#if U_SHOW_CPLUSPLUS_API #if U_SHOW_CPLUSPLUS_API
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* \class LocalUConverterSelectorPointer * \class LocalUConverterSelectorPointer
skipping to change at line 123 skipping to change at line 123
* This is much faster than creating a selector from scratch. * This is much faster than creating a selector from scratch.
* Using a serialized form from a different machine (endianness/charset) is supported. * Using a serialized form from a different machine (endianness/charset) is supported.
* *
* @param buffer pointer to the serialized form of a converter selector; * @param buffer pointer to the serialized form of a converter selector;
* must be 32-bit-aligned * must be 32-bit-aligned
* @param length the capacity of this buffer (can be equal to or larger tha n * @param length the capacity of this buffer (can be equal to or larger tha n
* the actual data length) * the actual data length)
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @return the new selector * @return the new selector
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE UConverterSelector* U_EXPORT2 U_STABLE UConverterSelector* U_EXPORT2
ucnvsel_openFromSerialized(const void* buffer, int32_t length, UErrorCode* status); ucnvsel_openFromSerialized(const void* buffer, int32_t length, UErrorCode* status);
/** /**
* Serialize a selector into a linear buffer. * Serialize a selector into a linear buffer.
* The serialized form is portable to different machines. * The serialized form is portable to different machines.
* *
* @param sel selector to consider * @param sel selector to consider
* @param buffer pointer to 32-bit-aligned memory to be filled with the * @param buffer pointer to 32-bit-aligned memory to be filled with the
* serialized form of this converter selector * serialized form of this converter selector
* @param bufferCapacity the capacity of this buffer * @param bufferCapacity the capacity of this buffer
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @return the required buffer capacity to hold serialize data (even if the call fails * @return the required buffer capacity to hold serialize data (even if the call fails
* with a U_BUFFER_OVERFLOW_ERROR, it will return the required capa city) * with a U_BUFFER_OVERFLOW_ERROR, it will return the required capa city)
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ucnvsel_serialize(const UConverterSelector* sel, ucnvsel_serialize(const UConverterSelector* sel,
void* buffer, int32_t bufferCapacity, UErrorCode* status) ; void* buffer, int32_t bufferCapacity, UErrorCode* status) ;
/** /**
* Select converters that can map all characters in a UTF-16 string, * Select converters that can map all characters in a UTF-16 string,
* ignoring the excluded code points. * ignoring the excluded code points.
* *
* @param sel a selector * @param sel a selector
* @param s UTF-16 string * @param s UTF-16 string
* @param length length of the string, or -1 if NUL-terminated * @param length length of the string, or -1 if NUL-terminated
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @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.4 * @stable ICU 4.2
*/ */
U_STABLE UEnumeration * U_EXPORT2 U_STABLE UEnumeration * U_EXPORT2
ucnvsel_selectForString(const UConverterSelector* sel, ucnvsel_selectForString(const UConverterSelector* sel,
const UChar *s, int32_t length, UErrorCode *status) ; const UChar *s, int32_t length, UErrorCode *status) ;
/** /**
* Select converters that can map all characters in a UTF-8 string, * Select converters that can map all characters in a UTF-8 string,
* ignoring the excluded code points. * ignoring the excluded code points.
* *
* @param sel a selector * @param sel a selector
* @param s UTF-8 string * @param s UTF-8 string
* @param length length of the string, or -1 if NUL-terminated * @param length length of the string, or -1 if NUL-terminated
* @param status an in/out ICU UErrorCode * @param status an in/out ICU UErrorCode
* @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.4 * @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 /* __ICU_UCNV_SEL_H__ */ #endif /* __ICU_UCNV_SEL_H__ */
 End of changes. 6 change blocks. 
6 lines changed or deleted 6 lines changed or added


 ucurr.h   ucurr.h 
skipping to change at line 155 skipping to change at line 155
* @param currency null-terminated 3-letter ISO 4217 code * @param currency null-terminated 3-letter ISO 4217 code
* @param locale locale in which to display currency * @param locale locale in which to display currency
* @param isChoiceFormat fill-in set to TRUE if the returned value * @param isChoiceFormat fill-in set to TRUE if the returned value
* is a ChoiceFormat pattern; otherwise it is a static string * is a ChoiceFormat pattern; otherwise it is a static string
* @param pluralCount plural count * @param pluralCount plural count
* @param len fill-in parameter to receive length of result * @param len fill-in parameter to receive length of result
* @param ec error code * @param ec error code
* @return pointer to display string of 'len' UChars. If the resource * @return pointer to display string of 'len' UChars. If the resource
* data contains no entry for 'currency', then 'currency' itself is * data contains no entry for 'currency', then 'currency' itself is
* returned. * returned.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE const UChar* U_EXPORT2 U_STABLE const UChar* U_EXPORT2
ucurr_getPluralName(const UChar* currency, ucurr_getPluralName(const UChar* currency,
const char* locale, const char* locale,
UBool* isChoiceFormat, UBool* isChoiceFormat,
const char* pluralCount, const char* pluralCount,
int32_t* len, int32_t* len,
UErrorCode* ec); UErrorCode* ec);
/** /**
skipping to change at line 306 skipping to change at line 306
* plus input keyword and that value has different behavior than creation w ith the * plus input keyword and that value has different behavior than creation w ith the
* input locale alone. * input locale alone.
* @param key one of the keys supported by this service. For now , only * @param key one of the keys supported by this service. For now , only
* "currency" is supported. * "currency" is supported.
* @param locale the locale * @param locale the locale
* @param commonlyUsed if set to true it will return only commonly used va lues * @param commonlyUsed if set to true it will return only commonly used va lues
* with the given locale in preferred order. Otherwis e, * with the given locale in preferred order. Otherwis e,
* it will return all the available values for the loc ale. * it will return all the available values for the loc ale.
* @param status error status * @param status error status
* @return a string enumeration over keyword values for the given key and t he locale. * @return a string enumeration over keyword values for the given key and t he locale.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE UEnumeration* U_EXPORT2 U_STABLE UEnumeration* U_EXPORT2
ucurr_getKeywordValuesForLocale(const char* key, ucurr_getKeywordValuesForLocale(const char* key,
const char* locale, const char* locale,
UBool commonlyUsed, UBool commonlyUsed,
UErrorCode* status); UErrorCode* status);
#endif /* #if !UCONFIG_NO_FORMATTING */ #endif /* #if !UCONFIG_NO_FORMATTING */
#endif #endif
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 udat.h   udat.h 
/* /*
************************************************************************** ***** ************************************************************************** *****
* Copyright (C) 1996-2009, International Business Machines * Copyright (C) 1996-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
************************************************************************** ***** ************************************************************************** *****
*/ */
#ifndef UDAT_H #ifndef UDAT_H
#define UDAT_H #define UDAT_H
#include "unicode/utypes.h" #include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING #if !UCONFIG_NO_FORMATTING
skipping to change at line 222 skipping to change at line 222
#define UDAT_YEAR_ABBR_QUARTER "yQ" #define UDAT_YEAR_ABBR_QUARTER "yQ"
/** @} */ /** @} */
/** /**
* @{ * @{
* Below are a set of pre-defined skeletons that * Below are a set of pre-defined skeletons that
* have pre-defined interval patterns in resource files. * have pre-defined interval patterns in resource files.
* Users are encouraged to use them in date interval format factory methods . * Users are encouraged to use them in date interval format factory methods .
* *
* @stable ICU 4.0
*/ */
#define UDAT_HOUR_MINUTE "hm" #define UDAT_HOUR_MINUTE "hm"
#define UDAT_YEAR "y" #define UDAT_YEAR "y"
#define UDAT_DAY "d" #define UDAT_DAY "d"
#define UDAT_NUM_MONTH_WEEKDAY_DAY "MEd" #define UDAT_NUM_MONTH_WEEKDAY_DAY "MEd"
#define UDAT_YEAR_NUM_MONTH "yM" #define UDAT_YEAR_NUM_MONTH "yM"
#define UDAT_NUM_MONTH_DAY "Md" #define UDAT_NUM_MONTH_DAY "Md"
#define UDAT_YEAR_NUM_MONTH_WEEKDAY_DAY "yMEd" #define UDAT_YEAR_NUM_MONTH_WEEKDAY_DAY "yMEd"
#define UDAT_ABBR_MONTH_WEEKDAY_DAY "MMMEd" #define UDAT_ABBR_MONTH_WEEKDAY_DAY "MMMEd"
#define UDAT_YEAR_MONTH "yMMMM" #define UDAT_YEAR_MONTH "yMMMM"
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added


 udatpg.h   udatpg.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* *
* Copyright (C) 2007-2009, International Business Machines * Copyright (C) 2007-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** **** *************************************************************************** ****
* file name: udatpg.h * file name: udatpg.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2007jul30 * created on: 2007jul30
* created by: Markus W. Scherer * created by: Markus W. Scherer
skipping to change at line 102 skipping to change at line 102
* pattern to match those in the skeleton (when this would not happen * pattern to match those in the skeleton (when this would not happen
* otherwise). These may be combined to force the length of multiple fields . * otherwise). These may be combined to force the length of multiple fields .
* Used with udatpg_getBestPatternWithOptions, udatpg_replaceFieldTypesWith Options. * Used with udatpg_getBestPatternWithOptions, udatpg_replaceFieldTypesWith Options.
* @draft ICU 4.4 * @draft ICU 4.4
*/ */
typedef enum UDateTimePatternMatchOptions { typedef enum UDateTimePatternMatchOptions {
/** @draft ICU 4.4 */ /** @draft ICU 4.4 */
UDATPG_MATCH_NO_OPTIONS = 0, UDATPG_MATCH_NO_OPTIONS = 0,
/** @draft ICU 4.4 */ /** @draft ICU 4.4 */
UDATPG_MATCH_HOUR_FIELD_LENGTH = 1 << UDATPG_HOUR_FIELD, UDATPG_MATCH_HOUR_FIELD_LENGTH = 1 << UDATPG_HOUR_FIELD,
/** @internal ICU 4.4 */
UDATPG_MATCH_MINUTE_FIELD_LENGTH = 1 << UDATPG_MINUTE_FIELD,
/** @internal ICU 4.4 */
UDATPG_MATCH_SECOND_FIELD_LENGTH = 1 << UDATPG_SECOND_FIELD,
/** @draft ICU 4.4 */ /** @draft ICU 4.4 */
UDATPG_MATCH_ALL_FIELDS_LENGTH = (1 << UDATPG_FIELD_COUNT) - 1 UDATPG_MATCH_ALL_FIELDS_LENGTH = (1 << UDATPG_FIELD_COUNT) - 1
} UDateTimePatternMatchOptions; } UDateTimePatternMatchOptions;
/** /**
* Status return values from udatpg_addPattern(). * Status return values from udatpg_addPattern().
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
typedef enum UDateTimePatternConflict { typedef enum UDateTimePatternConflict {
/** @stable ICU 3.8 */ /** @stable ICU 3.8 */
skipping to change at line 129 skipping to change at line 133
} UDateTimePatternConflict; } UDateTimePatternConflict;
/** /**
* Open a generator according to a given locale. * Open a generator according to a given locale.
* @param locale * @param locale
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return a pointer to UDateTimePatternGenerator. * @return a pointer to UDateTimePatternGenerator.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT UDateTimePatternGenerator * U_EXPORT2 U_STABLE UDateTimePatternGenerator * U_EXPORT2
udatpg_open(const char *locale, UErrorCode *pErrorCode); udatpg_open(const char *locale, UErrorCode *pErrorCode);
/** /**
* Open an empty generator, to be constructed with udatpg_addPattern(...) etc. * Open an empty generator, to be constructed with udatpg_addPattern(...) etc.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return a pointer to UDateTimePatternGenerator. * @return a pointer to UDateTimePatternGenerator.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT UDateTimePatternGenerator * U_EXPORT2 U_STABLE UDateTimePatternGenerator * U_EXPORT2
udatpg_openEmpty(UErrorCode *pErrorCode); udatpg_openEmpty(UErrorCode *pErrorCode);
/** /**
* Close a generator. * Close a generator.
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
udatpg_close(UDateTimePatternGenerator *dtpg); udatpg_close(UDateTimePatternGenerator *dtpg);
#if U_SHOW_CPLUSPLUS_API #if U_SHOW_CPLUSPLUS_API
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* \class LocalUDateTimePatternGeneratorPointer * \class LocalUDateTimePatternGeneratorPointer
* "Smart pointer" class, closes a UDateTimePatternGenerator via udatpg_clo se(). * "Smart pointer" class, closes a UDateTimePatternGenerator via udatpg_clo se().
* For most methods see the LocalPointerBase base class. * For most methods see the LocalPointerBase base class.
skipping to change at line 177 skipping to change at line 181
#endif #endif
/** /**
* Create a copy pf a generator. * Create a copy pf a generator.
* @param dtpg a pointer to UDateTimePatternGenerator to be copied. * @param dtpg a pointer to UDateTimePatternGenerator to be copied.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return a pointer to a new UDateTimePatternGenerator. * @return a pointer to a new UDateTimePatternGenerator.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT UDateTimePatternGenerator * U_EXPORT2 U_STABLE UDateTimePatternGenerator * U_EXPORT2
udatpg_clone(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode) ; udatpg_clone(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode) ;
/** /**
* Get the best pattern matching the input skeleton. It is guaranteed to * Get the best pattern matching the input skeleton. It is guaranteed to
* have all of the fields in the skeleton. * have all of the fields in the skeleton.
* *
* Note that this function uses a non-const UDateTimePatternGenerator: * Note that this function uses a non-const UDateTimePatternGenerator:
* It uses a stateful pattern parser which is set up for each generator obj ect, * It uses a stateful pattern parser which is set up for each generator obj ect,
* rather than creating one for each function call. * rather than creating one for each function call.
* Consecutive calls to this function do not affect each other, * Consecutive calls to this function do not affect each other,
skipping to change at line 203 skipping to change at line 207
* For example, "MMMdd" and "mmhh" are skeletons. * For example, "MMMdd" and "mmhh" are skeletons.
* @param length the length of skeleton * @param length the length of skeleton
* @param bestPattern * @param bestPattern
* The best pattern found from the given skeleton. * The best pattern found from the given skeleton.
* @param capacity the capacity of bestPattern. * @param capacity the capacity of bestPattern.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return the length of bestPattern. * @return the length of bestPattern.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
udatpg_getBestPattern(UDateTimePatternGenerator *dtpg, udatpg_getBestPattern(UDateTimePatternGenerator *dtpg,
const UChar *skeleton, int32_t length, const UChar *skeleton, int32_t length,
UChar *bestPattern, int32_t capacity, UChar *bestPattern, int32_t capacity,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
/** /**
* Get the best pattern matching the input skeleton. It is guaranteed to * Get the best pattern matching the input skeleton. It is guaranteed to
* have all of the fields in the skeleton. * have all of the fields in the skeleton.
* *
* Note that this function uses a non-const UDateTimePatternGenerator: * Note that this function uses a non-const UDateTimePatternGenerator:
skipping to change at line 266 skipping to change at line 270
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param pattern input pattern, such as "dd/MMM". * @param pattern input pattern, such as "dd/MMM".
* @param length the length of pattern. * @param length the length of pattern.
* @param skeleton such as "MMMdd" * @param skeleton such as "MMMdd"
* @param capacity the capacity of skeleton. * @param capacity the capacity of skeleton.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return the length of skeleton. * @return the length of skeleton.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
udatpg_getSkeleton(UDateTimePatternGenerator *dtpg, udatpg_getSkeleton(UDateTimePatternGenerator *dtpg,
const UChar *pattern, int32_t length, const UChar *pattern, int32_t length,
UChar *skeleton, int32_t capacity, UChar *skeleton, int32_t capacity,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
/** /**
* Get a unique base skeleton from a given pattern. This is the same * Get a unique base skeleton from a given pattern. This is the same
* as the skeleton, except that differences in length are minimized so * as the skeleton, except that differences in length are minimized so
* as to only preserve the difference between string and numeric form. So * as to only preserve the difference between string and numeric form. So
* for example, both "MMM-dd" and "d/MMM" produce the skeleton "MMMd" * for example, both "MMM-dd" and "d/MMM" produce the skeleton "MMMd"
skipping to change at line 295 skipping to change at line 299
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param pattern input pattern, such as "dd/MMM". * @param pattern input pattern, such as "dd/MMM".
* @param length the length of pattern. * @param length the length of pattern.
* @param baseSkeleton such as "Md" * @param baseSkeleton such as "Md"
* @param capacity the capacity of base skeleton. * @param capacity the capacity of base skeleton.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return the length of baseSkeleton. * @return the length of baseSkeleton.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
udatpg_getBaseSkeleton(UDateTimePatternGenerator *dtpg, udatpg_getBaseSkeleton(UDateTimePatternGenerator *dtpg,
const UChar *pattern, int32_t length, const UChar *pattern, int32_t length,
UChar *baseSkeleton, int32_t capacity, UChar *baseSkeleton, int32_t capacity,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
/** /**
* Adds a pattern to the generator. If the pattern has the same skeleton as * Adds a pattern to the generator. If the pattern has the same skeleton as
* an existing pattern, and the override parameter is set, then the previou s * an existing pattern, and the override parameter is set, then the previou s
* value is overriden. Otherwise, the previous value is retained. In either * value is overriden. Otherwise, the previous value is retained. In either
* case, the conflicting status is set and previous vale is stored in * case, the conflicting status is set and previous vale is stored in
skipping to change at line 325 skipping to change at line 329
* otherwise use false. * otherwise use false.
* @param conflictingPattern Previous pattern with the same skeleton. * @param conflictingPattern Previous pattern with the same skeleton.
* @param capacity the capacity of conflictingPattern. * @param capacity the capacity of conflictingPattern.
* @param pLength a pointer to the length of conflictingPattern. * @param pLength a pointer to the length of conflictingPattern.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return conflicting status. The value could be UDATPG_NO_CONFLICT, * @return conflicting status. The value could be UDATPG_NO_CONFLICT,
* UDATPG_BASE_CONFLICT or UDATPG_CONFLICT. * UDATPG_BASE_CONFLICT or UDATPG_CONFLICT.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT UDateTimePatternConflict U_EXPORT2 U_STABLE UDateTimePatternConflict U_EXPORT2
udatpg_addPattern(UDateTimePatternGenerator *dtpg, udatpg_addPattern(UDateTimePatternGenerator *dtpg,
const UChar *pattern, int32_t patternLength, const UChar *pattern, int32_t patternLength,
UBool override, UBool override,
UChar *conflictingPattern, int32_t capacity, int32_t *pLe ngth, UChar *conflictingPattern, int32_t capacity, int32_t *pLe ngth,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
/** /**
* An AppendItem format is a pattern used to append a field if there is no * An AppendItem format is a pattern used to append a field if there is no
* good match. For example, suppose that the input skeleton is "GyyyyMMMd" , * good match. For example, suppose that the input skeleton is "GyyyyMMMd" ,
* and there is no matching pattern internally, but there is a pattern * and there is no matching pattern internally, but there is a pattern
skipping to change at line 352 skipping to change at line 356
* {1} is the element we are adding, and {2} is the name of the element. * {1} is the element we are adding, and {2} is the name of the element.
* <p> * <p>
* This reflects the way that the CLDR data is organized. * This reflects the way that the CLDR data is organized.
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param field UDateTimePatternField, such as UDATPG_ERA_FIELD * @param field UDateTimePatternField, such as UDATPG_ERA_FIELD
* @param value pattern, such as "{0}, {1}" * @param value pattern, such as "{0}, {1}"
* @param length the length of value. * @param length the length of value.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
udatpg_setAppendItemFormat(UDateTimePatternGenerator *dtpg, udatpg_setAppendItemFormat(UDateTimePatternGenerator *dtpg,
UDateTimePatternField field, UDateTimePatternField field,
const UChar *value, int32_t length); const UChar *value, int32_t length);
/** /**
* Getter corresponding to setAppendItemFormat. Values below 0 or at or * Getter corresponding to setAppendItemFormat. Values below 0 or at or
* above UDATPG_FIELD_COUNT are illegal arguments. * above UDATPG_FIELD_COUNT are illegal arguments.
* *
* @param dtpg A pointer to UDateTimePatternGenerator. * @param dtpg A pointer to UDateTimePatternGenerator.
* @param field UDateTimePatternField, such as UDATPG_ERA_FIELD * @param field UDateTimePatternField, such as UDATPG_ERA_FIELD
* @param pLength A pointer that will receive the length of appendItemForma t. * @param pLength A pointer that will receive the length of appendItemForma t.
* @return appendItemFormat for field. * @return appendItemFormat for field.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT const UChar * U_EXPORT2 U_STABLE const UChar * U_EXPORT2
udatpg_getAppendItemFormat(const UDateTimePatternGenerator *dtpg, udatpg_getAppendItemFormat(const UDateTimePatternGenerator *dtpg,
UDateTimePatternField field, UDateTimePatternField field,
int32_t *pLength); int32_t *pLength);
/** /**
* Set the name of field, eg "era" in English for ERA. These are only * Set the name of field, eg "era" in English for ERA. These are only
* used if the corresponding AppendItemFormat is used, and if it contains a * used if the corresponding AppendItemFormat is used, and if it contains a
* {2} variable. * {2} variable.
* <p> * <p>
* This reflects the way that the CLDR data is organized. * This reflects the way that the CLDR data is organized.
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param field UDateTimePatternField * @param field UDateTimePatternField
* @param value name for the field. * @param value name for the field.
* @param length the length of value. * @param length the length of value.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
udatpg_setAppendItemName(UDateTimePatternGenerator *dtpg, udatpg_setAppendItemName(UDateTimePatternGenerator *dtpg,
UDateTimePatternField field, UDateTimePatternField field,
const UChar *value, int32_t length); const UChar *value, int32_t length);
/** /**
* Getter corresponding to setAppendItemNames. Values below 0 or at or abov e * Getter corresponding to setAppendItemNames. Values below 0 or at or abov e
* UDATPG_FIELD_COUNT are illegal arguments. * UDATPG_FIELD_COUNT are illegal arguments.
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param field UDateTimePatternField, such as UDATPG_ERA_FIELD * @param field UDateTimePatternField, such as UDATPG_ERA_FIELD
* @param pLength A pointer that will receive the length of the name for fi eld. * @param pLength A pointer that will receive the length of the name for fi eld.
* @return name for field * @return name for field
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT const UChar * U_EXPORT2 U_STABLE const UChar * U_EXPORT2
udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg, udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg,
UDateTimePatternField field, UDateTimePatternField field,
int32_t *pLength); int32_t *pLength);
/** /**
* The date time format is a message format pattern used to compose date an d * The date time format is a message format pattern used to compose date an d
* time patterns. The default value is "{0} {1}", where {0} will be replace d * time patterns. The default value is "{0} {1}", where {0} will be replace d
* by the date pattern and {1} will be replaced by the time pattern. * by the date pattern and {1} will be replaced by the time pattern.
* <p> * <p>
* This is used when the input skeleton contains both date and time fields, * This is used when the input skeleton contains both date and time fields,
skipping to change at line 426 skipping to change at line 430
* for those two skeletons, so the result is put together with this pattern , * for those two skeletons, so the result is put together with this pattern ,
* resulting in "d-MMM h:mm". * resulting in "d-MMM h:mm".
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param dtFormat * @param dtFormat
* message format pattern, here {0} will be replaced by the date * message format pattern, here {0} will be replaced by the date
* pattern and {1} will be replaced by the time pattern. * pattern and {1} will be replaced by the time pattern.
* @param length the length of dtFormat. * @param length the length of dtFormat.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
udatpg_setDateTimeFormat(const UDateTimePatternGenerator *dtpg, udatpg_setDateTimeFormat(const UDateTimePatternGenerator *dtpg,
const UChar *dtFormat, int32_t length); const UChar *dtFormat, int32_t length);
/** /**
* Getter corresponding to setDateTimeFormat. * Getter corresponding to setDateTimeFormat.
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param pLength A pointer that will receive the length of the format * @param pLength A pointer that will receive the length of the format
* @return dateTimeFormat. * @return dateTimeFormat.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT const UChar * U_EXPORT2 U_STABLE const UChar * U_EXPORT2
udatpg_getDateTimeFormat(const UDateTimePatternGenerator *dtpg, udatpg_getDateTimeFormat(const UDateTimePatternGenerator *dtpg,
int32_t *pLength); int32_t *pLength);
/** /**
* The decimal value is used in formatting fractions of seconds. If the * The decimal value is used in formatting fractions of seconds. If the
* skeleton contains fractional seconds, then this is used with the * skeleton contains fractional seconds, then this is used with the
* fractional seconds. For example, suppose that the input pattern is * fractional seconds. For example, suppose that the input pattern is
* "hhmmssSSSS", and the best matching pattern internally is "H:mm:ss", and * "hhmmssSSSS", and the best matching pattern internally is "H:mm:ss", and
* the decimal string is ",". Then the resulting pattern is modified to be * the decimal string is ",". Then the resulting pattern is modified to be
* "H:mm:ss,SSSS" * "H:mm:ss,SSSS"
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param decimal * @param decimal
* @param length the length of decimal. * @param length the length of decimal.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
udatpg_setDecimal(UDateTimePatternGenerator *dtpg, udatpg_setDecimal(UDateTimePatternGenerator *dtpg,
const UChar *decimal, int32_t length); const UChar *decimal, int32_t length);
/** /**
* Getter corresponding to setDecimal. * Getter corresponding to setDecimal.
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param pLength A pointer that will receive the length of the decimal str ing. * @param pLength A pointer that will receive the length of the decimal str ing.
* @return corresponding to the decimal point. * @return corresponding to the decimal point.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT const UChar * U_EXPORT2 U_STABLE const UChar * U_EXPORT2
udatpg_getDecimal(const UDateTimePatternGenerator *dtpg, udatpg_getDecimal(const UDateTimePatternGenerator *dtpg,
int32_t *pLength); int32_t *pLength);
/** /**
* Adjusts the field types (width and subtype) of a pattern to match what i s * Adjusts the field types (width and subtype) of a pattern to match what i s
* in a skeleton. That is, if you supply a pattern like "d-M H:m", and a * in a skeleton. That is, if you supply a pattern like "d-M H:m", and a
* skeleton of "MMMMddhhmm", then the input pattern is adjusted to be * skeleton of "MMMMddhhmm", then the input pattern is adjusted to be
* "dd-MMMM hh:mm". This is used internally to get the best match for the * "dd-MMMM hh:mm". This is used internally to get the best match for the
* input skeleton, but can also be used externally. * input skeleton, but can also be used externally.
* *
skipping to change at line 495 skipping to change at line 499
* @param patternLength the length of input pattern. * @param patternLength the length of input pattern.
* @param skeleton * @param skeleton
* @param skeletonLength the length of input skeleton. * @param skeletonLength the length of input skeleton.
* @param dest pattern adjusted to match the skeleton fields widths and su btypes. * @param dest pattern adjusted to match the skeleton fields widths and su btypes.
* @param destCapacity the capacity of dest. * @param destCapacity the capacity of dest.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return the length of dest. * @return the length of dest.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
udatpg_replaceFieldTypes(UDateTimePatternGenerator *dtpg, udatpg_replaceFieldTypes(UDateTimePatternGenerator *dtpg,
const UChar *pattern, int32_t patternLength, const UChar *pattern, int32_t patternLength,
const UChar *skeleton, int32_t skeletonLength, const UChar *skeleton, int32_t skeletonLength,
UChar *dest, int32_t destCapacity, UChar *dest, int32_t destCapacity,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
/** /**
* Adjusts the field types (width and subtype) of a pattern to match what i s * Adjusts the field types (width and subtype) of a pattern to match what i s
* in a skeleton. That is, if you supply a pattern like "d-M H:m", and a * in a skeleton. That is, if you supply a pattern like "d-M H:m", and a
* skeleton of "MMMMddhhmm", then the input pattern is adjusted to be * skeleton of "MMMMddhhmm", then the input pattern is adjusted to be
skipping to change at line 551 skipping to change at line 555
* Return a UEnumeration list of all the skeletons in canonical form. * Return a UEnumeration list of all the skeletons in canonical form.
* Call udatpg_getPatternForSkeleton() to get the corresponding pattern. * Call udatpg_getPatternForSkeleton() to get the corresponding pattern.
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call * failure before the function call
* @return a UEnumeration list of all the skeletons * @return a UEnumeration list of all the skeletons
* The caller must close the object. * The caller must close the object.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT UEnumeration * U_EXPORT2 U_STABLE UEnumeration * U_EXPORT2
udatpg_openSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pEr rorCode); udatpg_openSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pEr rorCode);
/** /**
* Return a UEnumeration list of all the base skeletons in canonical form. * Return a UEnumeration list of all the base skeletons in canonical form.
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param pErrorCode a pointer to the UErrorCode which must not indicate a * @param pErrorCode a pointer to the UErrorCode which must not indicate a
* failure before the function call. * failure before the function call.
* @return a UEnumeration list of all the base skeletons * @return a UEnumeration list of all the base skeletons
* The caller must close the object. * The caller must close the object.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT UEnumeration * U_EXPORT2 U_STABLE UEnumeration * U_EXPORT2
udatpg_openBaseSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode); udatpg_openBaseSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode);
/** /**
* Get the pattern corresponding to a given skeleton. * Get the pattern corresponding to a given skeleton.
* *
* @param dtpg a pointer to UDateTimePatternGenerator. * @param dtpg a pointer to UDateTimePatternGenerator.
* @param skeleton * @param skeleton
* @param skeletonLength pointer to the length of skeleton. * @param skeletonLength pointer to the length of skeleton.
* @param pLength pointer to the length of return pattern. * @param pLength pointer to the length of return pattern.
* @return pattern corresponding to a given skeleton. * @return pattern corresponding to a given skeleton.
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT const UChar * U_EXPORT2 U_STABLE const UChar * U_EXPORT2
udatpg_getPatternForSkeleton(const UDateTimePatternGenerator *dtpg, udatpg_getPatternForSkeleton(const UDateTimePatternGenerator *dtpg,
const UChar *skeleton, int32_t skeletonLength, const UChar *skeleton, int32_t skeletonLength,
int32_t *pLength); int32_t *pLength);
#endif #endif
 End of changes. 22 change blocks. 
21 lines changed or deleted 25 lines changed or added


 udeprctd.h   udeprctd.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2009, International Business Machines * Copyright (C) 2004-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name: udeprctd.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
* Contains data for commenting out APIs. * Contains data for commenting out APIs.
* Gets included by umachine.h * Gets included by umachine.h
* *
* THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHA T * THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHA T
skipping to change at line 37 skipping to change at line 37
# define ucol_getContractions ucol_getContractions_DEPRECATED_API_DO _NOT_USE # define ucol_getContractions ucol_getContractions_DEPRECATED_API_DO _NOT_USE
# define ucol_getLocale ucol_getLocale_DEPRECATED_API_DO_NOT_USE # define ucol_getLocale ucol_getLocale_DEPRECATED_API_DO_NOT_USE
# define ures_countArrayItems ures_countArrayItems_DEPRECATED_API_DO _NOT_USE # define ures_countArrayItems ures_countArrayItems_DEPRECATED_API_DO _NOT_USE
# define ures_getLocale ures_getLocale_DEPRECATED_API_DO_NOT_USE # define ures_getLocale ures_getLocale_DEPRECATED_API_DO_NOT_USE
# define ures_getVersionNumber ures_getVersionNumber_DEPRECATED_API_ DO_NOT_USE # define ures_getVersionNumber ures_getVersionNumber_DEPRECATED_API_ DO_NOT_USE
# define utrans_getAvailableID utrans_getAvailableID_DEPRECATED_API_ DO_NOT_USE # define utrans_getAvailableID utrans_getAvailableID_DEPRECATED_API_ DO_NOT_USE
# define utrans_getID utrans_getID_DEPRECATED_API_DO_NOT_USE # define utrans_getID utrans_getID_DEPRECATED_API_DO_NOT_USE
# define utrans_open utrans_open_DEPRECATED_API_DO_NOT_USE # define utrans_open utrans_open_DEPRECATED_API_DO_NOT_USE
# define utrans_unregister utrans_unregister_DEPRECATED_API_DO_NOT_U SE # define utrans_unregister utrans_unregister_DEPRECATED_API_DO_NOT_U SE
# else # else
# define ucol_getContractions_4_2 ucol_getContractions_DEPRECATED_AP # define ucol_getContractions_4_4 ucol_getContractions_DEPRECATED_AP
I_DO_NOT_USE I_DO_NOT_USE
# define ucol_getLocale_4_2 ucol_getLocale_DEPRECATED_API_DO_NOT_USE # define ucol_getLocale_4_4 ucol_getLocale_DEPRECATED_API_DO_NOT_USE
# define ures_countArrayItems_4_2 ures_countArrayItems_DEPRECATED_AP # define ures_countArrayItems_4_4 ures_countArrayItems_DEPRECATED_AP
I_DO_NOT_USE I_DO_NOT_USE
# define ures_getLocale_4_2 ures_getLocale_DEPRECATED_API_DO_NOT_USE # define ures_getLocale_4_4 ures_getLocale_DEPRECATED_API_DO_NOT_USE
# define ures_getVersionNumber_4_2 ures_getVersionNumber_DEPRECATED_ # define ures_getVersionNumber_4_4 ures_getVersionNumber_DEPRECATED_
API_DO_NOT_USE API_DO_NOT_USE
# define utrans_getAvailableID_4_2 utrans_getAvailableID_DEPRECATED_ # define utrans_getAvailableID_4_4 utrans_getAvailableID_DEPRECATED_
API_DO_NOT_USE API_DO_NOT_USE
# define utrans_getID_4_2 utrans_getID_DEPRECATED_API_DO_NOT_USE # define utrans_getID_4_4 utrans_getID_DEPRECATED_API_DO_NOT_USE
# define utrans_open_4_2 utrans_open_DEPRECATED_API_DO_NOT_USE # define utrans_open_4_4 utrans_open_DEPRECATED_API_DO_NOT_USE
# define utrans_unregister_4_2 utrans_unregister_DEPRECATED_API_DO_N # define utrans_unregister_4_4 utrans_unregister_DEPRECATED_API_DO_N
OT_USE OT_USE
# endif /* U_DISABLE_RENAMING */ # endif /* U_DISABLE_RENAMING */
#endif /* U_HIDE_DEPRECATED_API */ #endif /* U_HIDE_DEPRECATED_API */
#endif /* UDEPRCTD_H */ #endif /* UDEPRCTD_H */
 End of changes. 3 change blocks. 
16 lines changed or deleted 16 lines changed or added


 udraft.h   udraft.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2009, International Business Machines * Copyright (C) 2004-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name: udraft.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
* Contains data for commenting out APIs. * Contains data for commenting out APIs.
* Gets included by umachine.h * Gets included by umachine.h
* *
* THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHA T * THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHA T
* YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN! * YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
*/ */
#ifndef UDRAFT_H #ifndef UDRAFT_H
#define UDRAFT_H #define UDRAFT_H
#ifdef U_HIDE_DRAFT_API #ifdef U_HIDE_DRAFT_API
# if U_DISABLE_RENAMING # if U_DISABLE_RENAMING
# define u_compareVersions u_compareVersions_DRAFT_API_DO_NOT_USE # define bamuScriptCode bamuScriptCode_DRAFT_API_DO_NOT_USE
# define u_strFromUTF32WithSub u_strFromUTF32WithSub_DRAFT_API_DO_NO # define u_fadopt u_fadopt_DRAFT_API_DO_NOT_USE
T_USE # define u_strFromJavaModifiedUTF8WithSub u_strFromJavaModifiedUTF8W
# define u_strToUTF32WithSub u_strToUTF32WithSub_DRAFT_API_DO_NOT_US ithSub_DRAFT_API_DO_NOT_USE
E # define u_strToJavaModifiedUTF8 u_strToJavaModifiedUTF8_DRAFT_API_D
# define u_versionFromUString u_versionFromUString_DRAFT_API_DO_NOT_ O_NOT_USE
USE # define ucal_getDayOfWeekType ucal_getDayOfWeekType_DRAFT_API_DO_NO
# define ucal_getKeywordValuesForLocale ucal_getKeywordValuesForLoca T_USE
le_DRAFT_API_DO_NOT_USE # define ucal_getWeekendTransition ucal_getWeekendTransition_DRAFT_A
# define ucal_getType ucal_getType_DRAFT_API_DO_NOT_USE PI_DO_NOT_USE
# define ucnvsel_close ucnvsel_close_DRAFT_API_DO_NOT_USE # define ucal_isWeekend ucal_isWeekend_DRAFT_API_DO_NOT_USE
# define ucnvsel_open ucnvsel_open_DRAFT_API_DO_NOT_USE # define udat_toCalendarDateField udat_toCalendarDateField_DRAFT_API
# define ucnvsel_openFromSerialized ucnvsel_openFromSerialized_DRAFT _DO_NOT_USE
_API_DO_NOT_USE # define udatpg_getBestPatternWithOptions udatpg_getBestPatternWithO
# define ucnvsel_selectForString ucnvsel_selectForString_DRAFT_API_D ptions_DRAFT_API_DO_NOT_USE
O_NOT_USE # define udatpg_replaceFieldTypesWithOptions udatpg_replaceFieldType
# define ucnvsel_selectForUTF8 ucnvsel_selectForUTF8_DRAFT_API_DO_NO sWithOptions_DRAFT_API_DO_NOT_USE
T_USE # define uldn_close uldn_close_DRAFT_API_DO_NOT_USE
# define ucnvsel_serialize ucnvsel_serialize_DRAFT_API_DO_NOT_USE # define uldn_getDialectHandling uldn_getDialectHandling_DRAFT_API_D
# define ucol_getKeywordValuesForLocale ucol_getKeywordValuesForLoca O_NOT_USE
le_DRAFT_API_DO_NOT_USE # define uldn_getLocale uldn_getLocale_DRAFT_API_DO_NOT_USE
# define ucurr_getKeywordValuesForLocale ucurr_getKeywordValuesForLo # define uldn_keyDisplayName uldn_keyDisplayName_DRAFT_API_DO_NOT_US
cale_DRAFT_API_DO_NOT_USE E
# define ucurr_getPluralName ucurr_getPluralName_DRAFT_API_DO_NOT_US # define uldn_keyValueDisplayName uldn_keyValueDisplayName_DRAFT_API
E _DO_NOT_USE
# define uldn_languageDisplayName uldn_languageDisplayName_DRAFT_API
_DO_NOT_USE
# define uldn_localeDisplayName uldn_localeDisplayName_DRAFT_API_DO_
NOT_USE
# define uldn_open uldn_open_DRAFT_API_DO_NOT_USE
# define uldn_regionDisplayName uldn_regionDisplayName_DRAFT_API_DO_
NOT_USE
# define uldn_scriptCodeDisplayName uldn_scriptCodeDisplayName_DRAFT
_API_DO_NOT_USE
# define uldn_scriptDisplayName uldn_scriptDisplayName_DRAFT_API_DO_
NOT_USE
# define uldn_variantDisplayName uldn_variantDisplayName_DRAFT_API_D
O_NOT_USE
# define uloc_forLanguageTag uloc_forLanguageTag_DRAFT_API_DO_NOT_US E # define uloc_forLanguageTag uloc_forLanguageTag_DRAFT_API_DO_NOT_US E
# define uloc_toLanguageTag uloc_toLanguageTag_DRAFT_API_DO_NOT_USE # define uloc_toLanguageTag uloc_toLanguageTag_DRAFT_API_DO_NOT_USE
# define ulocdata_getCLDRVersion ulocdata_getCLDRVersion_DRAFT_API_D # define unorm2_append unorm2_append_DRAFT_API_DO_NOT_USE
O_NOT_USE # define unorm2_close unorm2_close_DRAFT_API_DO_NOT_USE
# define ulocdata_getLocaleDisplayPattern ulocdata_getLocaleDisplayP # define unorm2_getInstance unorm2_getInstance_DRAFT_API_DO_NOT_USE
attern_DRAFT_API_DO_NOT_USE # define unorm2_hasBoundaryAfter unorm2_hasBoundaryAfter_DRAFT_API_D
# define ulocdata_getLocaleSeparator ulocdata_getLocaleSeparator_DRA O_NOT_USE
FT_API_DO_NOT_USE # define unorm2_hasBoundaryBefore unorm2_hasBoundaryBefore_DRAFT_API
# define uset_closeOver uset_closeOver_DRAFT_API_DO_NOT_USE _DO_NOT_USE
# define uset_openEmpty uset_openEmpty_DRAFT_API_DO_NOT_USE # define unorm2_isInert unorm2_isInert_DRAFT_API_DO_NOT_USE
# define uset_removeAllStrings uset_removeAllStrings_DRAFT_API_DO_NO # define unorm2_isNormalized unorm2_isNormalized_DRAFT_API_DO_NOT_US
T_USE E
# define uspoof_areConfusable uspoof_areConfusable_DRAFT_API_DO_NOT_ # define unorm2_normalize unorm2_normalize_DRAFT_API_DO_NOT_USE
USE # define unorm2_normalizeSecondAndAppend unorm2_normalizeSecondAndAp
# define uspoof_areConfusableUTF8 uspoof_areConfusableUTF8_DRAFT_API pend_DRAFT_API_DO_NOT_USE
_DO_NOT_USE # define unorm2_openFiltered unorm2_openFiltered_DRAFT_API_DO_NOT_US
# define uspoof_check uspoof_check_DRAFT_API_DO_NOT_USE E
# define uspoof_checkUTF8 uspoof_checkUTF8_DRAFT_API_DO_NOT_USE # define unorm2_quickCheck unorm2_quickCheck_DRAFT_API_DO_NOT_USE
# define uspoof_clone uspoof_clone_DRAFT_API_DO_NOT_USE # define unorm2_spanQuickCheckYes unorm2_spanQuickCheckYes_DRAFT_API
# define uspoof_close uspoof_close_DRAFT_API_DO_NOT_USE _DO_NOT_USE
# define uspoof_getAllowedChars uspoof_getAllowedChars_DRAFT_API_DO_ # define unum_formatDecimal unum_formatDecimal_DRAFT_API_DO_NOT_USE
NOT_USE # define unum_parseDecimal unum_parseDecimal_DRAFT_API_DO_NOT_USE
# define uspoof_getAllowedLocales uspoof_getAllowedLocales_DRAFT_API
_DO_NOT_USE
# define uspoof_getChecks uspoof_getChecks_DRAFT_API_DO_NOT_USE
# define uspoof_getSkeleton uspoof_getSkeleton_DRAFT_API_DO_NOT_USE
# define uspoof_getSkeletonUTF8 uspoof_getSkeletonUTF8_DRAFT_API_DO_
NOT_USE
# define uspoof_open uspoof_open_DRAFT_API_DO_NOT_USE
# define uspoof_openFromSerialized uspoof_openFromSerialized_DRAFT_A
PI_DO_NOT_USE
# define uspoof_openFromSource uspoof_openFromSource_DRAFT_API_DO_NO
T_USE
# define uspoof_serialize uspoof_serialize_DRAFT_API_DO_NOT_USE
# define uspoof_setAllowedChars uspoof_setAllowedChars_DRAFT_API_DO_
NOT_USE
# define uspoof_setAllowedLocales uspoof_setAllowedLocales_DRAFT_API
_DO_NOT_USE
# define uspoof_setChecks uspoof_setChecks_DRAFT_API_DO_NOT_USE
# define usprep_openByType usprep_openByType_DRAFT_API_DO_NOT_USE
# else # else
# define u_compareVersions_4_2 u_compareVersions_DRAFT_API_DO_NOT_US # define bamuScriptCode_4_4 bamuScriptCode_DRAFT_API_DO_NOT_USE
E # define u_fadopt_4_4 u_fadopt_DRAFT_API_DO_NOT_USE
# define u_strFromUTF32WithSub_4_2 u_strFromUTF32WithSub_DRAFT_API_D # define u_strFromJavaModifiedUTF8WithSub_4_4 u_strFromJavaModifiedU
O_NOT_USE TF8WithSub_DRAFT_API_DO_NOT_USE
# define u_strToUTF32WithSub_4_2 u_strToUTF32WithSub_DRAFT_API_DO_NO # define u_strToJavaModifiedUTF8_4_4 u_strToJavaModifiedUTF8_DRAFT_A
T_USE PI_DO_NOT_USE
# define u_versionFromUString_4_2 u_versionFromUString_DRAFT_API_DO_ # define ucal_getDayOfWeekType_4_4 ucal_getDayOfWeekType_DRAFT_API_D
NOT_USE O_NOT_USE
# define ucal_getKeywordValuesForLocale_4_2 ucal_getKeywordValuesFor # define ucal_getWeekendTransition_4_4 ucal_getWeekendTransition_DRA
Locale_DRAFT_API_DO_NOT_USE FT_API_DO_NOT_USE
# define ucal_getType_4_2 ucal_getType_DRAFT_API_DO_NOT_USE # define ucal_isWeekend_4_4 ucal_isWeekend_DRAFT_API_DO_NOT_USE
# define ucnvsel_close_4_2 ucnvsel_close_DRAFT_API_DO_NOT_USE # define udat_toCalendarDateField_4_4 udat_toCalendarDateField_DRAFT
# define ucnvsel_openFromSerialized_4_2 ucnvsel_openFromSerialized_D _API_DO_NOT_USE
RAFT_API_DO_NOT_USE # define udatpg_getBestPatternWithOptions_4_4 udatpg_getBestPatternW
# define ucnvsel_open_4_2 ucnvsel_open_DRAFT_API_DO_NOT_USE ithOptions_DRAFT_API_DO_NOT_USE
# define ucnvsel_selectForString_4_2 ucnvsel_selectForString_DRAFT_A # define udatpg_replaceFieldTypesWithOptions_4_4 udatpg_replaceField
PI_DO_NOT_USE TypesWithOptions_DRAFT_API_DO_NOT_USE
# define ucnvsel_selectForUTF8_4_2 ucnvsel_selectForUTF8_DRAFT_API_D # define uldn_close_4_4 uldn_close_DRAFT_API_DO_NOT_USE
O_NOT_USE # define uldn_getDialectHandling_4_4 uldn_getDialectHandling_DRAFT_A
# define ucnvsel_serialize_4_2 ucnvsel_serialize_DRAFT_API_DO_NOT_US PI_DO_NOT_USE
E # define uldn_getLocale_4_4 uldn_getLocale_DRAFT_API_DO_NOT_USE
# define ucol_getKeywordValuesForLocale_4_2 ucol_getKeywordValuesFor # define uldn_keyDisplayName_4_4 uldn_keyDisplayName_DRAFT_API_DO_NO
Locale_DRAFT_API_DO_NOT_USE T_USE
# define ucurr_getKeywordValuesForLocale_4_2 ucurr_getKeywordValuesF # define uldn_keyValueDisplayName_4_4 uldn_keyValueDisplayName_DRAFT
orLocale_DRAFT_API_DO_NOT_USE _API_DO_NOT_USE
# define ucurr_getPluralName_4_2 ucurr_getPluralName_DRAFT_API_DO_NO # define uldn_languageDisplayName_4_4 uldn_languageDisplayName_DRAFT
T_USE _API_DO_NOT_USE
# define uloc_forLanguageTag_4_2 uloc_forLanguageTag_DRAFT_API_DO_NO # define uldn_localeDisplayName_4_4 uldn_localeDisplayName_DRAFT_API
T_USE _DO_NOT_USE
# define uloc_toLanguageTag_4_2 uloc_toLanguageTag_DRAFT_API_DO_NOT_ # define uldn_open_4_4 uldn_open_DRAFT_API_DO_NOT_USE
USE # define uldn_regionDisplayName_4_4 uldn_regionDisplayName_DRAFT_API
# define ulocdata_getCLDRVersion_4_2 ulocdata_getCLDRVersion_DRAFT_A _DO_NOT_USE
PI_DO_NOT_USE # define uldn_scriptCodeDisplayName_4_4 uldn_scriptCodeDisplayName_D
# define ulocdata_getLocaleDisplayPattern_4_2 ulocdata_getLocaleDisp RAFT_API_DO_NOT_USE
layPattern_DRAFT_API_DO_NOT_USE # define uldn_scriptDisplayName_4_4 uldn_scriptDisplayName_DRAFT_API
# define ulocdata_getLocaleSeparator_4_2 ulocdata_getLocaleSeparator _DO_NOT_USE
_DRAFT_API_DO_NOT_USE # define uldn_variantDisplayName_4_4 uldn_variantDisplayName_DRAFT_A
# define uset_closeOver_4_2 uset_closeOver_DRAFT_API_DO_NOT_USE PI_DO_NOT_USE
# define uset_openEmpty_4_2 uset_openEmpty_DRAFT_API_DO_NOT_USE # define uloc_forLanguageTag_4_4 uloc_forLanguageTag_DRAFT_API_DO_NO
# define uset_removeAllStrings_4_2 uset_removeAllStrings_DRAFT_API_D T_USE
O_NOT_USE # define uloc_toLanguageTag_4_4 uloc_toLanguageTag_DRAFT_API_DO_NOT_
# define uspoof_areConfusableUTF8_4_2 uspoof_areConfusableUTF8_DRAFT USE
_API_DO_NOT_USE # define unorm2_append_4_4 unorm2_append_DRAFT_API_DO_NOT_USE
# define uspoof_areConfusable_4_2 uspoof_areConfusable_DRAFT_API_DO_ # define unorm2_close_4_4 unorm2_close_DRAFT_API_DO_NOT_USE
NOT_USE # define unorm2_getInstance_4_4 unorm2_getInstance_DRAFT_API_DO_NOT_
# define uspoof_checkUTF8_4_2 uspoof_checkUTF8_DRAFT_API_DO_NOT_USE USE
# define uspoof_check_4_2 uspoof_check_DRAFT_API_DO_NOT_USE # define unorm2_hasBoundaryAfter_4_4 unorm2_hasBoundaryAfter_DRAFT_A
# define uspoof_clone_4_2 uspoof_clone_DRAFT_API_DO_NOT_USE PI_DO_NOT_USE
# define uspoof_close_4_2 uspoof_close_DRAFT_API_DO_NOT_USE # define unorm2_hasBoundaryBefore_4_4 unorm2_hasBoundaryBefore_DRAFT
# define uspoof_getAllowedChars_4_2 uspoof_getAllowedChars_DRAFT_API _API_DO_NOT_USE
_DO_NOT_USE # define unorm2_isInert_4_4 unorm2_isInert_DRAFT_API_DO_NOT_USE
# define uspoof_getAllowedLocales_4_2 uspoof_getAllowedLocales_DRAFT # define unorm2_isNormalized_4_4 unorm2_isNormalized_DRAFT_API_DO_NO
_API_DO_NOT_USE T_USE
# define uspoof_getChecks_4_2 uspoof_getChecks_DRAFT_API_DO_NOT_USE # define unorm2_normalizeSecondAndAppend_4_4 unorm2_normalizeSecondA
# define uspoof_getSkeletonUTF8_4_2 uspoof_getSkeletonUTF8_DRAFT_API ndAppend_DRAFT_API_DO_NOT_USE
_DO_NOT_USE # define unorm2_normalize_4_4 unorm2_normalize_DRAFT_API_DO_NOT_USE
# define uspoof_getSkeleton_4_2 uspoof_getSkeleton_DRAFT_API_DO_NOT_ # define unorm2_openFiltered_4_4 unorm2_openFiltered_DRAFT_API_DO_NO
USE T_USE
# define uspoof_openFromSerialized_4_2 uspoof_openFromSerialized_DRA # define unorm2_quickCheck_4_4 unorm2_quickCheck_DRAFT_API_DO_NOT_US
FT_API_DO_NOT_USE E
# define uspoof_openFromSource_4_2 uspoof_openFromSource_DRAFT_API_D # define unorm2_spanQuickCheckYes_4_4 unorm2_spanQuickCheckYes_DRAFT
O_NOT_USE _API_DO_NOT_USE
# define uspoof_open_4_2 uspoof_open_DRAFT_API_DO_NOT_USE # define unum_formatDecimal_4_4 unum_formatDecimal_DRAFT_API_DO_NOT_
# define uspoof_serialize_4_2 uspoof_serialize_DRAFT_API_DO_NOT_USE USE
# define uspoof_setAllowedChars_4_2 uspoof_setAllowedChars_DRAFT_API # define unum_parseDecimal_4_4 unum_parseDecimal_DRAFT_API_DO_NOT_US
_DO_NOT_USE E
# define uspoof_setAllowedLocales_4_2 uspoof_setAllowedLocales_DRAFT
_API_DO_NOT_USE
# define uspoof_setChecks_4_2 uspoof_setChecks_DRAFT_API_DO_NOT_USE
# define usprep_openByType_4_2 usprep_openByType_DRAFT_API_DO_NOT_US
E
# endif /* U_DISABLE_RENAMING */ # endif /* U_DISABLE_RENAMING */
#endif /* U_HIDE_DRAFT_API */ #endif /* U_HIDE_DRAFT_API */
#endif /* UDRAFT_H */ #endif /* UDRAFT_H */
 End of changes. 5 change blocks. 
136 lines changed or deleted 126 lines changed or added


 uidna.h   uidna.h 
skipping to change at line 79 skipping to change at line 79
* *
* @see uidna_toASCII uidna_toUnicode * @see uidna_toASCII uidna_toUnicode
* @stable ICU 2.6 * @stable ICU 2.6
*/ */
#define UIDNA_USE_STD3_RULES 0x0002 #define UIDNA_USE_STD3_RULES 0x0002
/** /**
* This function implements the ToASCII operation as defined in the IDNA RF C. * This function implements the ToASCII operation as defined in the IDNA RF C.
* This operation is done on <b>single labels</b> before sending it to some thing that expects * This operation is done on <b>single labels</b> before sending it to some thing that expects
* ASCII names. A label is an individual part of a domain name. Labels are usually * ASCII names. A label is an individual part of a domain name. Labels are usually
* separated by dots; e.g." "www.example.com" is composed of 3 labels "www" ,"example", and "com". * separated by dots; e.g. "www.example.com" is composed of 3 labels "www", "example", and "com".
* *
* *
* @param src Input UChar array containing label in Unicode. * @param src Input UChar array containing label in Unicode.
* @param srcLength Number of UChars in src, or -1 if NUL-terminate d. * @param srcLength Number of UChars in src, or -1 if NUL-terminate d.
* @param dest Output UChar array with ASCII (ACE encoded) lab el. * @param dest Output UChar array with ASCII (ACE encoded) lab el.
* @param destCapacity Size of dest. * @param destCapacity Size of dest.
* @param options A bit set of options: * @param options A bit set of options:
* *
* - UIDNA_DEFAULT Use default options, i.e., do not process u nassigned code points * - UIDNA_DEFAULT Use default options, i.e., do not process u nassigned code points
* and do not use STD3 ASCII rules * and do not use STD3 ASCII rules
skipping to change at line 124 skipping to change at line 124
uidna_toASCII(const UChar* src, int32_t srcLength, uidna_toASCII(const UChar* src, int32_t srcLength,
UChar* dest, int32_t destCapacity, UChar* dest, int32_t destCapacity,
int32_t options, int32_t options,
UParseError* parseError, UParseError* parseError,
UErrorCode* status); UErrorCode* status);
/** /**
* This function implements the ToUnicode operation as defined in the IDNA RFC. * This function implements the ToUnicode operation as defined in the IDNA RFC.
* This operation is done on <b>single labels</b> before sending it to some thing that expects * This operation is done on <b>single labels</b> before sending it to some thing that expects
* Unicode names. A label is an individual part of a domain name. Labels ar e usually * Unicode names. A label is an individual part of a domain name. Labels ar e usually
* separated by dots; for e.g." "www.example.com" is composed of 3 labels " www","example", and "com". * separated by dots; for e.g. "www.example.com" is composed of 3 labels "w ww","example", and "com".
* *
* @param src Input UChar array containing ASCII (ACE encoded ) label. * @param src Input UChar array containing ASCII (ACE encoded ) label.
* @param srcLength Number of UChars in src, or -1 if NUL-terminate d. * @param srcLength Number of UChars in src, or -1 if NUL-terminate d.
* @param dest Output Converted UChar array containing Unicode equiva lent of label. * @param dest Output Converted UChar array containing Unicode equiva lent of label.
* @param destCapacity Size of dest. * @param destCapacity Size of dest.
* @param options A bit set of options: * @param options A bit set of options:
* *
* - UIDNA_DEFAULT Use default options, i.e., do not process u nassigned code points * - UIDNA_DEFAULT Use default options, i.e., do not process u nassigned code points
* and do not use STD3 ASCII rules * and do not use STD3 ASCII rules
* If unassigned code points are found the ope ration fails with * If unassigned code points are found the ope ration fails with
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 uintrnal.h   uintrnal.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2009, International Business Machines * Copyright (C) 2004-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: uintrnal.h * file name: uintrnal.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
skipping to change at line 28 skipping to change at line 28
* YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN! * YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
*/ */
#ifndef UINTRNAL_H #ifndef UINTRNAL_H
#define UINTRNAL_H #define UINTRNAL_H
#ifdef U_HIDE_INTERNAL_API #ifdef U_HIDE_INTERNAL_API
# if U_DISABLE_RENAMING # if U_DISABLE_RENAMING
# define RegexPatternDump RegexPatternDump_INTERNAL_API_DO_NOT_USE # define RegexPatternDump RegexPatternDump_INTERNAL_API_DO_NOT_USE
# define bms_close bms_close_INTERNAL_API_DO_NOT_USE
# define bms_empty bms_empty_INTERNAL_API_DO_NOT_USE # define bms_empty bms_empty_INTERNAL_API_DO_NOT_USE
# define bms_getData bms_getData_INTERNAL_API_DO_NOT_USE # define bms_getData bms_getData_INTERNAL_API_DO_NOT_USE
# define bms_open bms_open_INTERNAL_API_DO_NOT_USE # define bms_open bms_open_INTERNAL_API_DO_NOT_USE
# define bms_search bms_search_INTERNAL_API_DO_NOT_USE # define bms_search bms_search_INTERNAL_API_DO_NOT_USE
# define bms_setTargetString bms_setTargetString_INTERNAL_API_DO_NOT _USE # define bms_setTargetString bms_setTargetString_INTERNAL_API_DO_NOT _USE
# define decimfmtAffixPatternValueComparator decimfmtAffixPatternVal
ueComparator_INTERNAL_API_DO_NOT_USE
# define decimfmtAffixValueComparator decimfmtAffixValueComparator_I
NTERNAL_API_DO_NOT_USE
# define dtitvinfHashTableValueComparator dtitvinfHashTableValueComp
arator_INTERNAL_API_DO_NOT_USE
# define pl_addFontRun pl_addFontRun_INTERNAL_API_DO_NOT_USE # define pl_addFontRun pl_addFontRun_INTERNAL_API_DO_NOT_USE
# define pl_addLocaleRun pl_addLocaleRun_INTERNAL_API_DO_NOT_USE # define pl_addLocaleRun pl_addLocaleRun_INTERNAL_API_DO_NOT_USE
# define pl_addValueRun pl_addValueRun_INTERNAL_API_DO_NOT_USE # define pl_addValueRun pl_addValueRun_INTERNAL_API_DO_NOT_USE
# define pl_close pl_close_INTERNAL_API_DO_NOT_USE # define pl_close pl_close_INTERNAL_API_DO_NOT_USE
# define pl_closeFontRuns pl_closeFontRuns_INTERNAL_API_DO_NOT_USE # define pl_closeFontRuns pl_closeFontRuns_INTERNAL_API_DO_NOT_USE
# define pl_closeLine pl_closeLine_INTERNAL_API_DO_NOT_USE # define pl_closeLine pl_closeLine_INTERNAL_API_DO_NOT_USE
# define pl_closeLocaleRuns pl_closeLocaleRuns_INTERNAL_API_DO_NOT_U SE # define pl_closeLocaleRuns pl_closeLocaleRuns_INTERNAL_API_DO_NOT_U SE
# define pl_closeValueRuns pl_closeValueRuns_INTERNAL_API_DO_NOT_USE # define pl_closeValueRuns pl_closeValueRuns_INTERNAL_API_DO_NOT_USE
# define pl_countLineRuns pl_countLineRuns_INTERNAL_API_DO_NOT_USE # define pl_countLineRuns pl_countLineRuns_INTERNAL_API_DO_NOT_USE
# define pl_create pl_create_INTERNAL_API_DO_NOT_USE # define pl_create pl_create_INTERNAL_API_DO_NOT_USE
skipping to change at line 108 skipping to change at line 106
# define ucol_forceHanImplicit ucol_forceHanImplicit_INTERNAL_API_DO _NOT_USE # define ucol_forceHanImplicit ucol_forceHanImplicit_INTERNAL_API_DO _NOT_USE
# define ucol_forgetUCA ucol_forgetUCA_INTERNAL_API_DO_NOT_USE # define ucol_forgetUCA ucol_forgetUCA_INTERNAL_API_DO_NOT_USE
# define ucol_getAttributeOrDefault ucol_getAttributeOrDefault_INTER NAL_API_DO_NOT_USE # define ucol_getAttributeOrDefault ucol_getAttributeOrDefault_INTER NAL_API_DO_NOT_USE
# define ucol_getUnsafeSet ucol_getUnsafeSet_INTERNAL_API_DO_NOT_USE # define ucol_getUnsafeSet ucol_getUnsafeSet_INTERNAL_API_DO_NOT_USE
# define ucol_nextProcessed ucol_nextProcessed_INTERNAL_API_DO_NOT_U SE # define ucol_nextProcessed ucol_nextProcessed_INTERNAL_API_DO_NOT_U SE
# define ucol_prepareShortStringOpen ucol_prepareShortStringOpen_INT ERNAL_API_DO_NOT_USE # define ucol_prepareShortStringOpen ucol_prepareShortStringOpen_INT ERNAL_API_DO_NOT_USE
# define ucol_previousProcessed ucol_previousProcessed_INTERNAL_API_ DO_NOT_USE # define ucol_previousProcessed ucol_previousProcessed_INTERNAL_API_ DO_NOT_USE
# define udat_applyPatternRelative udat_applyPatternRelative_INTERNA L_API_DO_NOT_USE # define udat_applyPatternRelative udat_applyPatternRelative_INTERNA L_API_DO_NOT_USE
# define udat_toPatternRelativeDate udat_toPatternRelativeDate_INTER NAL_API_DO_NOT_USE # define udat_toPatternRelativeDate udat_toPatternRelativeDate_INTER NAL_API_DO_NOT_USE
# define udat_toPatternRelativeTime udat_toPatternRelativeTime_INTER NAL_API_DO_NOT_USE # define udat_toPatternRelativeTime udat_toPatternRelativeTime_INTER NAL_API_DO_NOT_USE
# define uplug_getConfiguration uplug_getConfiguration_INTERNAL_API_
DO_NOT_USE
# define uplug_getContext uplug_getContext_INTERNAL_API_DO_NOT_USE
# define uplug_getCurrentLevel uplug_getCurrentLevel_INTERNAL_API_DO
_NOT_USE
# define uplug_getLibrary uplug_getLibrary_INTERNAL_API_DO_NOT_USE
# define uplug_getLibraryName uplug_getLibraryName_INTERNAL_API_DO_N
OT_USE
# define uplug_getPlugLevel uplug_getPlugLevel_INTERNAL_API_DO_NOT_U
SE
# define uplug_getPlugLoadStatus uplug_getPlugLoadStatus_INTERNAL_AP
I_DO_NOT_USE
# define uplug_getPlugName uplug_getPlugName_INTERNAL_API_DO_NOT_USE
# define uplug_getSymbolName uplug_getSymbolName_INTERNAL_API_DO_NOT
_USE
# define uplug_loadPlugFromEntrypoint uplug_loadPlugFromEntrypoint_I
NTERNAL_API_DO_NOT_USE
# define uplug_loadPlugFromLibrary uplug_loadPlugFromLibrary_INTERNA
L_API_DO_NOT_USE
# define uplug_nextPlug uplug_nextPlug_INTERNAL_API_DO_NOT_USE
# define uplug_removePlug uplug_removePlug_INTERNAL_API_DO_NOT_USE
# define uplug_setContext uplug_setContext_INTERNAL_API_DO_NOT_USE
# define uplug_setPlugLevel uplug_setPlugLevel_INTERNAL_API_DO_NOT_U
SE
# define uplug_setPlugName uplug_setPlugName_INTERNAL_API_DO_NOT_USE
# define uplug_setPlugNoUnload uplug_setPlugNoUnload_INTERNAL_API_DO
_NOT_USE
# define uprv_getDefaultCodepage uprv_getDefaultCodepage_INTERNAL_AP I_DO_NOT_USE # define uprv_getDefaultCodepage uprv_getDefaultCodepage_INTERNAL_AP I_DO_NOT_USE
# define uprv_getDefaultLocaleID uprv_getDefaultLocaleID_INTERNAL_AP I_DO_NOT_USE # define uprv_getDefaultLocaleID uprv_getDefaultLocaleID_INTERNAL_AP I_DO_NOT_USE
# define uregex_appendReplacementUText uregex_appendReplacementUText
_INTERNAL_API_DO_NOT_USE
# define uregex_appendTailUText uregex_appendTailUText_INTERNAL_API_
DO_NOT_USE
# define uregex_getUText uregex_getUText_INTERNAL_API_DO_NOT_USE
# define uregex_groupUText uregex_groupUText_INTERNAL_API_DO_NOT_USE
# define uregex_openUText uregex_openUText_INTERNAL_API_DO_NOT_USE
# define uregex_patternUText uregex_patternUText_INTERNAL_API_DO_NOT
_USE
# define uregex_replaceAllUText uregex_replaceAllUText_INTERNAL_API_
DO_NOT_USE
# define uregex_replaceFirstUText uregex_replaceFirstUText_INTERNAL_
API_DO_NOT_USE
# define uregex_setUText uregex_setUText_INTERNAL_API_DO_NOT_USE
# define uregex_splitUText uregex_splitUText_INTERNAL_API_DO_NOT_USE
# define ures_openFillIn ures_openFillIn_INTERNAL_API_DO_NOT_USE # define ures_openFillIn ures_openFillIn_INTERNAL_API_DO_NOT_USE
# define usearch_search usearch_search_INTERNAL_API_DO_NOT_USE # define usearch_search usearch_search_INTERNAL_API_DO_NOT_USE
# define usearch_searchBackwards usearch_searchBackwards_INTERNAL_AP I_DO_NOT_USE # define usearch_searchBackwards usearch_searchBackwards_INTERNAL_AP I_DO_NOT_USE
# define utext_caseCompare utext_caseCompare_INTERNAL_API_DO_NOT_USE
# define utext_caseCompareNativeLimit utext_caseCompareNativeLimit_I
NTERNAL_API_DO_NOT_USE
# define utext_compare utext_compare_INTERNAL_API_DO_NOT_USE
# define utext_compareNativeLimit utext_compareNativeLimit_INTERNAL_
API_DO_NOT_USE
# define utf8_appendCharSafeBody utf8_appendCharSafeBody_INTERNAL_AP I_DO_NOT_USE # define utf8_appendCharSafeBody utf8_appendCharSafeBody_INTERNAL_AP I_DO_NOT_USE
# define utf8_back1SafeBody utf8_back1SafeBody_INTERNAL_API_DO_NOT_U SE # define utf8_back1SafeBody utf8_back1SafeBody_INTERNAL_API_DO_NOT_U SE
# define utf8_countTrailBytes utf8_countTrailBytes_INTERNAL_API_DO_N OT_USE # define utf8_countTrailBytes utf8_countTrailBytes_INTERNAL_API_DO_N OT_USE
# define utf8_nextCharSafeBody utf8_nextCharSafeBody_INTERNAL_API_DO _NOT_USE # define utf8_nextCharSafeBody utf8_nextCharSafeBody_INTERNAL_API_DO _NOT_USE
# define utf8_prevCharSafeBody utf8_prevCharSafeBody_INTERNAL_API_DO _NOT_USE # define utf8_prevCharSafeBody utf8_prevCharSafeBody_INTERNAL_API_DO _NOT_USE
# else # else
# define RegexPatternDump_4_2 RegexPatternDump_INTERNAL_API_DO_NOT_U # define RegexPatternDump_4_4 RegexPatternDump_INTERNAL_API_DO_NOT_U
SE SE
# define bms_empty_4_2 bms_empty_INTERNAL_API_DO_NOT_USE # define bms_close_4_4 bms_close_INTERNAL_API_DO_NOT_USE
# define bms_getData_4_2 bms_getData_INTERNAL_API_DO_NOT_USE # define bms_empty_4_4 bms_empty_INTERNAL_API_DO_NOT_USE
# define bms_open_4_2 bms_open_INTERNAL_API_DO_NOT_USE # define bms_getData_4_4 bms_getData_INTERNAL_API_DO_NOT_USE
# define bms_search_4_2 bms_search_INTERNAL_API_DO_NOT_USE # define bms_open_4_4 bms_open_INTERNAL_API_DO_NOT_USE
# define bms_setTargetString_4_2 bms_setTargetString_INTERNAL_API_DO # define bms_search_4_4 bms_search_INTERNAL_API_DO_NOT_USE
_NOT_USE # define bms_setTargetString_4_4 bms_setTargetString_INTERNAL_API_DO
# define decimfmtAffixPatternValueComparator_4_2 decimfmtAffixPatter _NOT_USE
nValueComparator_INTERNAL_API_DO_NOT_USE # define pl_addFontRun_4_4 pl_addFontRun_INTERNAL_API_DO_NOT_USE
# define decimfmtAffixValueComparator_4_2 decimfmtAffixValueComparat # define pl_addLocaleRun_4_4 pl_addLocaleRun_INTERNAL_API_DO_NOT_USE
or_INTERNAL_API_DO_NOT_USE # define pl_addValueRun_4_4 pl_addValueRun_INTERNAL_API_DO_NOT_USE
# define dtitvinfHashTableValueComparator_4_2 dtitvinfHashTableValue # define pl_closeFontRuns_4_4 pl_closeFontRuns_INTERNAL_API_DO_NOT_U
Comparator_INTERNAL_API_DO_NOT_USE SE
# define pl_addFontRun_4_2 pl_addFontRun_INTERNAL_API_DO_NOT_USE # define pl_closeLine_4_4 pl_closeLine_INTERNAL_API_DO_NOT_USE
# define pl_addLocaleRun_4_2 pl_addLocaleRun_INTERNAL_API_DO_NOT_USE # define pl_closeLocaleRuns_4_4 pl_closeLocaleRuns_INTERNAL_API_DO_N
# define pl_addValueRun_4_2 pl_addValueRun_INTERNAL_API_DO_NOT_USE OT_USE
# define pl_closeFontRuns_4_2 pl_closeFontRuns_INTERNAL_API_DO_NOT_U # define pl_closeValueRuns_4_4 pl_closeValueRuns_INTERNAL_API_DO_NOT
SE _USE
# define pl_closeLine_4_2 pl_closeLine_INTERNAL_API_DO_NOT_USE # define pl_close_4_4 pl_close_INTERNAL_API_DO_NOT_USE
# define pl_closeLocaleRuns_4_2 pl_closeLocaleRuns_INTERNAL_API_DO_N # define pl_countLineRuns_4_4 pl_countLineRuns_INTERNAL_API_DO_NOT_U
OT_USE SE
# define pl_closeValueRuns_4_2 pl_closeValueRuns_INTERNAL_API_DO_NOT # define pl_create_4_4 pl_create_INTERNAL_API_DO_NOT_USE
_USE # define pl_getAscent_4_4 pl_getAscent_INTERNAL_API_DO_NOT_USE
# define pl_close_4_2 pl_close_INTERNAL_API_DO_NOT_USE # define pl_getDescent_4_4 pl_getDescent_INTERNAL_API_DO_NOT_USE
# define pl_countLineRuns_4_2 pl_countLineRuns_INTERNAL_API_DO_NOT_U # define pl_getFontRunCount_4_4 pl_getFontRunCount_INTERNAL_API_DO_N
SE OT_USE
# define pl_create_4_2 pl_create_INTERNAL_API_DO_NOT_USE # define pl_getFontRunFont_4_4 pl_getFontRunFont_INTERNAL_API_DO_NOT
# define pl_getAscent_4_2 pl_getAscent_INTERNAL_API_DO_NOT_USE _USE
# define pl_getDescent_4_2 pl_getDescent_INTERNAL_API_DO_NOT_USE # define pl_getFontRunLastLimit_4_4 pl_getFontRunLastLimit_INTERNAL_
# define pl_getFontRunCount_4_2 pl_getFontRunCount_INTERNAL_API_DO_N API_DO_NOT_USE
OT_USE # define pl_getFontRunLimit_4_4 pl_getFontRunLimit_INTERNAL_API_DO_N
# define pl_getFontRunFont_4_2 pl_getFontRunFont_INTERNAL_API_DO_NOT OT_USE
_USE # define pl_getLeading_4_4 pl_getLeading_INTERNAL_API_DO_NOT_USE
# define pl_getFontRunLastLimit_4_2 pl_getFontRunLastLimit_INTERNAL_ # define pl_getLineAscent_4_4 pl_getLineAscent_INTERNAL_API_DO_NOT_U
API_DO_NOT_USE SE
# define pl_getFontRunLimit_4_2 pl_getFontRunLimit_INTERNAL_API_DO_N # define pl_getLineDescent_4_4 pl_getLineDescent_INTERNAL_API_DO_NOT
OT_USE _USE
# define pl_getLeading_4_2 pl_getLeading_INTERNAL_API_DO_NOT_USE # define pl_getLineLeading_4_4 pl_getLineLeading_INTERNAL_API_DO_NOT
# define pl_getLineAscent_4_2 pl_getLineAscent_INTERNAL_API_DO_NOT_U _USE
SE # define pl_getLineVisualRun_4_4 pl_getLineVisualRun_INTERNAL_API_DO
# define pl_getLineDescent_4_2 pl_getLineDescent_INTERNAL_API_DO_NOT _NOT_USE
_USE # define pl_getLineWidth_4_4 pl_getLineWidth_INTERNAL_API_DO_NOT_USE
# define pl_getLineLeading_4_2 pl_getLineLeading_INTERNAL_API_DO_NOT # define pl_getLocaleRunCount_4_4 pl_getLocaleRunCount_INTERNAL_API_
_USE DO_NOT_USE
# define pl_getLineVisualRun_4_2 pl_getLineVisualRun_INTERNAL_API_DO # define pl_getLocaleRunLastLimit_4_4 pl_getLocaleRunLastLimit_INTER
_NOT_USE NAL_API_DO_NOT_USE
# define pl_getLineWidth_4_2 pl_getLineWidth_INTERNAL_API_DO_NOT_USE # define pl_getLocaleRunLimit_4_4 pl_getLocaleRunLimit_INTERNAL_API_
# define pl_getLocaleRunCount_4_2 pl_getLocaleRunCount_INTERNAL_API_ DO_NOT_USE
DO_NOT_USE # define pl_getLocaleRunLocale_4_4 pl_getLocaleRunLocale_INTERNAL_AP
# define pl_getLocaleRunLastLimit_4_2 pl_getLocaleRunLastLimit_INTER I_DO_NOT_USE
NAL_API_DO_NOT_USE # define pl_getParagraphLevel_4_4 pl_getParagraphLevel_INTERNAL_API_
# define pl_getLocaleRunLimit_4_2 pl_getLocaleRunLimit_INTERNAL_API_ DO_NOT_USE
DO_NOT_USE # define pl_getTextDirection_4_4 pl_getTextDirection_INTERNAL_API_DO
# define pl_getLocaleRunLocale_4_2 pl_getLocaleRunLocale_INTERNAL_AP _NOT_USE
I_DO_NOT_USE # define pl_getValueRunCount_4_4 pl_getValueRunCount_INTERNAL_API_DO
# define pl_getParagraphLevel_4_2 pl_getParagraphLevel_INTERNAL_API_ _NOT_USE
DO_NOT_USE # define pl_getValueRunLastLimit_4_4 pl_getValueRunLastLimit_INTERNA
# define pl_getTextDirection_4_2 pl_getTextDirection_INTERNAL_API_DO L_API_DO_NOT_USE
_NOT_USE # define pl_getValueRunLimit_4_4 pl_getValueRunLimit_INTERNAL_API_DO
# define pl_getValueRunCount_4_2 pl_getValueRunCount_INTERNAL_API_DO _NOT_USE
_NOT_USE # define pl_getValueRunValue_4_4 pl_getValueRunValue_INTERNAL_API_DO
# define pl_getValueRunLastLimit_4_2 pl_getValueRunLastLimit_INTERNA _NOT_USE
L_API_DO_NOT_USE # define pl_getVisualRunAscent_4_4 pl_getVisualRunAscent_INTERNAL_AP
# define pl_getValueRunLimit_4_2 pl_getValueRunLimit_INTERNAL_API_DO I_DO_NOT_USE
_NOT_USE # define pl_getVisualRunDescent_4_4 pl_getVisualRunDescent_INTERNAL_
# define pl_getValueRunValue_4_2 pl_getValueRunValue_INTERNAL_API_DO API_DO_NOT_USE
_NOT_USE # define pl_getVisualRunDirection_4_4 pl_getVisualRunDirection_INTER
# define pl_getVisualRunAscent_4_2 pl_getVisualRunAscent_INTERNAL_AP NAL_API_DO_NOT_USE
I_DO_NOT_USE # define pl_getVisualRunFont_4_4 pl_getVisualRunFont_INTERNAL_API_DO
# define pl_getVisualRunDescent_4_2 pl_getVisualRunDescent_INTERNAL_ _NOT_USE
API_DO_NOT_USE # define pl_getVisualRunGlyphCount_4_4 pl_getVisualRunGlyphCount_INT
# define pl_getVisualRunDirection_4_2 pl_getVisualRunDirection_INTER ERNAL_API_DO_NOT_USE
NAL_API_DO_NOT_USE # define pl_getVisualRunGlyphToCharMap_4_4 pl_getVisualRunGlyphToCha
# define pl_getVisualRunFont_4_2 pl_getVisualRunFont_INTERNAL_API_DO rMap_INTERNAL_API_DO_NOT_USE
_NOT_USE # define pl_getVisualRunGlyphs_4_4 pl_getVisualRunGlyphs_INTERNAL_AP
# define pl_getVisualRunGlyphCount_4_2 pl_getVisualRunGlyphCount_INT I_DO_NOT_USE
ERNAL_API_DO_NOT_USE # define pl_getVisualRunLeading_4_4 pl_getVisualRunLeading_INTERNAL_
# define pl_getVisualRunGlyphToCharMap_4_2 pl_getVisualRunGlyphToCha API_DO_NOT_USE
rMap_INTERNAL_API_DO_NOT_USE # define pl_getVisualRunPositions_4_4 pl_getVisualRunPositions_INTER
# define pl_getVisualRunGlyphs_4_2 pl_getVisualRunGlyphs_INTERNAL_AP NAL_API_DO_NOT_USE
I_DO_NOT_USE # define pl_isComplex_4_4 pl_isComplex_INTERNAL_API_DO_NOT_USE
# define pl_getVisualRunLeading_4_2 pl_getVisualRunLeading_INTERNAL_ # define pl_line_4_4 pl_line_INTERNAL_API_DO_NOT_USE
API_DO_NOT_USE # define pl_nextLine_4_4 pl_nextLine_INTERNAL_API_DO_NOT_USE
# define pl_getVisualRunPositions_4_2 pl_getVisualRunPositions_INTER # define pl_openEmptyFontRuns_4_4 pl_openEmptyFontRuns_INTERNAL_API_
NAL_API_DO_NOT_USE DO_NOT_USE
# define pl_isComplex_4_2 pl_isComplex_INTERNAL_API_DO_NOT_USE # define pl_openEmptyLocaleRuns_4_4 pl_openEmptyLocaleRuns_INTERNAL_
# define pl_line_4_2 pl_line_INTERNAL_API_DO_NOT_USE API_DO_NOT_USE
# define pl_nextLine_4_2 pl_nextLine_INTERNAL_API_DO_NOT_USE # define pl_openEmptyValueRuns_4_4 pl_openEmptyValueRuns_INTERNAL_AP
# define pl_openEmptyFontRuns_4_2 pl_openEmptyFontRuns_INTERNAL_API_ I_DO_NOT_USE
DO_NOT_USE # define pl_openFontRuns_4_4 pl_openFontRuns_INTERNAL_API_DO_NOT_USE
# define pl_openEmptyLocaleRuns_4_2 pl_openEmptyLocaleRuns_INTERNAL_ # define pl_openLocaleRuns_4_4 pl_openLocaleRuns_INTERNAL_API_DO_NOT
API_DO_NOT_USE _USE
# define pl_openEmptyValueRuns_4_2 pl_openEmptyValueRuns_INTERNAL_AP # define pl_openValueRuns_4_4 pl_openValueRuns_INTERNAL_API_DO_NOT_U
I_DO_NOT_USE SE
# define pl_openFontRuns_4_2 pl_openFontRuns_INTERNAL_API_DO_NOT_USE # define pl_paragraph_4_4 pl_paragraph_INTERNAL_API_DO_NOT_USE
# define pl_openLocaleRuns_4_2 pl_openLocaleRuns_INTERNAL_API_DO_NOT # define pl_reflow_4_4 pl_reflow_INTERNAL_API_DO_NOT_USE
_USE # define pl_resetFontRuns_4_4 pl_resetFontRuns_INTERNAL_API_DO_NOT_U
# define pl_openValueRuns_4_2 pl_openValueRuns_INTERNAL_API_DO_NOT_U SE
SE # define pl_resetLocaleRuns_4_4 pl_resetLocaleRuns_INTERNAL_API_DO_N
# define pl_paragraph_4_2 pl_paragraph_INTERNAL_API_DO_NOT_USE OT_USE
# define pl_reflow_4_2 pl_reflow_INTERNAL_API_DO_NOT_USE # define pl_resetValueRuns_4_4 pl_resetValueRuns_INTERNAL_API_DO_NOT
# define pl_resetFontRuns_4_2 pl_resetFontRuns_INTERNAL_API_DO_NOT_U _USE
SE # define pl_visualRun_4_4 pl_visualRun_INTERNAL_API_DO_NOT_USE
# define pl_resetLocaleRuns_4_2 pl_resetLocaleRuns_INTERNAL_API_DO_N # define ucd_close_4_4 ucd_close_INTERNAL_API_DO_NOT_USE
OT_USE # define ucd_flushCache_4_4 ucd_flushCache_INTERNAL_API_DO_NOT_USE
# define pl_resetValueRuns_4_2 pl_resetValueRuns_INTERNAL_API_DO_NOT # define ucd_freeCache_4_4 ucd_freeCache_INTERNAL_API_DO_NOT_USE
_USE # define ucd_getCollator_4_4 ucd_getCollator_INTERNAL_API_DO_NOT_USE
# define pl_visualRun_4_2 pl_visualRun_INTERNAL_API_DO_NOT_USE # define ucd_open_4_4 ucd_open_INTERNAL_API_DO_NOT_USE
# define ucd_close_4_2 ucd_close_INTERNAL_API_DO_NOT_USE # define ucol_equals_4_4 ucol_equals_INTERNAL_API_DO_NOT_USE
# define ucd_flushCache_4_2 ucd_flushCache_INTERNAL_API_DO_NOT_USE # define ucol_forceHanImplicit_4_4 ucol_forceHanImplicit_INTERNAL_AP
# define ucd_freeCache_4_2 ucd_freeCache_INTERNAL_API_DO_NOT_USE I_DO_NOT_USE
# define ucd_getCollator_4_2 ucd_getCollator_INTERNAL_API_DO_NOT_USE # define ucol_forgetUCA_4_4 ucol_forgetUCA_INTERNAL_API_DO_NOT_USE
# define ucd_open_4_2 ucd_open_INTERNAL_API_DO_NOT_USE # define ucol_getAttributeOrDefault_4_4 ucol_getAttributeOrDefault_I
# define ucol_equals_4_2 ucol_equals_INTERNAL_API_DO_NOT_USE NTERNAL_API_DO_NOT_USE
# define ucol_forceHanImplicit_4_2 ucol_forceHanImplicit_INTERNAL_AP # define ucol_getUnsafeSet_4_4 ucol_getUnsafeSet_INTERNAL_API_DO_NOT
I_DO_NOT_USE _USE
# define ucol_forgetUCA_4_2 ucol_forgetUCA_INTERNAL_API_DO_NOT_USE # define ucol_nextProcessed_4_4 ucol_nextProcessed_INTERNAL_API_DO_N
# define ucol_getAttributeOrDefault_4_2 ucol_getAttributeOrDefault_I OT_USE
NTERNAL_API_DO_NOT_USE # define ucol_prepareShortStringOpen_4_4 ucol_prepareShortStringOpen
# define ucol_getUnsafeSet_4_2 ucol_getUnsafeSet_INTERNAL_API_DO_NOT _INTERNAL_API_DO_NOT_USE
_USE # define ucol_previousProcessed_4_4 ucol_previousProcessed_INTERNAL_
# define ucol_nextProcessed_4_2 ucol_nextProcessed_INTERNAL_API_DO_N API_DO_NOT_USE
OT_USE # define udat_applyPatternRelative_4_4 udat_applyPatternRelative_INT
# define ucol_prepareShortStringOpen_4_2 ucol_prepareShortStringOpen ERNAL_API_DO_NOT_USE
_INTERNAL_API_DO_NOT_USE # define udat_toPatternRelativeDate_4_4 udat_toPatternRelativeDate_I
# define ucol_previousProcessed_4_2 ucol_previousProcessed_INTERNAL_ NTERNAL_API_DO_NOT_USE
API_DO_NOT_USE # define udat_toPatternRelativeTime_4_4 udat_toPatternRelativeTime_I
# define udat_applyPatternRelative_4_2 udat_applyPatternRelative_INT NTERNAL_API_DO_NOT_USE
ERNAL_API_DO_NOT_USE # define uplug_getConfiguration_4_4 uplug_getConfiguration_INTERNAL_
# define udat_toPatternRelativeDate_4_2 udat_toPatternRelativeDate_I API_DO_NOT_USE
NTERNAL_API_DO_NOT_USE # define uplug_getContext_4_4 uplug_getContext_INTERNAL_API_DO_NOT_U
# define udat_toPatternRelativeTime_4_2 udat_toPatternRelativeTime_I SE
NTERNAL_API_DO_NOT_USE # define uplug_getCurrentLevel_4_4 uplug_getCurrentLevel_INTERNAL_AP
# define uprv_getDefaultCodepage_4_2 uprv_getDefaultCodepage_INTERNA I_DO_NOT_USE
L_API_DO_NOT_USE # define uplug_getLibraryName_4_4 uplug_getLibraryName_INTERNAL_API_
# define uprv_getDefaultLocaleID_4_2 uprv_getDefaultLocaleID_INTERNA DO_NOT_USE
L_API_DO_NOT_USE # define uplug_getLibrary_4_4 uplug_getLibrary_INTERNAL_API_DO_NOT_U
# define ures_openFillIn_4_2 ures_openFillIn_INTERNAL_API_DO_NOT_USE SE
# define usearch_searchBackwards_4_2 usearch_searchBackwards_INTERNA # define uplug_getPlugLevel_4_4 uplug_getPlugLevel_INTERNAL_API_DO_N
L_API_DO_NOT_USE OT_USE
# define usearch_search_4_2 usearch_search_INTERNAL_API_DO_NOT_USE # define uplug_getPlugLoadStatus_4_4 uplug_getPlugLoadStatus_INTERNA
# define utf8_appendCharSafeBody_4_2 utf8_appendCharSafeBody_INTERNA L_API_DO_NOT_USE
L_API_DO_NOT_USE # define uplug_getPlugName_4_4 uplug_getPlugName_INTERNAL_API_DO_NOT
# define utf8_back1SafeBody_4_2 utf8_back1SafeBody_INTERNAL_API_DO_N _USE
OT_USE # define uplug_getSymbolName_4_4 uplug_getSymbolName_INTERNAL_API_DO
# define utf8_countTrailBytes_4_2 utf8_countTrailBytes_INTERNAL_API_ _NOT_USE
DO_NOT_USE # define uplug_loadPlugFromEntrypoint_4_4 uplug_loadPlugFromEntrypoi
# define utf8_nextCharSafeBody_4_2 utf8_nextCharSafeBody_INTERNAL_AP nt_INTERNAL_API_DO_NOT_USE
I_DO_NOT_USE # define uplug_loadPlugFromLibrary_4_4 uplug_loadPlugFromLibrary_INT
# define utf8_prevCharSafeBody_4_2 utf8_prevCharSafeBody_INTERNAL_AP ERNAL_API_DO_NOT_USE
I_DO_NOT_USE # define uplug_nextPlug_4_4 uplug_nextPlug_INTERNAL_API_DO_NOT_USE
# define uplug_removePlug_4_4 uplug_removePlug_INTERNAL_API_DO_NOT_U
SE
# define uplug_setContext_4_4 uplug_setContext_INTERNAL_API_DO_NOT_U
SE
# define uplug_setPlugLevel_4_4 uplug_setPlugLevel_INTERNAL_API_DO_N
OT_USE
# define uplug_setPlugName_4_4 uplug_setPlugName_INTERNAL_API_DO_NOT
_USE
# define uplug_setPlugNoUnload_4_4 uplug_setPlugNoUnload_INTERNAL_AP
I_DO_NOT_USE
# define uprv_getDefaultCodepage_4_4 uprv_getDefaultCodepage_INTERNA
L_API_DO_NOT_USE
# define uprv_getDefaultLocaleID_4_4 uprv_getDefaultLocaleID_INTERNA
L_API_DO_NOT_USE
# define uregex_appendReplacementUText_4_4 uregex_appendReplacementU
Text_INTERNAL_API_DO_NOT_USE
# define uregex_appendTailUText_4_4 uregex_appendTailUText_INTERNAL_
API_DO_NOT_USE
# define uregex_getUText_4_4 uregex_getUText_INTERNAL_API_DO_NOT_USE
# define uregex_groupUText_4_4 uregex_groupUText_INTERNAL_API_DO_NOT
_USE
# define uregex_openUText_4_4 uregex_openUText_INTERNAL_API_DO_NOT_U
SE
# define uregex_patternUText_4_4 uregex_patternUText_INTERNAL_API_DO
_NOT_USE
# define uregex_replaceAllUText_4_4 uregex_replaceAllUText_INTERNAL_
API_DO_NOT_USE
# define uregex_replaceFirstUText_4_4 uregex_replaceFirstUText_INTER
NAL_API_DO_NOT_USE
# define uregex_setUText_4_4 uregex_setUText_INTERNAL_API_DO_NOT_USE
# define uregex_splitUText_4_4 uregex_splitUText_INTERNAL_API_DO_NOT
_USE
# define ures_openFillIn_4_4 ures_openFillIn_INTERNAL_API_DO_NOT_USE
# define usearch_searchBackwards_4_4 usearch_searchBackwards_INTERNA
L_API_DO_NOT_USE
# define usearch_search_4_4 usearch_search_INTERNAL_API_DO_NOT_USE
# define utext_caseCompareNativeLimit_4_4 utext_caseCompareNativeLim
it_INTERNAL_API_DO_NOT_USE
# define utext_caseCompare_4_4 utext_caseCompare_INTERNAL_API_DO_NOT
_USE
# define utext_compareNativeLimit_4_4 utext_compareNativeLimit_INTER
NAL_API_DO_NOT_USE
# define utext_compare_4_4 utext_compare_INTERNAL_API_DO_NOT_USE
# define utf8_appendCharSafeBody_4_4 utf8_appendCharSafeBody_INTERNA
L_API_DO_NOT_USE
# define utf8_back1SafeBody_4_4 utf8_back1SafeBody_INTERNAL_API_DO_N
OT_USE
# define utf8_countTrailBytes_4_4 utf8_countTrailBytes_INTERNAL_API_
DO_NOT_USE
# define utf8_nextCharSafeBody_4_4 utf8_nextCharSafeBody_INTERNAL_AP
I_DO_NOT_USE
# define utf8_prevCharSafeBody_4_4 utf8_prevCharSafeBody_INTERNAL_AP
I_DO_NOT_USE
# endif /* U_DISABLE_RENAMING */ # endif /* U_DISABLE_RENAMING */
#endif /* U_HIDE_INTERNAL_API */ #endif /* U_HIDE_INTERNAL_API */
#endif /* UINTRNAL_H */ #endif /* UINTRNAL_H */
 End of changes. 7 change blocks. 
159 lines changed or deleted 255 lines changed or added


 uloc.h   uloc.h 
/* /*
********************************************************************** **********************************************************************
* Copyright (C) 1997-2009, International Business Machines * Copyright (C) 1997-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
********************************************************************** **********************************************************************
* *
* File ULOC.H * File ULOC.H
* *
* Modification History: * Modification History:
* *
* Date Name Description * Date Name Description
* 04/01/97 aliu Creation. * 04/01/97 aliu Creation.
* 08/22/98 stephen JDK 1.2 sync. * 08/22/98 stephen JDK 1.2 sync.
skipping to change at line 870 skipping to change at line 870
} ULayoutType; } ULayoutType;
/** /**
* Get the layout character orientation for the specified locale. * Get the layout character orientation for the specified locale.
* *
* @param localeId locale name * @param localeId locale name
* @param status Error status * @param status Error status
* @return an enum indicating the layout orientation for characters. * @return an enum indicating the layout orientation for characters.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT ULayoutType U_EXPORT2 U_STABLE ULayoutType U_EXPORT2
uloc_getCharacterOrientation(const char* localeId, uloc_getCharacterOrientation(const char* localeId,
UErrorCode *status); UErrorCode *status);
/** /**
* Get the layout line orientation for the specified locale. * Get the layout line orientation for the specified locale.
* *
* @param localeId locale name * @param localeId locale name
* @param status Error status * @param status Error status
* @return an enum indicating the layout orientation for lines. * @return an enum indicating the layout orientation for lines.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT ULayoutType U_EXPORT2 U_STABLE ULayoutType U_EXPORT2
uloc_getLineOrientation(const char* localeId, uloc_getLineOrientation(const char* localeId,
UErrorCode *status); UErrorCode *status);
/** /**
* enums for the 'outResult' parameter return value * enums for the 'outResult' parameter return value
* @see uloc_acceptLanguageFromHTTP * @see uloc_acceptLanguageFromHTTP
* @see uloc_acceptLanguage * @see uloc_acceptLanguage
* @stable ICU 3.2 * @stable ICU 3.2
*/ */
typedef enum { typedef enum {
skipping to change at line 951 skipping to change at line 951
* *
* @param hostID the Win32 LCID to translate * @param hostID the Win32 LCID to translate
* @param locale the output buffer for the ICU locale ID, which will be NUL -terminated * @param locale the output buffer for the ICU locale ID, which will be NUL -terminated
* if there is room. * if there is room.
* @param localeCapacity the size of the output buffer * @param localeCapacity the size of the output buffer
* @param status an error is returned if the LCID is unrecognized or the ou tput buffer * @param status an error is returned if the LCID is unrecognized or the ou tput buffer
* is too small * is too small
* @return actual the actual size of the locale ID, not including NUL-termi nation * @return actual the actual size of the locale ID, not including NUL-termi nation
* @stable ICU 3.8 * @stable ICU 3.8
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uloc_getLocaleForLCID(uint32_t hostID, char *locale, int32_t localeCapacity , uloc_getLocaleForLCID(uint32_t hostID, char *locale, int32_t localeCapacity ,
UErrorCode *status); UErrorCode *status);
/** /**
* Add the likely subtags for a provided locale ID, per the algorithm descr ibed * Add the likely subtags for a provided locale ID, per the algorithm descr ibed
* in the following CLDR technical report: * in the following CLDR technical report:
* *
* http://www.unicode.org/reports/tr35/#Likely_Subtags * http://www.unicode.org/reports/tr35/#Likely_Subtags
* *
* If localeID is already in the maximal form, or there is no data availabl e * If localeID is already in the maximal form, or there is no data availabl e
skipping to change at line 988 skipping to change at line 988
* @param maximizedLocaleID The maximized locale * @param maximizedLocaleID The maximized locale
* @param maximizedLocaleIDCapacity The capacity of the maximizedLocaleID b uffer * @param maximizedLocaleIDCapacity The capacity of the maximizedLocaleID b uffer
* @param err Error information if maximizing the locale failed. If the le ngth * @param err Error information if maximizing the locale failed. If the le ngth
* of the localeID and the null-terminator is greater than the maximum allo wed size, * of the localeID and the null-terminator is greater than the maximum allo wed size,
* or the localeId is not well-formed, the error code is U_ILLEGAL_ARGUMENT _ERROR. * or the localeId is not well-formed, the error code is U_ILLEGAL_ARGUMENT _ERROR.
* @return The actual buffer size needed for the maximized locale. If it's * @return The actual buffer size needed for the maximized locale. If it's
* greater than maximizedLocaleIDCapacity, the returned ID will be truncate d. * greater than maximizedLocaleIDCapacity, the returned ID will be truncate d.
* On error, the return value is -1. * On error, the return value is -1.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uloc_addLikelySubtags(const char* localeID, uloc_addLikelySubtags(const char* localeID,
char* maximizedLocaleID, char* maximizedLocaleID,
int32_t maximizedLocaleIDCapacity, int32_t maximizedLocaleIDCapacity,
UErrorCode* err); UErrorCode* err);
/** /**
* Minimize the subtags for a provided locale ID, per the algorithm describ ed * Minimize the subtags for a provided locale ID, per the algorithm describ ed
* in the following CLDR technical report: * in the following CLDR technical report:
* *
* http://www.unicode.org/reports/tr35/#Likely_Subtags * http://www.unicode.org/reports/tr35/#Likely_Subtags
skipping to change at line 1027 skipping to change at line 1027
* @param minimizedLocaleID The minimized locale * @param minimizedLocaleID The minimized locale
* @param minimizedLocaleIDCapacity The capacity of the minimizedLocaleID b uffer * @param minimizedLocaleIDCapacity The capacity of the minimizedLocaleID b uffer
* @param err Error information if minimizing the locale failed. If the le ngth * @param err Error information if minimizing the locale failed. If the le ngth
* of the localeID and the null-terminator is greater than the maximum allo wed size, * of the localeID and the null-terminator is greater than the maximum allo wed size,
* or the localeId is not well-formed, the error code is U_ILLEGAL_ARGUMENT _ERROR. * or the localeId is not well-formed, the error code is U_ILLEGAL_ARGUMENT _ERROR.
* @return The actual buffer size needed for the minimized locale. If it's * @return The actual buffer size needed for the minimized locale. If it's
* greater than minimizedLocaleIDCapacity, the returned ID will be truncate d. * greater than minimizedLocaleIDCapacity, the returned ID will be truncate d.
* On error, the return value is -1. * On error, the return value is -1.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uloc_minimizeSubtags(const char* localeID, uloc_minimizeSubtags(const char* localeID,
char* minimizedLocaleID, char* minimizedLocaleID,
int32_t minimizedLocaleIDCapacity, int32_t minimizedLocaleIDCapacity,
UErrorCode* err); UErrorCode* err);
/** /**
* Returns a locale ID for the specified BCP47 language tag string. * Returns a locale ID for the specified BCP47 language tag string.
* If the specified language tag contains any ill-formed subtags, * If the specified language tag contains any ill-formed subtags,
* the first such subtag and all following subtags are ignored. * the first such subtag and all following subtags are ignored.
* <p> * <p>
 End of changes. 6 change blocks. 
6 lines changed or deleted 6 lines changed or added


 ulocdata.h   ulocdata.h 
skipping to change at line 214 skipping to change at line 214
* which must not indicate a failure before the functi on call. * which must not indicate a failure before the functi on call.
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width , UErrorCode *status); ulocdata_getPaperSize(const char *localeID, int32_t *height, int32_t *width , UErrorCode *status);
/** /**
* Return the current CLDR version used by the library. * Return the current CLDR version used by the library.
* @param versionArray fillin that will recieve the version number * @param versionArray fillin that will recieve the version number
* @param status error code - could be U_MISSING_RESOURCE_ERROR if the vers ion was not found. * @param status error code - could be U_MISSING_RESOURCE_ERROR if the vers ion was not found.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status); ulocdata_getCLDRVersion(UVersionInfo versionArray, UErrorCode *status);
/** /**
* Returns locale display pattern associated with a locale. * Returns locale display pattern associated with a locale.
* *
* @param uld Pointer to the locale data object from which the * @param uld Pointer to the locale data object from which the
* exemplar character set is to be retrieved. * exemplar character set is to be retrieved.
* @param pattern locale display pattern for locale. * @param pattern locale display pattern for locale.
* @param patternCapacity the size of the buffer to store the locale displa y * @param patternCapacity the size of the buffer to store the locale displa y
* pattern with. * pattern with.
* @param status Must be a valid pointer to an error code value, * @param status Must be a valid pointer to an error code value,
* which must not indicate a failure before the function c all. * which must not indicate a failure before the function c all.
* @return the actual buffer size needed for localeDisplayPattern. If it's greater * @return the actual buffer size needed for localeDisplayPattern. If it's greater
* than patternCapacity, the returned pattern will be truncated. * than patternCapacity, the returned pattern will be truncated.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ulocdata_getLocaleDisplayPattern(ULocaleData *uld, ulocdata_getLocaleDisplayPattern(ULocaleData *uld,
UChar *pattern, UChar *pattern,
int32_t patternCapacity, int32_t patternCapacity,
UErrorCode *status); UErrorCode *status);
/** /**
* Returns locale separator associated with a locale. * Returns locale separator associated with a locale.
* *
* @param uld Pointer to the locale data object from which the * @param uld Pointer to the locale data object from which the
* exemplar character set is to be retrieved. * exemplar character set is to be retrieved.
* @param separator locale separator for locale. * @param separator locale separator for locale.
* @param separatorCapacity the size of the buffer to store the locale * @param separatorCapacity the size of the buffer to store the locale
* separator with. * separator with.
* @param status Must be a valid pointer to an error code value, * @param status Must be a valid pointer to an error code value,
* which must not indicate a failure before the function c all. * which must not indicate a failure before the function c all.
* @return the actual buffer size needed for localeSeparator. If it's grea ter * @return the actual buffer size needed for localeSeparator. If it's grea ter
* than separatorCapacity, the returned separator will be truncated. * than separatorCapacity, the returned separator will be truncated.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
ulocdata_getLocaleSeparator(ULocaleData *uld, ulocdata_getLocaleSeparator(ULocaleData *uld,
UChar *separator, UChar *separator,
int32_t separatorCapacity, int32_t separatorCapacity,
UErrorCode *status); UErrorCode *status);
#endif #endif
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 umachine.h   umachine.h 
/* /*
*************************************************************************** *** *************************************************************************** ***
* *
* Copyright (C) 1999-2009, International Business Machines * Copyright (C) 1999-2010, 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 107 skipping to change at line 107
#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
/** This is used for GCC specific attributes*/ /**
* \def U_ATTRIBUTE_DEPRECATED
* This is used for GCC specific attributes
* @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))
/** This is used for Visual C++ specific attributes */ /**
* \def U_ATTRIBUTE_DEPRECATED
* This is used for Visual C++ specific attributes
* @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
/** 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 */
 End of changes. 3 change blocks. 
3 lines changed or deleted 11 lines changed or added


 uniset.h   uniset.h 
skipping to change at line 479 skipping to change at line 479
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
virtual int32_t hashCode(void) const; virtual int32_t hashCode(void) const;
/** /**
* Get a UnicodeSet pointer from a USet * Get a UnicodeSet pointer from a USet
* *
* @param uset a USet (the ICU plain C type for UnicodeSet) * @param uset a USet (the ICU plain C type for UnicodeSet)
* @return the corresponding UnicodeSet pointer. * @return the corresponding UnicodeSet pointer.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
inline static UnicodeSet *fromUSet(USet *uset); inline static UnicodeSet *fromUSet(USet *uset);
/** /**
* Get a UnicodeSet pointer from a const USet * Get a UnicodeSet pointer from a const USet
* *
* @param uset a const USet (the ICU plain C type for UnicodeSet) * @param uset a const USet (the ICU plain C type for UnicodeSet)
* @return the corresponding UnicodeSet pointer. * @return the corresponding UnicodeSet pointer.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
inline static const UnicodeSet *fromUSet(const USet *uset); inline static const UnicodeSet *fromUSet(const USet *uset);
/** /**
* Produce a USet * pointer for this UnicodeSet. * Produce a USet * pointer for this UnicodeSet.
* USet is the plain C type for UnicodeSet * USet is the plain C type for UnicodeSet
* *
* @return a USet pointer for this UnicodeSet * @return a USet pointer for this UnicodeSet
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
inline USet *toUSet(); inline USet *toUSet();
/** /**
* Produce a const USet * pointer for this UnicodeSet. * Produce a const USet * pointer for this UnicodeSet.
* USet is the plain C type for UnicodeSet * USet is the plain C type for UnicodeSet
* *
* @return a const USet pointer for this UnicodeSet * @return a const USet pointer for this UnicodeSet
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
inline const USet * toUSet() const; inline const USet * toUSet() const;
//---------------------------------------------------------------- //----------------------------------------------------------------
// Freezable API // Freezable API
//---------------------------------------------------------------- //----------------------------------------------------------------
/** /**
* Determines whether the set has been frozen (made immutable) or not. * Determines whether the set has been frozen (made immutable) or not.
* See the ICU4J Freezable interface for details. * See the ICU4J Freezable interface for details.
skipping to change at line 1321 skipping to change at line 1321
* (Here foldCase(x) refers to the operation u_strFoldCase, and a * (Here foldCase(x) refers to the operation u_strFoldCase, and a
* == b denotes that the contents are the same, not pointer * == b denotes that the contents are the same, not pointer
* comparison.) * comparison.)
* *
* A frozen set will not be modified. * A frozen set will not be modified.
* *
* @param attribute bitmask for attributes to close over. * @param attribute bitmask for attributes to close over.
* Currently only the USET_CASE bit is supported. Any undefined bits * Currently only the USET_CASE bit is supported. Any undefined bits
* are ignored. * are ignored.
* @return a reference to this set. * @return a reference to this set.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
UnicodeSet& closeOver(int32_t attribute); UnicodeSet& closeOver(int32_t attribute);
/** /**
* Remove all strings from this set. * Remove all strings from this set.
* *
* @return a reference to this set. * @return a reference to this set.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
virtual UnicodeSet &removeAllStrings(); virtual UnicodeSet &removeAllStrings();
/** /**
* Iteration method that returns the number of ranges contained in * Iteration method that returns the number of ranges contained in
* this set. * this set.
* @see #getRangeStart * @see #getRangeStart
* @see #getRangeEnd * @see #getRangeEnd
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
 End of changes. 6 change blocks. 
6 lines changed or deleted 6 lines changed or added


 uobslete.h   uobslete.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2009, International Business Machines * Copyright (C) 2004-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name: uobslete.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
* Contains data for commenting out APIs. * Contains data for commenting out APIs.
* Gets included by umachine.h * Gets included by umachine.h
* *
* THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHA T * THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHA T
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 uregex.h   uregex.h 
/* /*
********************************************************************** **********************************************************************
* Copyright (C) 2004-2009, International Business Machines * Copyright (C) 2004-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
********************************************************************** **********************************************************************
* file name: regex.h * file name: uregex.h
* encoding: US-ASCII * encoding: US-ASCII
* indentation:4 * indentation:4
* *
* created on: 2004mar09 * created on: 2004mar09
* created by: Andy Heninger * created by: Andy Heninger
* *
* ICU Regular Expressions, API for C * ICU Regular Expressions, API for C
*/ */
/** /**
* \file * \file
* \brief C API: Regular Expressions * \brief C API: Regular Expressions
* *
* <p>This is a C wrapper around the C++ RegexPattern and RegexMatcher clas ses.</p> * <p>This is a C wrapper around the C++ RegexPattern and RegexMatcher clas ses.</p>
*/ */
#ifndef UREGEX_H #ifndef UREGEX_H
#define UREGEX_H #define UREGEX_H
#include "unicode/utext.h"
#include "unicode/utypes.h" #include "unicode/utypes.h"
#if !UCONFIG_NO_REGULAR_EXPRESSIONS #if !UCONFIG_NO_REGULAR_EXPRESSIONS
#include "unicode/localpointer.h" #include "unicode/localpointer.h"
#include "unicode/parseerr.h" #include "unicode/parseerr.h"
struct URegularExpression; struct URegularExpression;
/** /**
* Structure representing a compiled regular rexpression, plus the results * Structure representing a compiled regular rexpression, plus the results
skipping to change at line 65 skipping to change at line 66
/** Allow white space and comments within patterns @stable ICU 2.4 */ /** Allow white space and comments within patterns @stable ICU 2.4 */
UREGEX_COMMENTS = 4, UREGEX_COMMENTS = 4,
/** If set, '.' matches line terminators, otherwise '.' matching stop s at line end. /** If set, '.' matches line terminators, otherwise '.' matching stop s at line end.
* @stable ICU 2.4 */ * @stable ICU 2.4 */
UREGEX_DOTALL = 32, UREGEX_DOTALL = 32,
/** If set, treat the entire pattern as a literal string. /** If set, treat the entire pattern as a literal string.
* Metacharacters or escape sequences in the input sequence will be g iven * Metacharacters or escape sequences in the input sequence will be g iven
* no special meaning. * no special meaning. Not implemented yet as of ICU 4.4.
* *
* The flags CASE_INSENSITIVE and UNICODE_CASE retain their impact * The flags CASE_INSENSITIVE and UNICODE_CASE retain their impact
* on matching when used in conjunction with this flag. * on matching when used in conjunction with this flag.
* The other flags become superfluous. * The other flags become superfluous.
* TODO: say which escapes are still handled; anything Java does * TODO: say which escapes are still handled; anything Java does
* early (\\u) we should still do. * early (\\u) we should still do.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
UREGEX_LITERAL = 16, UREGEX_LITERAL = 16,
skipping to change at line 115 skipping to change at line 116
UREGEX_ERROR_ON_UNKNOWN_ESCAPES = 512 UREGEX_ERROR_ON_UNKNOWN_ESCAPES = 512
} URegexpFlag; } URegexpFlag;
/** /**
* Open (compile) an ICU regular expression. Compiles the regular expres sion in * Open (compile) an ICU regular expression. Compiles the regular expres sion in
* string form into an internal representation using the specified match mode flags. * string form into an internal representation using the specified match mode flags.
* The resulting regular expression handle can then be used to perform va rious * The resulting regular expression handle can then be used to perform va rious
* matching operations. * matching operations.
* *
*
* @param pattern The Regular Expression pattern to be compiled. * @param pattern The Regular Expression pattern to be compiled.
* @param patternLength The length of the pattern, or -1 if the pattern i s * @param patternLength The length of the pattern, or -1 if the pattern i s
* NUL termintated. * NUL termintated.
* @param flags Flags that alter the default matching behavior fo r * @param flags Flags that alter the default matching behavior fo r
* the regular expression, UREGEX_CASE_INSENSITIVE, for * the regular expression, UREGEX_CASE_INSENSITIVE, for
* example. For default behavior, set this paramete r to zero. * example. For default behavior, set this paramete r to zero.
* See <code>enum URegexpFlag</code>. All desired f lags * See <code>enum URegexpFlag</code>. All desired f lags
* are bitwise-ORed together. * are bitwise-ORed together.
* @param pe Receives the position (line and column nubers) of any syntax * @param pe Receives the position (line and column nubers) of any syntax
* error within the source regular expression string . If this * error within the source regular expression string . If this
skipping to change at line 138 skipping to change at line 140
* *
*/ */
U_STABLE URegularExpression * U_EXPORT2 U_STABLE URegularExpression * U_EXPORT2
uregex_open( const UChar *pattern, uregex_open( const UChar *pattern,
int32_t patternLength, int32_t patternLength,
uint32_t flags, uint32_t flags,
UParseError *pe, UParseError *pe,
UErrorCode *status); UErrorCode *status);
/** /**
* Open (compile) an ICU regular expression. Compiles the regular expres
sion in
* string form into an internal representation using the specified match
mode flags.
* The resulting regular expression handle can then be used to perform va
rious
* matching operations.
* <p>
* The contents of the pattern UText will be extracted and saved. Ownersh
ip of the
* UText struct itself remains with the caller. This is to match the beh
avior of
* uregex_open().
*
* @param pattern The Regular Expression pattern to be compiled.
* @param flags Flags that alter the default matching behavior fo
r
* the regular expression, UREGEX_CASE_INSENSITIVE,
for
* example. For default behavior, set this paramete
r to zero.
* See <code>enum URegexpFlag</code>. All desired f
lags
* are bitwise-ORed together.
* @param pe Receives the position (line and column nubers) of
any syntax
* error within the source regular expression string
. If this
* information is not wanted, pass NULL for this par
ameter.
* @param status Receives error detected by this function.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL URegularExpression * U_EXPORT2
uregex_openUText(UText *pattern,
uint32_t flags,
UParseError *pe,
UErrorCode *status);
/**
* Open (compile) an ICU regular expression. The resulting regular expre ssion * Open (compile) an ICU regular expression. The resulting regular expre ssion
* handle can then be used to perform various matching operations. * handle can then be used to perform various matching operations.
* <p> * <p>
* This function is the same as uregex_open, except that the pattern * This function is the same as uregex_open, except that the pattern
* is supplied as an 8 bit char * string in the default code page. * is supplied as an 8 bit char * string in the default code page.
* *
* @param pattern The Regular Expression pattern to be compiled, * @param pattern The Regular Expression pattern to be compiled,
* NUL termintated. * NUL termintated.
* @param flags Flags that alter the default matching behavior fo r * @param flags Flags that alter the default matching behavior fo r
* the regular expression, UREGEX_CASE_INSENSITIVE, for * the regular expression, UREGEX_CASE_INSENSITIVE, for
skipping to change at line 219 skipping to change at line 250
* *
* @param regexp The compiled regular expression to be cloned. * @param regexp The compiled regular expression to be cloned.
* @param status Receives indication of any errors encountered * @param status Receives indication of any errors encountered
* @return the cloned copy of the compiled regular expression. * @return the cloned copy of the compiled regular expression.
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE URegularExpression * U_EXPORT2 U_STABLE URegularExpression * U_EXPORT2
uregex_clone(const URegularExpression *regexp, UErrorCode *status); uregex_clone(const URegularExpression *regexp, UErrorCode *status);
/** /**
* Return a pointer to the source form of the pattern for this regular exp * Returns a pointer to the source form of the pattern for this regular ex
ression. pression.
* This function will work even if the pattern was originally specified as
a UText.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param patLength This output parameter will be set to the length of the * @param patLength This output parameter will be set to the length of the
* pattern string. A NULL pointer may be used here if th e * pattern string. A NULL pointer may be used here if th e
* pattern length is not needed, as would be the case if * pattern length is not needed, as would be the case if
* the pattern is known in advance to be a NUL terminated * the pattern is known in advance to be a NUL terminated
* string. * string.
* @param status Receives errors detected by this function. * @param status Receives errors detected by this function.
* @return a pointer to the pattern string. The storage for the string is * @return a pointer to the pattern string. The storage for the string is
* owned by the regular expression object, and must not b e * owned by the regular expression object, and must not b e
* altered or deleted by the application. The returned s tring * altered or deleted by the application. The returned s tring
* will remain valid until the regular expression is clos ed. * will remain valid until the regular expression is clos ed.
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE const UChar * U_EXPORT2 U_STABLE const UChar * U_EXPORT2
uregex_pattern(const URegularExpression *regexp, uregex_pattern(const URegularExpression *regexp,
int32_t *patLength, int32_t *patLength,
UErrorCode *status); UErrorCode *status);
/**
* Returns the source text of the pattern for this regular expression.
* This function will work even if the pattern was originally specified as
a UChar string.
*
* @param regexp The compiled regular expression.
* @param status Receives errors detected by this function.
* @return the pattern text. The storage for the text is owned by the regu
lar expression
* object, and must not be altered or deleted.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL UText * U_EXPORT2
uregex_patternUText(const URegularExpression *regexp,
UErrorCode *status);
/** /**
* Get the match mode flags that were specified when compiling this regula r expression. * Get the match mode flags that were specified when compiling this regula r expression.
* @param status Receives errors detected by this function. * @param status Receives errors detected by this function.
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @return The match mode flags * @return The match mode flags
* @see URegexpFlag * @see URegexpFlag
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
skipping to change at line 278 skipping to change at line 325
* @param status Receives errors detected by this function. * @param status Receives errors detected by this function.
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
uregex_setText(URegularExpression *regexp, uregex_setText(URegularExpression *regexp,
const UChar *text, const UChar *text,
int32_t textLength, int32_t textLength,
UErrorCode *status); UErrorCode *status);
/** /**
* Set the subject text string upon which the regular expression will loo
k for matches.
* This function may be called any number of times, allowing the regular
* expression pattern to be applied to different strings.
* <p>
* Regular expression matching operations work directly on the applicatio
n's
* string data; only a shallow clone is made. The subject string data mu
st not be
* altered after calling this function until after all regular expression
* operations involving this string data are completed.
*
* @param regexp The compiled regular expression.
* @param text The subject text string.
* @param status Receives errors detected by this function.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL void U_EXPORT2
uregex_setUText(URegularExpression *regexp,
UText *text,
UErrorCode *status);
/**
* Get the subject text that is currently associated with this * Get the subject text that is currently associated with this
* regular expression object. This simply returns whatever string * regular expression object. If the input was supplied using uregex_se
* pointer was previously supplied via uregex_setText(). tText(),
* that pointer will be returned. Otherwise, the characters in the inpu
t will
* be extracted to a buffer and returned. In either case, ownership rem
ains
* with the regular expression object.
*
* This function will work even if the input was originally specified as
a UText.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param textLength The length of the string is returned in this output parameter. * @param textLength The length of the string is returned in this output parameter.
* A NULL pointer may be used here if the * A NULL pointer may be used here if the
* text length is not needed, as would be the case if * text length is not needed, as would be the case if
* the text is known in advance to be a NUL terminated * the text is known in advance to be a NUL terminated
* string. * string.
* @param status Receives errors detected by this function. * @param status Receives errors detected by this function.
* @return Poiner to the subject text string currently associat ed with * @return Pointer to the subject text string currently associa ted with
* this regular expression. * this regular expression.
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE const UChar * U_EXPORT2 U_STABLE const UChar * U_EXPORT2
uregex_getText(URegularExpression *regexp, uregex_getText(URegularExpression *regexp,
int32_t *textLength, int32_t *textLength,
UErrorCode *status); UErrorCode *status);
/** /**
* Get the subject text that is currently associated with this
* regular expression object.
*
* This function will work even if the input was originally specified as
a UChar string.
*
* @param regexp The compiled regular expression.
* @param dest A mutable UText in which to store the current input.
* If NULL, a new UText will be created as an immutable
shallow clone
* of the actual input string.
* @param status Receives errors detected by this function.
* @return The subject text currently associated with this regu
lar expression.
* If a pre-allocated UText was provided, it will alway
s be used and returned.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL UText * U_EXPORT2
uregex_getUText(URegularExpression *regexp,
UText *dest,
UErrorCode *status);
/**
* Attempts to match the input string against the pattern. * Attempts to match the input string against the pattern.
* To succeed, the match must extend to the end of the string, * To succeed, the match must extend to the end of the string,
* or cover the complete match region. * or cover the complete match region.
* *
* If startIndex >= zero the match operation starts at the specified * If startIndex >= zero the match operation starts at the specified
* index and must extend to the end of the input string. Any region * index and must extend to the end of the input string. Any region
* that has been specified is reset. * that has been specified is reset.
* *
* If startIndex == -1 the match must cover the input region, or the ent ire * If startIndex == -1 the match must cover the input region, or the ent ire
* input string if no region has been set. This directly corresponds to * input string if no region has been set. This directly corresponds to
skipping to change at line 426 skipping to change at line 519
* or -1 if no applicable match. * or -1 if no applicable match.
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_group(URegularExpression *regexp, uregex_group(URegularExpression *regexp,
int32_t groupNum, int32_t groupNum,
UChar *dest, UChar *dest,
int32_t destCapacity, int32_t destCapacity,
UErrorCode *status); UErrorCode *status);
/** Extract the string for the specified matching expression or subexpressi
on.
* Group #0 is the complete string of matched text.
* Group #1 is the text matched by the first set of capturing parentheses.
*
* @param regexp The compiled regular expression.
* @param groupNum The capture group to extract. Group 0 is the c
omplete
* match. The value of this parameter must be
* less than or equal to the number of capture gro
ups in
* the pattern.
* @param dest Mutable UText to receive the matching string da
ta.
* If NULL, a new UText will be created (which may
not be mutable).
* @param status A reference to a UErrorCode to receive any erro
rs.
* @return The matching string data. If a pre-allocated UT
ext was provided,
* it will always be used and returned.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL UText * U_EXPORT2
uregex_groupUText(URegularExpression *regexp,
int32_t groupNum,
UText *dest,
UErrorCode *status);
/** /**
* Returns the index in the input string of the start of the text matche d by the * Returns the index in the input string of the start of the text matche d by the
* specified capture group during the previous match operation. Return -1 if * specified capture group during the previous match operation. Return -1 if
* the capture group was not part of the last match. * the capture group was not part of the last match.
* Group #0 refers to the complete range of matched text. * Group #0 refers to the complete range of matched text.
* Group #1 refers to the text matched by the first set of capturing par entheses. * Group #1 refers to the text matched by the first set of capturing par entheses.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param groupNum The capture group number * @param groupNum The capture group number
* @param status A reference to a UErrorCode to receive any erro rs. * @param status A reference to a UErrorCode to receive any erro rs.
skipping to change at line 500 skipping to change at line 616
* *
* The function will fail if start is greater than limit, or if either ind ex * The function will fail if start is greater than limit, or if either ind ex
* is less than zero or greater than the length of the string being match ed. * is less than zero or greater than the length of the string being match ed.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param regionStart The index to begin searches at. * @param regionStart The index to begin searches at.
* @param regionLimit The index to end searches at (exclusive). * @param regionLimit The index to end searches at (exclusive).
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
uregex_setRegion(URegularExpression *regexp, uregex_setRegion(URegularExpression *regexp,
int32_t regionStart, int32_t regionStart,
int32_t regionLimit, int32_t regionLimit,
UErrorCode *status); UErrorCode *status);
/** /**
* Reports the start index of the matching region. Any matches found are l imited to * Reports the start index of the matching region. Any matches found are l imited to
* to the region bounded by regionStart (inclusive) and regionEnd (exclusi ve). * to the region bounded by regionStart (inclusive) and regionEnd (exclusi ve).
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @return The starting index of this matcher's region. * @return The starting index of this matcher's region.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_regionStart(const URegularExpression *regexp, uregex_regionStart(const URegularExpression *regexp,
UErrorCode *status); UErrorCode *status);
/** /**
* Reports the end index (exclusive) of the matching region for this URegu larExpression. * Reports the end index (exclusive) of the matching region for this URegu larExpression.
* Any matches found are limited to to the region bounded by regionStart ( inclusive) * Any matches found are limited to to the region bounded by regionStart ( inclusive)
* and regionEnd (exclusive). * and regionEnd (exclusive).
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @return The ending point of this matcher's region. * @return The ending point of this matcher's region.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_regionEnd(const URegularExpression *regexp, uregex_regionEnd(const URegularExpression *regexp,
UErrorCode *status); UErrorCode *status);
/** /**
* Queries the transparency of region bounds for this URegularExpression. * Queries the transparency of region bounds for this URegularExpression.
* See useTransparentBounds for a description of transparent and opaque bo unds. * See useTransparentBounds for a description of transparent and opaque bo unds.
* By default, matching boundaries are opaque. * By default, matching boundaries are opaque.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @return TRUE if this matcher is using opaque bounds, false if it is not . * @return TRUE if this matcher is using opaque bounds, false if it is not .
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT UBool U_EXPORT2 U_STABLE UBool U_EXPORT2
uregex_hasTransparentBounds(const URegularExpression *regexp, uregex_hasTransparentBounds(const URegularExpression *regexp,
UErrorCode *status); UErrorCode *status);
/** /**
* Sets the transparency of region bounds for this URegularExpression. * Sets the transparency of region bounds for this URegularExpression.
* Invoking this function with an argument of TRUE will set matches to use transparent bounds. * Invoking this function with an argument of TRUE will set matches to use transparent bounds.
* If the boolean argument is FALSE, then opaque bounds will be used. * If the boolean argument is FALSE, then opaque bounds will be used.
* *
* Using transparent bounds, the boundaries of the matching region are tra nsparent * Using transparent bounds, the boundaries of the matching region are tra nsparent
* to lookahead, lookbehind, and boundary matching constructs. Those const ructs can * to lookahead, lookbehind, and boundary matching constructs. Those const ructs can
skipping to change at line 566 skipping to change at line 682
* With opaque bounds, no text outside of the matching region is visible t o lookahead, * With opaque bounds, no text outside of the matching region is visible t o lookahead,
* lookbehind, and boundary matching constructs. * lookbehind, and boundary matching constructs.
* *
* By default, opaque bounds are used. * By default, opaque bounds are used.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param b TRUE for transparent bounds; FALSE for opaque bounds * @param b TRUE for transparent bounds; FALSE for opaque bounds
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @stable ICU 4.0 * @stable ICU 4.0
**/ **/
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
uregex_useTransparentBounds(URegularExpression *regexp, uregex_useTransparentBounds(URegularExpression *regexp,
UBool b, UBool b,
UErrorCode *status); UErrorCode *status);
/** /**
* Return true if this URegularExpression is using anchoring bounds. * Return true if this URegularExpression is using anchoring bounds.
* By default, anchoring region bounds are used. * By default, anchoring region bounds are used.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @return TRUE if this matcher is using anchoring bounds. * @return TRUE if this matcher is using anchoring bounds.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT UBool U_EXPORT2 U_STABLE UBool U_EXPORT2
uregex_hasAnchoringBounds(const URegularExpression *regexp, uregex_hasAnchoringBounds(const URegularExpression *regexp,
UErrorCode *status); UErrorCode *status);
/** /**
* Set whether this URegularExpression is using Anchoring Bounds for its r egion. * Set whether this URegularExpression is using Anchoring Bounds for its r egion.
* With anchoring bounds, pattern anchors such as ^ and $ will match at th e start * With anchoring bounds, pattern anchors such as ^ and $ will match at th e start
* and end of the region. Without Anchoring Bounds, anchors will only mat ch at * and end of the region. Without Anchoring Bounds, anchors will only mat ch at
* the positions they would in the complete text. * the positions they would in the complete text.
* *
* Anchoring Bounds are the default for regions. * Anchoring Bounds are the default for regions.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param b TRUE if to enable anchoring bounds; FALSE to disable them . * @param b TRUE if to enable anchoring bounds; FALSE to disable them .
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
uregex_useAnchoringBounds(URegularExpression *regexp, uregex_useAnchoringBounds(URegularExpression *regexp,
UBool b, UBool b,
UErrorCode *status); UErrorCode *status);
/** /**
* Return TRUE if the most recent matching operation touched the * Return TRUE if the most recent matching operation touched the
* end of the text being processed. In this case, additional input text could * end of the text being processed. In this case, additional input text could
* change the results of that match. * change the results of that match.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @return TRUE if the most recent match hit the end of input * @return TRUE if the most recent match hit the end of input
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT UBool U_EXPORT2 U_STABLE UBool U_EXPORT2
uregex_hitEnd(const URegularExpression *regexp, uregex_hitEnd(const URegularExpression *regexp,
UErrorCode *status); UErrorCode *status);
/** /**
* Return TRUE the most recent match succeeded and additional input could cause * Return TRUE the most recent match succeeded and additional input could cause
* it to fail. If this function returns false and a match was found, then more input * it to fail. If this function returns false and a match was found, then more input
* might change the match but the match won't be lost. If a match was not found, * might change the match but the match won't be lost. If a match was not found,
* then requireEnd has no meaning. * then requireEnd has no meaning.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param status A pointer to a UErrorCode to receive any errors. * @param status A pointer to a UErrorCode to receive any errors.
* @return TRUE if more input could cause the most recent match to no lon ger match. * @return TRUE if more input could cause the most recent match to no lon ger match.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT UBool U_EXPORT2 U_STABLE UBool U_EXPORT2
uregex_requireEnd(const URegularExpression *regexp, uregex_requireEnd(const URegularExpression *regexp,
UErrorCode *status); UErrorCode *status);
/** /**
* Replaces every substring of the input that matches the pattern * Replaces every substring of the input that matches the pattern
* with the given replacement string. This is a convenience function t hat * with the given replacement string. This is a convenience function t hat
* provides a complete find-and-replace-all operation. * provides a complete find-and-replace-all operation.
* *
* This method scans the input string looking for matches of the patter n. * This method scans the input string looking for matches of the patter n.
* Input that is not part of any match is copied unchanged to the * Input that is not part of any match is copied unchanged to the
skipping to change at line 664 skipping to change at line 780
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_replaceAll(URegularExpression *regexp, uregex_replaceAll(URegularExpression *regexp,
const UChar *replacementText, const UChar *replacementText,
int32_t replacementLength, int32_t replacementLength,
UChar *destBuf, UChar *destBuf,
int32_t destCapacity, int32_t destCapacity,
UErrorCode *status); UErrorCode *status);
/** /**
* Replaces every substring of the input that matches the pattern
* with the given replacement string. This is a convenience function t
hat
* provides a complete find-and-replace-all operation.
*
* This method scans the input string looking for matches of the patter
n.
* Input that is not part of any match is copied unchanged to the
* destination buffer. Matched regions are replaced in the output
* buffer by the replacement string. The replacement string may conta
in
* references to capture groups; these take the form of $1, $2, etc.
*
* @param regexp The compiled regular expression.
* @param replacement A string containing the replacement text.
* @param dest A mutable UText that will receive the result
.
* If NULL, a new UText will be created (which
may not be mutable).
* @param status A reference to a UErrorCode to receive any e
rrors.
* @return A UText containing the results of the find a
nd replace.
* If a pre-allocated UText was provided, it w
ill always be used and returned.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL UText * U_EXPORT2
uregex_replaceAllUText(URegularExpression *regexp,
UText *replacement,
UText *dest,
UErrorCode *status);
/**
* Replaces the first substring of the input that matches the pattern * Replaces the first substring of the input that matches the pattern
* with the given replacement string. This is a convenience function t hat * with the given replacement string. This is a convenience function t hat
* provides a complete find-and-replace operation. * provides a complete find-and-replace operation.
* *
* This method scans the input string looking for a match of the patter n. * This method scans the input string looking for a match of the patter n.
* All input that is not part of the match is copied unchanged to the * All input that is not part of the match is copied unchanged to the
* destination buffer. The matched region is replaced in the output * destination buffer. The matched region is replaced in the output
* buffer by the replacement string. The replacement string may conta in * buffer by the replacement string. The replacement string may conta in
* references to capture groups; these take the form of $1, $2, etc. * references to capture groups; these take the form of $1, $2, etc.
* *
skipping to change at line 696 skipping to change at line 839
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_replaceFirst(URegularExpression *regexp, uregex_replaceFirst(URegularExpression *regexp,
const UChar *replacementText, const UChar *replacementText,
int32_t replacementLength, int32_t replacementLength,
UChar *destBuf, UChar *destBuf,
int32_t destCapacity, int32_t destCapacity,
UErrorCode *status); UErrorCode *status);
/** /**
* Replaces the first substring of the input that matches the pattern
* with the given replacement string. This is a convenience function t
hat
* provides a complete find-and-replace operation.
*
* This method scans the input string looking for a match of the patter
n.
* All input that is not part of the match is copied unchanged to the
* destination buffer. The matched region is replaced in the output
* buffer by the replacement string. The replacement string may conta
in
* references to capture groups; these take the form of $1, $2, etc.
*
* @param regexp The compiled regular expression.
* @param replacement A string containing the replacement text.
* @param dest A mutable UText that will receive the result
.
* If NULL, a new UText will be created (which
may not be mutable).
* @param status A reference to a UErrorCode to receive any e
rrors.
* @return A UText containing the results of the find a
nd replace.
* If a pre-allocated UText was provided, it w
ill always be used and returned.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL UText * U_EXPORT2
uregex_replaceFirstUText(URegularExpression *regexp,
UText *replacement,
UText *dest,
UErrorCode *status);
/**
* Implements a replace operation intended to be used as part of an * Implements a replace operation intended to be used as part of an
* incremental find-and-replace. * incremental find-and-replace.
* *
* <p>The input string, starting from the end of the previous match and ending at * <p>The input string, starting from the end of the previous match and ending at
* the start of the current match, is appended to the destination string . Then the * the start of the current match, is appended to the destination string . Then the
* replacement string is appended to the output string, * replacement string is appended to the output string,
* including handling any substitutions of captured text.</p> * including handling any substitutions of captured text.</p>
* *
* <p>A note on preflight computation of buffersize and error handling: * <p>A note on preflight computation of buffersize and error handling:
* Calls to uregex_appendReplacement() and uregex_appendTail() are * Calls to uregex_appendReplacement() and uregex_appendTail() are
skipping to change at line 743 skipping to change at line 913
* @param status A reference to a UErrorCode to receive any error s. * @param status A reference to a UErrorCode to receive any error s.
* @return The length of the result string. In the event t hat * @return The length of the result string. In the event t hat
* destCapacity is inadequate, the full length of t he * destCapacity is inadequate, the full length of t he
* untruncated output string is returned. * untruncated output string is returned.
* *
* @stable ICU 3.0 * @stable ICU 3.0
* *
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_appendReplacement(URegularExpression *regexp, uregex_appendReplacement(URegularExpression *regexp,
const UChar *replacementText, const UChar *replacementText,
int32_t replacementLength, int32_t replacementLength,
UChar **destBuf, UChar **destBuf,
int32_t *destCapacity, int32_t *destCapacity,
UErrorCode *status); UErrorCode *status);
/**
* Implements a replace operation intended to be used as part of an
* incremental find-and-replace.
*
* <p>The input string, starting from the end of the previous match and
ending at
* the start of the current match, is appended to the destination string
. Then the
* replacement string is appended to the output string,
* including handling any substitutions of captured text.</p>
*
* <p>For simple, prepackaged, non-incremental find-and-replace
* operations, see replaceFirst() or replaceAll().</p>
*
* @param regexp The regular expression object.
* @param replacementText The string that will replace the matched por
tion of the
* input string as it is copied to the destination
buffer.
* The replacement text may contain references ($1,
for
* example) to capture groups from the match.
* @param dest A mutable UText that will receive the result. Mu
st not be NULL.
* @param status A reference to a UErrorCode to receive any error
s.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL void U_EXPORT2
uregex_appendReplacementUText(URegularExpression *regexp,
UText *replacementText,
UText *dest,
UErrorCode *status);
/** /**
* As the final step in a find-and-replace operation, append the remainder * As the final step in a find-and-replace operation, append the remainder
* of the input string, starting at the position following the last match, * of the input string, starting at the position following the last match,
* to the destination string. <code>uregex_appendTail()</code> is intended * to the destination string. <code>uregex_appendTail()</code> is intended
* to be invoked after one or more invocations of the * to be invoked after one or more invocations of the
* <code>uregex_appendReplacement()</code> function. * <code>uregex_appendReplacement()</code> function.
* *
* @param regexp The regular expression object. This is needed t o * @param regexp The regular expression object. This is needed t o
* obtain the input string and with the position * obtain the input string and with the position
skipping to change at line 779 skipping to change at line 977
* untruncated output string is returned. * untruncated output string is returned.
* *
* @stable ICU 3.0 * @stable ICU 3.0
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_appendTail(URegularExpression *regexp, uregex_appendTail(URegularExpression *regexp,
UChar **destBuf, UChar **destBuf,
int32_t *destCapacity, int32_t *destCapacity,
UErrorCode *status); UErrorCode *status);
/**
* As the final step in a find-and-replace operation, append the remainder
* of the input string, starting at the position following the last match,
* to the destination string. <code>uregex_appendTailUText()</code> is int
ended
* to be invoked after one or more invocations of the
* <code>uregex_appendReplacementUText()</code> function.
*
* @param regexp The regular expression object. This is needed t
o
* obtain the input string and with the position
* of the last match within it.
* @param dest A mutable UText that will receive the result. Mu
st not be NULL.
* @return The destination UText.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL UText * U_EXPORT2
uregex_appendTailUText(URegularExpression *regexp,
UText *dest);
/** /**
* Split a string into fields. Somewhat like split() from Perl. * Split a string into fields. Somewhat like split() from Perl.
* The pattern matches identify delimiters that separate the input * The pattern matches identify delimiters that separate the input
* into fields. The input data between the matches becomes the * into fields. The input data between the matches becomes the
* fields themselves. * fields themselves.
* <p> * <p>
* Each of the fields is copied from the input string to the destination * Each of the fields is copied from the input string to the destination
* buffer, and NUL terminated. The position of each field within * buffer, and NUL terminated. The position of each field within
* the destination buffer is returned in the destFields array. * the destination buffer is returned in the destFields array.
* *
* Note: another choice for the design of this function would be to not
* copy the resulting fields at all, but to return indexes and
* lengths within the source text.
* Advantages would be
* o Faster. No Copying.
* o Nothing extra needed when field data may contain embedd
ed NUL chars.
* o Less memory needed if working on large data.
* Disadvantages
* o Less consistent with C++ split, which copies into an
* array of UnicodeStrings.
* o No NUL termination, extracted fields would be less conv
enient
* to use in most cases.
* o Possible problems in the future, when support Unicode N
ormalization
* could cause the fields to not correspond exactly to
* a range of the source text.
*
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param destBuf A (UChar *) buffer to receive the fields that * @param destBuf A (UChar *) buffer to receive the fields that
* are extracted from the input string. These * are extracted from the input string. These
* field pointers will refer to positions within the * field pointers will refer to positions within the
* destination buffer supplied by the caller. An y * destination buffer supplied by the caller. An y
* extra positions within the destFields array wi ll be * extra positions within the destFields array wi ll be
* set to NULL. * set to NULL.
* @param destCapacity The capacity of the destBuf. * @param destCapacity The capacity of the destBuf.
* @param requiredCapacity The actual capacity required of the dest Buf. * @param requiredCapacity The actual capacity required of the dest Buf.
* If destCapacity is too small, requiredCapacity will return * If destCapacity is too small, requiredCapacity will return
skipping to change at line 826 skipping to change at line 1059
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_split( URegularExpression *regexp, uregex_split( URegularExpression *regexp,
UChar *destBuf, UChar *destBuf,
int32_t destCapacity, int32_t destCapacity,
int32_t *requiredCapacity, int32_t *requiredCapacity,
UChar *destFields[], UChar *destFields[],
int32_t destFieldsCapacity, int32_t destFieldsCapacity,
UErrorCode *status); UErrorCode *status);
/**
* Split a string into fields. Somewhat like split() from Perl.
* The pattern matches identify delimiters that separate the input
* into fields. The input data between the matches becomes the
* fields themselves.
* <p>
* The behavior of this function is not very closely aligned with uregex_
split();
* instead, it is based on (and implemented directly on top of) the C++ s
plit method.
*
* @param regexp The compiled regular expression.
* @param destFields An array of mutable UText structs to receive the
results of the split.
* If a field is NULL, a new UText is allocated to contain
the results for
* that field. This new UText is not guaranteed to be muta
ble.
* @param destFieldsCapacity The number of elements in the destination a
rray.
* If the number of fields found is less than destCapacity
, the
* extra strings in the destination array are not altered.
* If the number of destination strings is less than the n
umber
* of fields, the trailing part of the input string, inclu
ding any
* field delimiters, is placed in the last destination str
ing.
* This behavior mimics that of Perl. It is not an error
condition, and no
* error status is returned when all destField positions a
re used.
* @param status A reference to a UErrorCode to receive any errors.
* @return The number of fields into which the input string was sp
lit.
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL int32_t U_EXPORT2
uregex_splitUText(URegularExpression *regexp,
UText *destFields[],
int32_t destFieldsCapacity,
UErrorCode *status);
/** /**
* Set a processing time limit for match operations with this URegularExpre ssion. * Set a processing time limit for match operations with this URegularExpre ssion.
* *
* Some patterns, when matching certain strings, can run in exponential tim e. * Some patterns, when matching certain strings, can run in exponential tim e.
* For practical purposes, the match operation may appear to be in an * For practical purposes, the match operation may appear to be in an
* infinite loop. * infinite loop.
* When a limit is set a match operation will fail with an error if the * When a limit is set a match operation will fail with an error if the
* limit is exceeded. * limit is exceeded.
* <p> * <p>
* The units of the limit are steps of the match engine. * The units of the limit are steps of the match engine.
skipping to change at line 848 skipping to change at line 1113
* typically be on the order of milliseconds. * typically be on the order of milliseconds.
* <p> * <p>
* By default, the matching time is not limited. * By default, the matching time is not limited.
* <p> * <p>
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param limit The limit value, or 0 for no limit. * @param limit The limit value, or 0 for no limit.
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
uregex_setTimeLimit(URegularExpression *regexp, uregex_setTimeLimit(URegularExpression *regexp,
int32_t limit, int32_t limit,
UErrorCode *status); UErrorCode *status);
/** /**
* Get the time limit for for matches with this URegularExpression. * Get the time limit for for matches with this URegularExpression.
* A return value of zero indicates that there is no limit. * A return value of zero indicates that there is no limit.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @return the maximum allowed time for a match, in units of processing ste ps. * @return the maximum allowed time for a match, in units of processing ste ps.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_getTimeLimit(const URegularExpression *regexp, uregex_getTimeLimit(const URegularExpression *regexp,
UErrorCode *status); UErrorCode *status);
/** /**
* Set the amount of heap storage avaliable for use by the match backtracki ng stack. * Set the amount of heap storage avaliable for use by the match backtracki ng stack.
* <p> * <p>
* ICU uses a backtracking regular expression engine, with the backtrack st ack * ICU uses a backtracking regular expression engine, with the backtrack st ack
* maintained on the heap. This function sets the limit to the amount of m emory * maintained on the heap. This function sets the limit to the amount of m emory
* that can be used for this purpose. A backtracking stack overflow will * that can be used for this purpose. A backtracking stack overflow will
* result in an error from the match operation that caused it. * result in an error from the match operation that caused it.
skipping to change at line 886 skipping to change at line 1151
* by default. * by default.
* <p> * <p>
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param limit The maximum size, in bytes, of the matching backtra ck stack. * @param limit The maximum size, in bytes, of the matching backtra ck stack.
* A value of -1 means no limit. * A value of -1 means no limit.
* The limit must be greater than zero, or -1. * The limit must be greater than zero, or -1.
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* *
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
uregex_setStackLimit(URegularExpression *regexp, uregex_setStackLimit(URegularExpression *regexp,
int32_t limit, int32_t limit,
UErrorCode *status); UErrorCode *status);
/** /**
* Get the size of the heap storage available for use by the back tracking stack. * Get the size of the heap storage available for use by the back tracking stack.
* *
* @return the maximum backtracking stack size, in bytes, or zero if the * @return the maximum backtracking stack size, in bytes, or zero if the
* stack size is unlimited. * stack size is unlimited.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uregex_getStackLimit(const URegularExpression *regexp, uregex_getStackLimit(const URegularExpression *regexp,
UErrorCode *status); UErrorCode *status);
/** /**
* Function pointer for a regular expression matching callback function. * Function pointer for a regular expression matching callback function.
* When set, a callback function will be called periodically during matchin g * When set, a callback function will be called periodically during matchin g
* operations. If the call back function returns FALSE, the matching * operations. If the call back function returns FALSE, the matching
* operation will be terminated early. * operation will be terminated early.
* *
* Note: the callback function must not call other functions on this * Note: the callback function must not call other functions on this
skipping to change at line 940 skipping to change at line 1205
* match. * match.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param callback A pointer to the user-supplied callback function. * @param callback A pointer to the user-supplied callback function.
* @param context User context pointer. The value supplied at the * @param context User context pointer. The value supplied at the
* time the callback function is set will be saved * time the callback function is set will be saved
* and passed to the callback each time that it is cal led. * and passed to the callback each time that it is cal led.
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
uregex_setMatchCallback(URegularExpression *regexp, uregex_setMatchCallback(URegularExpression *regexp,
URegexMatchCallback *callback, URegexMatchCallback *callback,
const void *context, const void *context,
UErrorCode *status); UErrorCode *status);
/** /**
* Get the callback function for this URegularExpression. * Get the callback function for this URegularExpression.
* *
* @param regexp The compiled regular expression. * @param regexp The compiled regular expression.
* @param callback Out paramater, receives a pointer to the user-suppl ied * @param callback Out paramater, receives a pointer to the user-suppl ied
* callback function. * callback function.
* @param context Out parameter, receives the user context pointer th at * @param context Out parameter, receives the user context pointer th at
* was set when uregex_setMatchCallback() was called. * was set when uregex_setMatchCallback() was called.
* @param status A reference to a UErrorCode to receive any errors. * @param status A reference to a UErrorCode to receive any errors.
* @stable ICU 4.0 * @stable ICU 4.0
*/ */
U_DRAFT void U_EXPORT2 U_STABLE void U_EXPORT2
uregex_getMatchCallback(const URegularExpression *regexp, uregex_getMatchCallback(const URegularExpression *regexp,
URegexMatchCallback **callback, URegexMatchCallback **callback,
const void **context, const void **context,
UErrorCode *status); UErrorCode *status);
#endif /* !UCONFIG_NO_REGULAR_EXPRESSIONS */ #endif /* !UCONFIG_NO_REGULAR_EXPRESSIONS */
#endif /* UREGEX_H */ #endif /* UREGEX_H */
 End of changes. 34 change blocks. 
31 lines changed or deleted 371 lines changed or added


 urename.h   urename.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2002-2009, International Business Machines * Copyright (C) 2002-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: urename.h * file name: urename.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: Perl script written by Vladimir Weinstein * Created by: Perl script written by Vladimir Weinstein
* *
skipping to change at line 50 skipping to change at line 50
#include "unicode/uvernum.h" #include "unicode/uvernum.h"
#endif #endif
/* Error out before the following defines cause very strange and unexpected code breakage */ /* Error out before the following defines cause very strange and unexpected code breakage */
#ifndef U_ICU_ENTRY_POINT_RENAME #ifndef U_ICU_ENTRY_POINT_RENAME
#error U_ICU_ENTRY_POINT_RENAME is not defined - cannot continue. Consider defining U_DISABLE_RENAMING if renaming should not be used. #error U_ICU_ENTRY_POINT_RENAME is not defined - cannot continue. Consider defining U_DISABLE_RENAMING if renaming should not be used.
#endif #endif
/* C exports renaming data */ /* C exports renaming data */
#define DECPOWERS U_ICU_ENTRY_POINT_RENAME(DECPOWERS)
#define DECSTICKYTAB U_ICU_ENTRY_POINT_RENAME(DECSTICKYTAB)
#define LNnn U_ICU_ENTRY_POINT_RENAME(LNnn)
#define T_CString_int64ToString U_ICU_ENTRY_POINT_RENAME(T_CString_int64ToS tring) #define T_CString_int64ToString U_ICU_ENTRY_POINT_RENAME(T_CString_int64ToS tring)
#define T_CString_integerToString U_ICU_ENTRY_POINT_RENAME(T_CString_intege rToString) #define T_CString_integerToString U_ICU_ENTRY_POINT_RENAME(T_CString_intege rToString)
#define T_CString_stricmp U_ICU_ENTRY_POINT_RENAME(T_CString_stricmp) #define T_CString_stricmp U_ICU_ENTRY_POINT_RENAME(T_CString_stricmp)
#define T_CString_stringToInteger U_ICU_ENTRY_POINT_RENAME(T_CString_string ToInteger) #define T_CString_stringToInteger U_ICU_ENTRY_POINT_RENAME(T_CString_string ToInteger)
#define T_CString_strnicmp U_ICU_ENTRY_POINT_RENAME(T_CString_strnicmp) #define T_CString_strnicmp U_ICU_ENTRY_POINT_RENAME(T_CString_strnicmp)
#define T_CString_toLowerCase U_ICU_ENTRY_POINT_RENAME(T_CString_toLowerCas e) #define T_CString_toLowerCase U_ICU_ENTRY_POINT_RENAME(T_CString_toLowerCas e)
#define T_CString_toUpperCase U_ICU_ENTRY_POINT_RENAME(T_CString_toUpperCas e) #define T_CString_toUpperCase U_ICU_ENTRY_POINT_RENAME(T_CString_toUpperCas e)
#define UCNV_FROM_U_CALLBACK_ESCAPE U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CA LLBACK_ESCAPE) #define UCNV_FROM_U_CALLBACK_ESCAPE U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CA LLBACK_ESCAPE)
#define UCNV_FROM_U_CALLBACK_SKIP U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALL BACK_SKIP) #define UCNV_FROM_U_CALLBACK_SKIP U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALL BACK_SKIP)
#define UCNV_FROM_U_CALLBACK_STOP U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALL BACK_STOP) #define UCNV_FROM_U_CALLBACK_STOP U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALL BACK_STOP)
skipping to change at line 110 skipping to change at line 113
#define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data) #define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data)
#define bms_close U_ICU_ENTRY_POINT_RENAME(bms_close) #define bms_close U_ICU_ENTRY_POINT_RENAME(bms_close)
#define bms_empty U_ICU_ENTRY_POINT_RENAME(bms_empty) #define bms_empty U_ICU_ENTRY_POINT_RENAME(bms_empty)
#define bms_getData U_ICU_ENTRY_POINT_RENAME(bms_getData) #define bms_getData U_ICU_ENTRY_POINT_RENAME(bms_getData)
#define bms_open U_ICU_ENTRY_POINT_RENAME(bms_open) #define bms_open U_ICU_ENTRY_POINT_RENAME(bms_open)
#define bms_search U_ICU_ENTRY_POINT_RENAME(bms_search) #define bms_search U_ICU_ENTRY_POINT_RENAME(bms_search)
#define bms_setTargetString U_ICU_ENTRY_POINT_RENAME(bms_setTargetString) #define bms_setTargetString U_ICU_ENTRY_POINT_RENAME(bms_setTargetString)
#define buildWSConfusableData U_ICU_ENTRY_POINT_RENAME(buildWSConfusableDat a) #define buildWSConfusableData U_ICU_ENTRY_POINT_RENAME(buildWSConfusableDat a)
#define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup) #define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup)
#define cmemory_inUse U_ICU_ENTRY_POINT_RENAME(cmemory_inUse) #define cmemory_inUse U_ICU_ENTRY_POINT_RENAME(cmemory_inUse)
#define decimfmtAffixPatternValueComparator U_ICU_ENTRY_POINT_RENAME(decimf #define d2utable U_ICU_ENTRY_POINT_RENAME(d2utable)
mtAffixPatternValueComparator)
#define decimfmtAffixValueComparator U_ICU_ENTRY_POINT_RENAME(decimfmtAffix
ValueComparator)
#define deleteCEList U_ICU_ENTRY_POINT_RENAME(deleteCEList) #define deleteCEList U_ICU_ENTRY_POINT_RENAME(deleteCEList)
#define deleteChars U_ICU_ENTRY_POINT_RENAME(deleteChars) #define deleteChars U_ICU_ENTRY_POINT_RENAME(deleteChars)
#define deleteCollDataCacheEntry U_ICU_ENTRY_POINT_RENAME(deleteCollDataCac heEntry) #define deleteCollDataCacheEntry U_ICU_ENTRY_POINT_RENAME(deleteCollDataCac heEntry)
#define deleteStringList U_ICU_ENTRY_POINT_RENAME(deleteStringList) #define deleteStringList U_ICU_ENTRY_POINT_RENAME(deleteStringList)
#define deleteUnicodeStringKey U_ICU_ENTRY_POINT_RENAME(deleteUnicodeString Key) #define deleteUnicodeStringKey U_ICU_ENTRY_POINT_RENAME(deleteUnicodeString Key)
#define dtitvinfHashTableValueComparator U_ICU_ENTRY_POINT_RENAME(dtitvinfH #define izrule_clone U_ICU_ENTRY_POINT_RENAME(izrule_clone)
ashTableValueComparator) #define izrule_close U_ICU_ENTRY_POINT_RENAME(izrule_close)
#define izrule_equals U_ICU_ENTRY_POINT_RENAME(izrule_equals)
#define izrule_getDSTSavings U_ICU_ENTRY_POINT_RENAME(izrule_getDSTSavings)
#define izrule_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(izrule_getDynamic
ClassID)
#define izrule_getFinalStart U_ICU_ENTRY_POINT_RENAME(izrule_getFinalStart)
#define izrule_getFirstStart U_ICU_ENTRY_POINT_RENAME(izrule_getFirstStart)
#define izrule_getName U_ICU_ENTRY_POINT_RENAME(izrule_getName)
#define izrule_getNextStart U_ICU_ENTRY_POINT_RENAME(izrule_getNextStart)
#define izrule_getPreviousStart U_ICU_ENTRY_POINT_RENAME(izrule_getPrevious
Start)
#define izrule_getRawOffset U_ICU_ENTRY_POINT_RENAME(izrule_getRawOffset)
#define izrule_getStaticClassID U_ICU_ENTRY_POINT_RENAME(izrule_getStaticCl
assID)
#define izrule_isEquivalentTo U_ICU_ENTRY_POINT_RENAME(izrule_isEquivalentT
o)
#define izrule_open U_ICU_ENTRY_POINT_RENAME(izrule_open)
#define le_close U_ICU_ENTRY_POINT_RENAME(le_close) #define le_close U_ICU_ENTRY_POINT_RENAME(le_close)
#define le_create U_ICU_ENTRY_POINT_RENAME(le_create) #define le_create U_ICU_ENTRY_POINT_RENAME(le_create)
#define le_getCharIndices U_ICU_ENTRY_POINT_RENAME(le_getCharIndices) #define le_getCharIndices U_ICU_ENTRY_POINT_RENAME(le_getCharIndices)
#define le_getCharIndicesWithBase U_ICU_ENTRY_POINT_RENAME(le_getCharIndice sWithBase) #define le_getCharIndicesWithBase U_ICU_ENTRY_POINT_RENAME(le_getCharIndice sWithBase)
#define le_getGlyphCount U_ICU_ENTRY_POINT_RENAME(le_getGlyphCount) #define le_getGlyphCount U_ICU_ENTRY_POINT_RENAME(le_getGlyphCount)
#define le_getGlyphPosition U_ICU_ENTRY_POINT_RENAME(le_getGlyphPosition) #define le_getGlyphPosition U_ICU_ENTRY_POINT_RENAME(le_getGlyphPosition)
#define le_getGlyphPositions U_ICU_ENTRY_POINT_RENAME(le_getGlyphPositions) #define le_getGlyphPositions U_ICU_ENTRY_POINT_RENAME(le_getGlyphPositions)
#define le_getGlyphs U_ICU_ENTRY_POINT_RENAME(le_getGlyphs) #define le_getGlyphs U_ICU_ENTRY_POINT_RENAME(le_getGlyphs)
#define le_layoutChars U_ICU_ENTRY_POINT_RENAME(le_layoutChars) #define le_layoutChars U_ICU_ENTRY_POINT_RENAME(le_layoutChars)
#define le_reset U_ICU_ENTRY_POINT_RENAME(le_reset) #define le_reset U_ICU_ENTRY_POINT_RENAME(le_reset)
skipping to change at line 198 skipping to change at line 213
#define res_getBinary U_ICU_ENTRY_POINT_RENAME(res_getBinary) #define res_getBinary U_ICU_ENTRY_POINT_RENAME(res_getBinary)
#define res_getIntVector U_ICU_ENTRY_POINT_RENAME(res_getIntVector) #define res_getIntVector U_ICU_ENTRY_POINT_RENAME(res_getIntVector)
#define res_getPublicType U_ICU_ENTRY_POINT_RENAME(res_getPublicType) #define res_getPublicType U_ICU_ENTRY_POINT_RENAME(res_getPublicType)
#define res_getResource U_ICU_ENTRY_POINT_RENAME(res_getResource) #define res_getResource U_ICU_ENTRY_POINT_RENAME(res_getResource)
#define res_getString U_ICU_ENTRY_POINT_RENAME(res_getString) #define res_getString U_ICU_ENTRY_POINT_RENAME(res_getString)
#define res_getTableItemByIndex U_ICU_ENTRY_POINT_RENAME(res_getTableItemBy Index) #define res_getTableItemByIndex U_ICU_ENTRY_POINT_RENAME(res_getTableItemBy Index)
#define res_getTableItemByKey U_ICU_ENTRY_POINT_RENAME(res_getTableItemByKe y) #define res_getTableItemByKey U_ICU_ENTRY_POINT_RENAME(res_getTableItemByKe y)
#define res_load U_ICU_ENTRY_POINT_RENAME(res_load) #define res_load U_ICU_ENTRY_POINT_RENAME(res_load)
#define res_read U_ICU_ENTRY_POINT_RENAME(res_read) #define res_read U_ICU_ENTRY_POINT_RENAME(res_read)
#define res_unload U_ICU_ENTRY_POINT_RENAME(res_unload) #define res_unload U_ICU_ENTRY_POINT_RENAME(res_unload)
#define spacesRelativeToTextBeginEnd U_ICU_ENTRY_POINT_RENAME(spacesRelativ
eToTextBeginEnd)
#define tailChar U_ICU_ENTRY_POINT_RENAME(tailChar)
#define tmutfmtHashTableValueComparator U_ICU_ENTRY_POINT_RENAME(tmutfmtHas
hTableValueComparator)
#define triedict_swap U_ICU_ENTRY_POINT_RENAME(triedict_swap) #define triedict_swap U_ICU_ENTRY_POINT_RENAME(triedict_swap)
#define uShapeLamalefBegin U_ICU_ENTRY_POINT_RENAME(uShapeLamalefBegin)
#define uShapeLamalefEnd U_ICU_ENTRY_POINT_RENAME(uShapeLamalefEnd)
#define uShapeTashkeelBegin U_ICU_ENTRY_POINT_RENAME(uShapeTashkeelBegin)
#define uShapeTashkeelEnd U_ICU_ENTRY_POINT_RENAME(uShapeTashkeelEnd)
#define u_UCharsToChars U_ICU_ENTRY_POINT_RENAME(u_UCharsToChars) #define u_UCharsToChars U_ICU_ENTRY_POINT_RENAME(u_UCharsToChars)
#define u_austrcpy U_ICU_ENTRY_POINT_RENAME(u_austrcpy) #define u_austrcpy U_ICU_ENTRY_POINT_RENAME(u_austrcpy)
#define u_austrncpy U_ICU_ENTRY_POINT_RENAME(u_austrncpy) #define u_austrncpy U_ICU_ENTRY_POINT_RENAME(u_austrncpy)
#define u_catclose U_ICU_ENTRY_POINT_RENAME(u_catclose) #define u_catclose U_ICU_ENTRY_POINT_RENAME(u_catclose)
#define u_catgets U_ICU_ENTRY_POINT_RENAME(u_catgets) #define u_catgets U_ICU_ENTRY_POINT_RENAME(u_catgets)
#define u_catopen U_ICU_ENTRY_POINT_RENAME(u_catopen) #define u_catopen U_ICU_ENTRY_POINT_RENAME(u_catopen)
#define u_charAge U_ICU_ENTRY_POINT_RENAME(u_charAge) #define u_charAge U_ICU_ENTRY_POINT_RENAME(u_charAge)
#define u_charDigitValue U_ICU_ENTRY_POINT_RENAME(u_charDigitValue) #define u_charDigitValue U_ICU_ENTRY_POINT_RENAME(u_charDigitValue)
#define u_charDirection U_ICU_ENTRY_POINT_RENAME(u_charDirection) #define u_charDirection U_ICU_ENTRY_POINT_RENAME(u_charDirection)
#define u_charFromName U_ICU_ENTRY_POINT_RENAME(u_charFromName) #define u_charFromName U_ICU_ENTRY_POINT_RENAME(u_charFromName)
#define u_charMirror U_ICU_ENTRY_POINT_RENAME(u_charMirror) #define u_charMirror U_ICU_ENTRY_POINT_RENAME(u_charMirror)
#define u_charName U_ICU_ENTRY_POINT_RENAME(u_charName) #define u_charName U_ICU_ENTRY_POINT_RENAME(u_charName)
#define u_charType U_ICU_ENTRY_POINT_RENAME(u_charType) #define u_charType U_ICU_ENTRY_POINT_RENAME(u_charType)
#define u_charsToUChars U_ICU_ENTRY_POINT_RENAME(u_charsToUChars) #define u_charsToUChars U_ICU_ENTRY_POINT_RENAME(u_charsToUChars)
#define u_cleanup U_ICU_ENTRY_POINT_RENAME(u_cleanup) #define u_cleanup U_ICU_ENTRY_POINT_RENAME(u_cleanup)
#define u_countChar32 U_ICU_ENTRY_POINT_RENAME(u_countChar32) #define u_countChar32 U_ICU_ENTRY_POINT_RENAME(u_countChar32)
#define u_digit U_ICU_ENTRY_POINT_RENAME(u_digit) #define u_digit U_ICU_ENTRY_POINT_RENAME(u_digit)
#define u_enumCharNames U_ICU_ENTRY_POINT_RENAME(u_enumCharNames) #define u_enumCharNames U_ICU_ENTRY_POINT_RENAME(u_enumCharNames)
#define u_enumCharTypes U_ICU_ENTRY_POINT_RENAME(u_enumCharTypes) #define u_enumCharTypes U_ICU_ENTRY_POINT_RENAME(u_enumCharTypes)
#define u_errorName U_ICU_ENTRY_POINT_RENAME(u_errorName) #define u_errorName U_ICU_ENTRY_POINT_RENAME(u_errorName)
#define u_fadopt U_ICU_ENTRY_POINT_RENAME(u_fadopt)
#define u_fclose U_ICU_ENTRY_POINT_RENAME(u_fclose) #define u_fclose U_ICU_ENTRY_POINT_RENAME(u_fclose)
#define u_feof U_ICU_ENTRY_POINT_RENAME(u_feof) #define u_feof U_ICU_ENTRY_POINT_RENAME(u_feof)
#define u_fflush U_ICU_ENTRY_POINT_RENAME(u_fflush) #define u_fflush U_ICU_ENTRY_POINT_RENAME(u_fflush)
#define u_fgetConverter U_ICU_ENTRY_POINT_RENAME(u_fgetConverter) #define u_fgetConverter U_ICU_ENTRY_POINT_RENAME(u_fgetConverter)
#define u_fgetc U_ICU_ENTRY_POINT_RENAME(u_fgetc) #define u_fgetc U_ICU_ENTRY_POINT_RENAME(u_fgetc)
#define u_fgetcodepage U_ICU_ENTRY_POINT_RENAME(u_fgetcodepage) #define u_fgetcodepage U_ICU_ENTRY_POINT_RENAME(u_fgetcodepage)
#define u_fgetcx U_ICU_ENTRY_POINT_RENAME(u_fgetcx) #define u_fgetcx U_ICU_ENTRY_POINT_RENAME(u_fgetcx)
#define u_fgetfile U_ICU_ENTRY_POINT_RENAME(u_fgetfile) #define u_fgetfile U_ICU_ENTRY_POINT_RENAME(u_fgetfile)
#define u_fgetlocale U_ICU_ENTRY_POINT_RENAME(u_fgetlocale) #define u_fgetlocale U_ICU_ENTRY_POINT_RENAME(u_fgetlocale)
#define u_fgets U_ICU_ENTRY_POINT_RENAME(u_fgets) #define u_fgets U_ICU_ENTRY_POINT_RENAME(u_fgets)
skipping to change at line 274 skipping to change at line 283
#define u_getIntPropertyMinValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyM inValue) #define u_getIntPropertyMinValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyM inValue)
#define u_getIntPropertyValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyValu e) #define u_getIntPropertyValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyValu e)
#define u_getNumericValue U_ICU_ENTRY_POINT_RENAME(u_getNumericValue) #define u_getNumericValue U_ICU_ENTRY_POINT_RENAME(u_getNumericValue)
#define u_getPropertyEnum U_ICU_ENTRY_POINT_RENAME(u_getPropertyEnum) #define u_getPropertyEnum U_ICU_ENTRY_POINT_RENAME(u_getPropertyEnum)
#define u_getPropertyName U_ICU_ENTRY_POINT_RENAME(u_getPropertyName) #define u_getPropertyName U_ICU_ENTRY_POINT_RENAME(u_getPropertyName)
#define u_getPropertyValueEnum U_ICU_ENTRY_POINT_RENAME(u_getPropertyValueE num) #define u_getPropertyValueEnum U_ICU_ENTRY_POINT_RENAME(u_getPropertyValueE num)
#define u_getPropertyValueName U_ICU_ENTRY_POINT_RENAME(u_getPropertyValueN ame) #define u_getPropertyValueName U_ICU_ENTRY_POINT_RENAME(u_getPropertyValueN ame)
#define u_getUnicodeProperties U_ICU_ENTRY_POINT_RENAME(u_getUnicodePropert ies) #define u_getUnicodeProperties U_ICU_ENTRY_POINT_RENAME(u_getUnicodePropert ies)
#define u_getUnicodeVersion U_ICU_ENTRY_POINT_RENAME(u_getUnicodeVersion) #define u_getUnicodeVersion U_ICU_ENTRY_POINT_RENAME(u_getUnicodeVersion)
#define u_getVersion U_ICU_ENTRY_POINT_RENAME(u_getVersion) #define u_getVersion U_ICU_ENTRY_POINT_RENAME(u_getVersion)
#define u_growBufferFromStatic U_ICU_ENTRY_POINT_RENAME(u_growBufferFromSta tic)
#define u_hasBinaryProperty U_ICU_ENTRY_POINT_RENAME(u_hasBinaryProperty) #define u_hasBinaryProperty U_ICU_ENTRY_POINT_RENAME(u_hasBinaryProperty)
#define u_init U_ICU_ENTRY_POINT_RENAME(u_init) #define u_init U_ICU_ENTRY_POINT_RENAME(u_init)
#define u_isDataOlder U_ICU_ENTRY_POINT_RENAME(u_isDataOlder) #define u_isDataOlder U_ICU_ENTRY_POINT_RENAME(u_isDataOlder)
#define u_isIDIgnorable U_ICU_ENTRY_POINT_RENAME(u_isIDIgnorable) #define u_isIDIgnorable U_ICU_ENTRY_POINT_RENAME(u_isIDIgnorable)
#define u_isIDPart U_ICU_ENTRY_POINT_RENAME(u_isIDPart) #define u_isIDPart U_ICU_ENTRY_POINT_RENAME(u_isIDPart)
#define u_isIDStart U_ICU_ENTRY_POINT_RENAME(u_isIDStart) #define u_isIDStart U_ICU_ENTRY_POINT_RENAME(u_isIDStart)
#define u_isISOControl U_ICU_ENTRY_POINT_RENAME(u_isISOControl) #define u_isISOControl U_ICU_ENTRY_POINT_RENAME(u_isISOControl)
#define u_isJavaIDPart U_ICU_ENTRY_POINT_RENAME(u_isJavaIDPart) #define u_isJavaIDPart U_ICU_ENTRY_POINT_RENAME(u_isJavaIDPart)
#define u_isJavaIDStart U_ICU_ENTRY_POINT_RENAME(u_isJavaIDStart) #define u_isJavaIDStart U_ICU_ENTRY_POINT_RENAME(u_isJavaIDStart)
#define u_isJavaSpaceChar U_ICU_ENTRY_POINT_RENAME(u_isJavaSpaceChar) #define u_isJavaSpaceChar U_ICU_ENTRY_POINT_RENAME(u_isJavaSpaceChar)
skipping to change at line 345 skipping to change at line 353
#define u_sprintf U_ICU_ENTRY_POINT_RENAME(u_sprintf) #define u_sprintf U_ICU_ENTRY_POINT_RENAME(u_sprintf)
#define u_sprintf_u U_ICU_ENTRY_POINT_RENAME(u_sprintf_u) #define u_sprintf_u U_ICU_ENTRY_POINT_RENAME(u_sprintf_u)
#define u_sscanf U_ICU_ENTRY_POINT_RENAME(u_sscanf) #define u_sscanf U_ICU_ENTRY_POINT_RENAME(u_sscanf)
#define u_sscanf_u U_ICU_ENTRY_POINT_RENAME(u_sscanf_u) #define u_sscanf_u U_ICU_ENTRY_POINT_RENAME(u_sscanf_u)
#define u_strCaseCompare U_ICU_ENTRY_POINT_RENAME(u_strCaseCompare) #define u_strCaseCompare U_ICU_ENTRY_POINT_RENAME(u_strCaseCompare)
#define u_strCompare U_ICU_ENTRY_POINT_RENAME(u_strCompare) #define u_strCompare U_ICU_ENTRY_POINT_RENAME(u_strCompare)
#define u_strCompareIter U_ICU_ENTRY_POINT_RENAME(u_strCompareIter) #define u_strCompareIter U_ICU_ENTRY_POINT_RENAME(u_strCompareIter)
#define u_strFindFirst U_ICU_ENTRY_POINT_RENAME(u_strFindFirst) #define u_strFindFirst U_ICU_ENTRY_POINT_RENAME(u_strFindFirst)
#define u_strFindLast U_ICU_ENTRY_POINT_RENAME(u_strFindLast) #define u_strFindLast U_ICU_ENTRY_POINT_RENAME(u_strFindLast)
#define u_strFoldCase U_ICU_ENTRY_POINT_RENAME(u_strFoldCase) #define u_strFoldCase U_ICU_ENTRY_POINT_RENAME(u_strFoldCase)
#define u_strFromJavaModifiedUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strFrom JavaModifiedUTF8WithSub)
#define u_strFromPunycode U_ICU_ENTRY_POINT_RENAME(u_strFromPunycode) #define u_strFromPunycode U_ICU_ENTRY_POINT_RENAME(u_strFromPunycode)
#define u_strFromUTF32 U_ICU_ENTRY_POINT_RENAME(u_strFromUTF32) #define u_strFromUTF32 U_ICU_ENTRY_POINT_RENAME(u_strFromUTF32)
#define u_strFromUTF32WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromUTF32WithSu b) #define u_strFromUTF32WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromUTF32WithSu b)
#define u_strFromUTF8 U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8) #define u_strFromUTF8 U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8)
#define u_strFromUTF8Lenient U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8Lenient) #define u_strFromUTF8Lenient U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8Lenient)
#define u_strFromUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8WithSub) #define u_strFromUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8WithSub)
#define u_strFromWCS U_ICU_ENTRY_POINT_RENAME(u_strFromWCS) #define u_strFromWCS U_ICU_ENTRY_POINT_RENAME(u_strFromWCS)
#define u_strHasMoreChar32Than U_ICU_ENTRY_POINT_RENAME(u_strHasMoreChar32T han) #define u_strHasMoreChar32Than U_ICU_ENTRY_POINT_RENAME(u_strHasMoreChar32T han)
#define u_strToJavaModifiedUTF8 U_ICU_ENTRY_POINT_RENAME(u_strToJavaModifie dUTF8)
#define u_strToLower U_ICU_ENTRY_POINT_RENAME(u_strToLower) #define u_strToLower U_ICU_ENTRY_POINT_RENAME(u_strToLower)
#define u_strToPunycode U_ICU_ENTRY_POINT_RENAME(u_strToPunycode) #define u_strToPunycode U_ICU_ENTRY_POINT_RENAME(u_strToPunycode)
#define u_strToTitle U_ICU_ENTRY_POINT_RENAME(u_strToTitle) #define u_strToTitle U_ICU_ENTRY_POINT_RENAME(u_strToTitle)
#define u_strToUTF32 U_ICU_ENTRY_POINT_RENAME(u_strToUTF32) #define u_strToUTF32 U_ICU_ENTRY_POINT_RENAME(u_strToUTF32)
#define u_strToUTF32WithSub U_ICU_ENTRY_POINT_RENAME(u_strToUTF32WithSub) #define u_strToUTF32WithSub U_ICU_ENTRY_POINT_RENAME(u_strToUTF32WithSub)
#define u_strToUTF8 U_ICU_ENTRY_POINT_RENAME(u_strToUTF8) #define u_strToUTF8 U_ICU_ENTRY_POINT_RENAME(u_strToUTF8)
#define u_strToUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strToUTF8WithSub) #define u_strToUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strToUTF8WithSub)
#define u_strToUpper U_ICU_ENTRY_POINT_RENAME(u_strToUpper) #define u_strToUpper U_ICU_ENTRY_POINT_RENAME(u_strToUpper)
#define u_strToWCS U_ICU_ENTRY_POINT_RENAME(u_strToWCS) #define u_strToWCS U_ICU_ENTRY_POINT_RENAME(u_strToWCS)
#define u_strcasecmp U_ICU_ENTRY_POINT_RENAME(u_strcasecmp) #define u_strcasecmp U_ICU_ENTRY_POINT_RENAME(u_strcasecmp)
skipping to change at line 500 skipping to change at line 510
#define ucal_clearField U_ICU_ENTRY_POINT_RENAME(ucal_clearField) #define ucal_clearField U_ICU_ENTRY_POINT_RENAME(ucal_clearField)
#define ucal_clone U_ICU_ENTRY_POINT_RENAME(ucal_clone) #define ucal_clone U_ICU_ENTRY_POINT_RENAME(ucal_clone)
#define ucal_close U_ICU_ENTRY_POINT_RENAME(ucal_close) #define ucal_close U_ICU_ENTRY_POINT_RENAME(ucal_close)
#define ucal_countAvailable U_ICU_ENTRY_POINT_RENAME(ucal_countAvailable) #define ucal_countAvailable U_ICU_ENTRY_POINT_RENAME(ucal_countAvailable)
#define ucal_equivalentTo U_ICU_ENTRY_POINT_RENAME(ucal_equivalentTo) #define ucal_equivalentTo U_ICU_ENTRY_POINT_RENAME(ucal_equivalentTo)
#define ucal_get U_ICU_ENTRY_POINT_RENAME(ucal_get) #define ucal_get U_ICU_ENTRY_POINT_RENAME(ucal_get)
#define ucal_getAttribute U_ICU_ENTRY_POINT_RENAME(ucal_getAttribute) #define ucal_getAttribute U_ICU_ENTRY_POINT_RENAME(ucal_getAttribute)
#define ucal_getAvailable U_ICU_ENTRY_POINT_RENAME(ucal_getAvailable) #define ucal_getAvailable U_ICU_ENTRY_POINT_RENAME(ucal_getAvailable)
#define ucal_getCanonicalTimeZoneID U_ICU_ENTRY_POINT_RENAME(ucal_getCanoni calTimeZoneID) #define ucal_getCanonicalTimeZoneID U_ICU_ENTRY_POINT_RENAME(ucal_getCanoni calTimeZoneID)
#define ucal_getDSTSavings U_ICU_ENTRY_POINT_RENAME(ucal_getDSTSavings) #define ucal_getDSTSavings U_ICU_ENTRY_POINT_RENAME(ucal_getDSTSavings)
#define ucal_getDayOfWeekType U_ICU_ENTRY_POINT_RENAME(ucal_getDayOfWeekTyp e)
#define ucal_getDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getDefaultTim eZone) #define ucal_getDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getDefaultTim eZone)
#define ucal_getGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_getGregorianC hange) #define ucal_getGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_getGregorianC hange)
#define ucal_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucal_getKey wordValuesForLocale) #define ucal_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucal_getKey wordValuesForLocale)
#define ucal_getLimit U_ICU_ENTRY_POINT_RENAME(ucal_getLimit) #define ucal_getLimit U_ICU_ENTRY_POINT_RENAME(ucal_getLimit)
#define ucal_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucal_getLocaleByType) #define ucal_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucal_getLocaleByType)
#define ucal_getMillis U_ICU_ENTRY_POINT_RENAME(ucal_getMillis) #define ucal_getMillis U_ICU_ENTRY_POINT_RENAME(ucal_getMillis)
#define ucal_getNow U_ICU_ENTRY_POINT_RENAME(ucal_getNow) #define ucal_getNow U_ICU_ENTRY_POINT_RENAME(ucal_getNow)
#define ucal_getTZDataVersion U_ICU_ENTRY_POINT_RENAME(ucal_getTZDataVersio n) #define ucal_getTZDataVersion U_ICU_ENTRY_POINT_RENAME(ucal_getTZDataVersio n)
#define ucal_getTimeZoneDisplayName U_ICU_ENTRY_POINT_RENAME(ucal_getTimeZo neDisplayName) #define ucal_getTimeZoneDisplayName U_ICU_ENTRY_POINT_RENAME(ucal_getTimeZo neDisplayName)
#define ucal_getType U_ICU_ENTRY_POINT_RENAME(ucal_getType) #define ucal_getType U_ICU_ENTRY_POINT_RENAME(ucal_getType)
#define ucal_getWeekendTransition U_ICU_ENTRY_POINT_RENAME(ucal_getWeekendT ransition)
#define ucal_inDaylightTime U_ICU_ENTRY_POINT_RENAME(ucal_inDaylightTime) #define ucal_inDaylightTime U_ICU_ENTRY_POINT_RENAME(ucal_inDaylightTime)
#define ucal_isSet U_ICU_ENTRY_POINT_RENAME(ucal_isSet) #define ucal_isSet U_ICU_ENTRY_POINT_RENAME(ucal_isSet)
#define ucal_isWeekend U_ICU_ENTRY_POINT_RENAME(ucal_isWeekend)
#define ucal_open U_ICU_ENTRY_POINT_RENAME(ucal_open) #define ucal_open U_ICU_ENTRY_POINT_RENAME(ucal_open)
#define ucal_openCountryTimeZones U_ICU_ENTRY_POINT_RENAME(ucal_openCountry TimeZones) #define ucal_openCountryTimeZones U_ICU_ENTRY_POINT_RENAME(ucal_openCountry TimeZones)
#define ucal_openTimeZones U_ICU_ENTRY_POINT_RENAME(ucal_openTimeZones) #define ucal_openTimeZones U_ICU_ENTRY_POINT_RENAME(ucal_openTimeZones)
#define ucal_roll U_ICU_ENTRY_POINT_RENAME(ucal_roll) #define ucal_roll U_ICU_ENTRY_POINT_RENAME(ucal_roll)
#define ucal_set U_ICU_ENTRY_POINT_RENAME(ucal_set) #define ucal_set U_ICU_ENTRY_POINT_RENAME(ucal_set)
#define ucal_setAttribute U_ICU_ENTRY_POINT_RENAME(ucal_setAttribute) #define ucal_setAttribute U_ICU_ENTRY_POINT_RENAME(ucal_setAttribute)
#define ucal_setDate U_ICU_ENTRY_POINT_RENAME(ucal_setDate) #define ucal_setDate U_ICU_ENTRY_POINT_RENAME(ucal_setDate)
#define ucal_setDateTime U_ICU_ENTRY_POINT_RENAME(ucal_setDateTime) #define ucal_setDateTime U_ICU_ENTRY_POINT_RENAME(ucal_setDateTime)
#define ucal_setDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_setDefaultTim eZone) #define ucal_setDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_setDefaultTim eZone)
#define ucal_setGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_setGregorianC hange) #define ucal_setGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_setGregorianC hange)
skipping to change at line 824 skipping to change at line 837
#define udat_getSymbols U_ICU_ENTRY_POINT_RENAME(udat_getSymbols) #define udat_getSymbols U_ICU_ENTRY_POINT_RENAME(udat_getSymbols)
#define udat_isLenient U_ICU_ENTRY_POINT_RENAME(udat_isLenient) #define udat_isLenient U_ICU_ENTRY_POINT_RENAME(udat_isLenient)
#define udat_open U_ICU_ENTRY_POINT_RENAME(udat_open) #define udat_open U_ICU_ENTRY_POINT_RENAME(udat_open)
#define udat_parse U_ICU_ENTRY_POINT_RENAME(udat_parse) #define udat_parse U_ICU_ENTRY_POINT_RENAME(udat_parse)
#define udat_parseCalendar U_ICU_ENTRY_POINT_RENAME(udat_parseCalendar) #define udat_parseCalendar U_ICU_ENTRY_POINT_RENAME(udat_parseCalendar)
#define udat_set2DigitYearStart U_ICU_ENTRY_POINT_RENAME(udat_set2DigitYear Start) #define udat_set2DigitYearStart U_ICU_ENTRY_POINT_RENAME(udat_set2DigitYear Start)
#define udat_setCalendar U_ICU_ENTRY_POINT_RENAME(udat_setCalendar) #define udat_setCalendar U_ICU_ENTRY_POINT_RENAME(udat_setCalendar)
#define udat_setLenient U_ICU_ENTRY_POINT_RENAME(udat_setLenient) #define udat_setLenient U_ICU_ENTRY_POINT_RENAME(udat_setLenient)
#define udat_setNumberFormat U_ICU_ENTRY_POINT_RENAME(udat_setNumberFormat) #define udat_setNumberFormat U_ICU_ENTRY_POINT_RENAME(udat_setNumberFormat)
#define udat_setSymbols U_ICU_ENTRY_POINT_RENAME(udat_setSymbols) #define udat_setSymbols U_ICU_ENTRY_POINT_RENAME(udat_setSymbols)
#define udat_toCalendarDateField U_ICU_ENTRY_POINT_RENAME(udat_toCalendarDa teField)
#define udat_toPattern U_ICU_ENTRY_POINT_RENAME(udat_toPattern) #define udat_toPattern U_ICU_ENTRY_POINT_RENAME(udat_toPattern)
#define udat_toPatternRelativeDate U_ICU_ENTRY_POINT_RENAME(udat_toPatternR elativeDate) #define udat_toPatternRelativeDate U_ICU_ENTRY_POINT_RENAME(udat_toPatternR elativeDate)
#define udat_toPatternRelativeTime U_ICU_ENTRY_POINT_RENAME(udat_toPatternR elativeTime) #define udat_toPatternRelativeTime U_ICU_ENTRY_POINT_RENAME(udat_toPatternR elativeTime)
#define udata_checkCommonData U_ICU_ENTRY_POINT_RENAME(udata_checkCommonDat a) #define udata_checkCommonData U_ICU_ENTRY_POINT_RENAME(udata_checkCommonDat a)
#define udata_close U_ICU_ENTRY_POINT_RENAME(udata_close) #define udata_close U_ICU_ENTRY_POINT_RENAME(udata_close)
#define udata_closeSwapper U_ICU_ENTRY_POINT_RENAME(udata_closeSwapper) #define udata_closeSwapper U_ICU_ENTRY_POINT_RENAME(udata_closeSwapper)
#define udata_getHeaderSize U_ICU_ENTRY_POINT_RENAME(udata_getHeaderSize) #define udata_getHeaderSize U_ICU_ENTRY_POINT_RENAME(udata_getHeaderSize)
#define udata_getInfo U_ICU_ENTRY_POINT_RENAME(udata_getInfo) #define udata_getInfo U_ICU_ENTRY_POINT_RENAME(udata_getInfo)
#define udata_getInfoSize U_ICU_ENTRY_POINT_RENAME(udata_getInfoSize) #define udata_getInfoSize U_ICU_ENTRY_POINT_RENAME(udata_getInfoSize)
#define udata_getLength U_ICU_ENTRY_POINT_RENAME(udata_getLength) #define udata_getLength U_ICU_ENTRY_POINT_RENAME(udata_getLength)
skipping to change at line 855 skipping to change at line 869
#define udata_setFileAccess U_ICU_ENTRY_POINT_RENAME(udata_setFileAccess) #define udata_setFileAccess U_ICU_ENTRY_POINT_RENAME(udata_setFileAccess)
#define udata_swapDataHeader U_ICU_ENTRY_POINT_RENAME(udata_swapDataHeader) #define udata_swapDataHeader U_ICU_ENTRY_POINT_RENAME(udata_swapDataHeader)
#define udata_swapInvStringBlock U_ICU_ENTRY_POINT_RENAME(udata_swapInvStri ngBlock) #define udata_swapInvStringBlock U_ICU_ENTRY_POINT_RENAME(udata_swapInvStri ngBlock)
#define udatpg_addPattern U_ICU_ENTRY_POINT_RENAME(udatpg_addPattern) #define udatpg_addPattern U_ICU_ENTRY_POINT_RENAME(udatpg_addPattern)
#define udatpg_clone U_ICU_ENTRY_POINT_RENAME(udatpg_clone) #define udatpg_clone U_ICU_ENTRY_POINT_RENAME(udatpg_clone)
#define udatpg_close U_ICU_ENTRY_POINT_RENAME(udatpg_close) #define udatpg_close U_ICU_ENTRY_POINT_RENAME(udatpg_close)
#define udatpg_getAppendItemFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getAppen dItemFormat) #define udatpg_getAppendItemFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getAppen dItemFormat)
#define udatpg_getAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_getAppendI temName) #define udatpg_getAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_getAppendI temName)
#define udatpg_getBaseSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getBaseSkele ton) #define udatpg_getBaseSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getBaseSkele ton)
#define udatpg_getBestPattern U_ICU_ENTRY_POINT_RENAME(udatpg_getBestPatter n) #define udatpg_getBestPattern U_ICU_ENTRY_POINT_RENAME(udatpg_getBestPatter n)
#define udatpg_getBestPatternWithOptions U_ICU_ENTRY_POINT_RENAME(udatpg_ge tBestPatternWithOptions)
#define udatpg_getDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getDateTim eFormat) #define udatpg_getDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getDateTim eFormat)
#define udatpg_getDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_getDecimal) #define udatpg_getDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_getDecimal)
#define udatpg_getPatternForSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getPat ternForSkeleton) #define udatpg_getPatternForSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getPat ternForSkeleton)
#define udatpg_getSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getSkeleton) #define udatpg_getSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getSkeleton)
#define udatpg_open U_ICU_ENTRY_POINT_RENAME(udatpg_open) #define udatpg_open U_ICU_ENTRY_POINT_RENAME(udatpg_open)
#define udatpg_openBaseSkeletons U_ICU_ENTRY_POINT_RENAME(udatpg_openBaseSk eletons) #define udatpg_openBaseSkeletons U_ICU_ENTRY_POINT_RENAME(udatpg_openBaseSk eletons)
#define udatpg_openEmpty U_ICU_ENTRY_POINT_RENAME(udatpg_openEmpty) #define udatpg_openEmpty U_ICU_ENTRY_POINT_RENAME(udatpg_openEmpty)
#define udatpg_openSkeletons U_ICU_ENTRY_POINT_RENAME(udatpg_openSkeletons) #define udatpg_openSkeletons U_ICU_ENTRY_POINT_RENAME(udatpg_openSkeletons)
#define udatpg_replaceFieldTypes U_ICU_ENTRY_POINT_RENAME(udatpg_replaceFie ldTypes) #define udatpg_replaceFieldTypes U_ICU_ENTRY_POINT_RENAME(udatpg_replaceFie ldTypes)
#define udatpg_replaceFieldTypesWithOptions U_ICU_ENTRY_POINT_RENAME(udatpg _replaceFieldTypesWithOptions)
#define udatpg_setAppendItemFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setAppen dItemFormat) #define udatpg_setAppendItemFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setAppen dItemFormat)
#define udatpg_setAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_setAppendI temName) #define udatpg_setAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_setAppendI temName)
#define udatpg_setDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setDateTim eFormat) #define udatpg_setDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setDateTim eFormat)
#define udatpg_setDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_setDecimal) #define udatpg_setDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_setDecimal)
#define uenum_close U_ICU_ENTRY_POINT_RENAME(uenum_close) #define uenum_close U_ICU_ENTRY_POINT_RENAME(uenum_close)
#define uenum_count U_ICU_ENTRY_POINT_RENAME(uenum_count) #define uenum_count U_ICU_ENTRY_POINT_RENAME(uenum_count)
#define uenum_next U_ICU_ENTRY_POINT_RENAME(uenum_next) #define uenum_next U_ICU_ENTRY_POINT_RENAME(uenum_next)
#define uenum_nextDefault U_ICU_ENTRY_POINT_RENAME(uenum_nextDefault) #define uenum_nextDefault U_ICU_ENTRY_POINT_RENAME(uenum_nextDefault)
#define uenum_openCharStringsEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_ope nCharStringsEnumeration) #define uenum_openCharStringsEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_ope nCharStringsEnumeration)
#define uenum_openFromStringEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_open FromStringEnumeration) #define uenum_openFromStringEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_open FromStringEnumeration)
skipping to change at line 949 skipping to change at line 965
#define uiter_current32 U_ICU_ENTRY_POINT_RENAME(uiter_current32) #define uiter_current32 U_ICU_ENTRY_POINT_RENAME(uiter_current32)
#define uiter_getState U_ICU_ENTRY_POINT_RENAME(uiter_getState) #define uiter_getState U_ICU_ENTRY_POINT_RENAME(uiter_getState)
#define uiter_next32 U_ICU_ENTRY_POINT_RENAME(uiter_next32) #define uiter_next32 U_ICU_ENTRY_POINT_RENAME(uiter_next32)
#define uiter_previous32 U_ICU_ENTRY_POINT_RENAME(uiter_previous32) #define uiter_previous32 U_ICU_ENTRY_POINT_RENAME(uiter_previous32)
#define uiter_setCharacterIterator U_ICU_ENTRY_POINT_RENAME(uiter_setCharac terIterator) #define uiter_setCharacterIterator U_ICU_ENTRY_POINT_RENAME(uiter_setCharac terIterator)
#define uiter_setReplaceable U_ICU_ENTRY_POINT_RENAME(uiter_setReplaceable) #define uiter_setReplaceable U_ICU_ENTRY_POINT_RENAME(uiter_setReplaceable)
#define uiter_setState U_ICU_ENTRY_POINT_RENAME(uiter_setState) #define uiter_setState U_ICU_ENTRY_POINT_RENAME(uiter_setState)
#define uiter_setString U_ICU_ENTRY_POINT_RENAME(uiter_setString) #define uiter_setString U_ICU_ENTRY_POINT_RENAME(uiter_setString)
#define uiter_setUTF16BE U_ICU_ENTRY_POINT_RENAME(uiter_setUTF16BE) #define uiter_setUTF16BE U_ICU_ENTRY_POINT_RENAME(uiter_setUTF16BE)
#define uiter_setUTF8 U_ICU_ENTRY_POINT_RENAME(uiter_setUTF8) #define uiter_setUTF8 U_ICU_ENTRY_POINT_RENAME(uiter_setUTF8)
#define uldn_close U_ICU_ENTRY_POINT_RENAME(uldn_close)
#define uldn_getDialectHandling U_ICU_ENTRY_POINT_RENAME(uldn_getDialectHan
dling)
#define uldn_getLocale U_ICU_ENTRY_POINT_RENAME(uldn_getLocale)
#define uldn_keyDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_keyDisplayName)
#define uldn_keyValueDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_keyValueDisp
layName)
#define uldn_languageDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_languageDisp
layName)
#define uldn_localeDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_localeDisplayN
ame)
#define uldn_open U_ICU_ENTRY_POINT_RENAME(uldn_open)
#define uldn_regionDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_regionDisplayN
ame)
#define uldn_scriptCodeDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_scriptCode
DisplayName)
#define uldn_scriptDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_scriptDisplayN
ame)
#define uldn_variantDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_variantDispla
yName)
#define ulist_addItemBeginList U_ICU_ENTRY_POINT_RENAME(ulist_addItemBeginL ist) #define ulist_addItemBeginList U_ICU_ENTRY_POINT_RENAME(ulist_addItemBeginL ist)
#define ulist_addItemEndList U_ICU_ENTRY_POINT_RENAME(ulist_addItemEndList) #define ulist_addItemEndList U_ICU_ENTRY_POINT_RENAME(ulist_addItemEndList)
#define ulist_close_keyword_values_iterator U_ICU_ENTRY_POINT_RENAME(ulist_ close_keyword_values_iterator) #define ulist_close_keyword_values_iterator U_ICU_ENTRY_POINT_RENAME(ulist_ close_keyword_values_iterator)
#define ulist_containsString U_ICU_ENTRY_POINT_RENAME(ulist_containsString) #define ulist_containsString U_ICU_ENTRY_POINT_RENAME(ulist_containsString)
#define ulist_count_keyword_values U_ICU_ENTRY_POINT_RENAME(ulist_count_key word_values) #define ulist_count_keyword_values U_ICU_ENTRY_POINT_RENAME(ulist_count_key word_values)
#define ulist_createEmptyList U_ICU_ENTRY_POINT_RENAME(ulist_createEmptyLis t) #define ulist_createEmptyList U_ICU_ENTRY_POINT_RENAME(ulist_createEmptyLis t)
#define ulist_deleteList U_ICU_ENTRY_POINT_RENAME(ulist_deleteList) #define ulist_deleteList U_ICU_ENTRY_POINT_RENAME(ulist_deleteList)
#define ulist_getListFromEnum U_ICU_ENTRY_POINT_RENAME(ulist_getListFromEnu m) #define ulist_getListFromEnum U_ICU_ENTRY_POINT_RENAME(ulist_getListFromEnu m)
#define ulist_getListSize U_ICU_ENTRY_POINT_RENAME(ulist_getListSize) #define ulist_getListSize U_ICU_ENTRY_POINT_RENAME(ulist_getListSize)
#define ulist_getNext U_ICU_ENTRY_POINT_RENAME(ulist_getNext) #define ulist_getNext U_ICU_ENTRY_POINT_RENAME(ulist_getNext)
skipping to change at line 972 skipping to change at line 1000
#define uloc_acceptLanguage U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguage) #define uloc_acceptLanguage U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguage)
#define uloc_acceptLanguageFromHTTP U_ICU_ENTRY_POINT_RENAME(uloc_acceptLan guageFromHTTP) #define uloc_acceptLanguageFromHTTP U_ICU_ENTRY_POINT_RENAME(uloc_acceptLan guageFromHTTP)
#define uloc_addLikelySubtags U_ICU_ENTRY_POINT_RENAME(uloc_addLikelySubtag s) #define uloc_addLikelySubtags U_ICU_ENTRY_POINT_RENAME(uloc_addLikelySubtag s)
#define uloc_canonicalize U_ICU_ENTRY_POINT_RENAME(uloc_canonicalize) #define uloc_canonicalize U_ICU_ENTRY_POINT_RENAME(uloc_canonicalize)
#define uloc_countAvailable U_ICU_ENTRY_POINT_RENAME(uloc_countAvailable) #define uloc_countAvailable U_ICU_ENTRY_POINT_RENAME(uloc_countAvailable)
#define uloc_forLanguageTag U_ICU_ENTRY_POINT_RENAME(uloc_forLanguageTag) #define uloc_forLanguageTag U_ICU_ENTRY_POINT_RENAME(uloc_forLanguageTag)
#define uloc_getAvailable U_ICU_ENTRY_POINT_RENAME(uloc_getAvailable) #define uloc_getAvailable U_ICU_ENTRY_POINT_RENAME(uloc_getAvailable)
#define uloc_getBaseName U_ICU_ENTRY_POINT_RENAME(uloc_getBaseName) #define uloc_getBaseName U_ICU_ENTRY_POINT_RENAME(uloc_getBaseName)
#define uloc_getCharacterOrientation U_ICU_ENTRY_POINT_RENAME(uloc_getChara cterOrientation) #define uloc_getCharacterOrientation U_ICU_ENTRY_POINT_RENAME(uloc_getChara cterOrientation)
#define uloc_getCountry U_ICU_ENTRY_POINT_RENAME(uloc_getCountry) #define uloc_getCountry U_ICU_ENTRY_POINT_RENAME(uloc_getCountry)
#define uloc_getCurrentCountryID U_ICU_ENTRY_POINT_RENAME(uloc_getCurrentCo
untryID)
#define uloc_getCurrentLanguageID U_ICU_ENTRY_POINT_RENAME(uloc_getCurrentL
anguageID)
#define uloc_getDefault U_ICU_ENTRY_POINT_RENAME(uloc_getDefault) #define uloc_getDefault U_ICU_ENTRY_POINT_RENAME(uloc_getDefault)
#define uloc_getDisplayCountry U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayCoun try) #define uloc_getDisplayCountry U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayCoun try)
#define uloc_getDisplayKeyword U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayKeyw ord) #define uloc_getDisplayKeyword U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayKeyw ord)
#define uloc_getDisplayKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_getDispla yKeywordValue) #define uloc_getDisplayKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_getDispla yKeywordValue)
#define uloc_getDisplayLanguage U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayLan guage) #define uloc_getDisplayLanguage U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayLan guage)
#define uloc_getDisplayName U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayName) #define uloc_getDisplayName U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayName)
#define uloc_getDisplayScript U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayScrip t) #define uloc_getDisplayScript U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayScrip t)
#define uloc_getDisplayVariant U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayVari ant) #define uloc_getDisplayVariant U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayVari ant)
#define uloc_getISO3Country U_ICU_ENTRY_POINT_RENAME(uloc_getISO3Country) #define uloc_getISO3Country U_ICU_ENTRY_POINT_RENAME(uloc_getISO3Country)
#define uloc_getISO3Language U_ICU_ENTRY_POINT_RENAME(uloc_getISO3Language) #define uloc_getISO3Language U_ICU_ENTRY_POINT_RENAME(uloc_getISO3Language)
#define uloc_getISOCountries U_ICU_ENTRY_POINT_RENAME(uloc_getISOCountries) #define uloc_getISOCountries U_ICU_ENTRY_POINT_RENAME(uloc_getISOCountries)
#define uloc_getISOLanguages U_ICU_ENTRY_POINT_RENAME(uloc_getISOLanguages) #define uloc_getISOLanguages U_ICU_ENTRY_POINT_RENAME(uloc_getISOLanguages)
#define uloc_getKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_getKeywordValue) #define uloc_getKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_getKeywordValue)
#define uloc_getLCID U_ICU_ENTRY_POINT_RENAME(uloc_getLCID) #define uloc_getLCID U_ICU_ENTRY_POINT_RENAME(uloc_getLCID)
#define uloc_getLanguage U_ICU_ENTRY_POINT_RENAME(uloc_getLanguage) #define uloc_getLanguage U_ICU_ENTRY_POINT_RENAME(uloc_getLanguage)
#define uloc_getLineOrientation U_ICU_ENTRY_POINT_RENAME(uloc_getLineOrient ation) #define uloc_getLineOrientation U_ICU_ENTRY_POINT_RENAME(uloc_getLineOrient ation)
#define uloc_getLocaleForLCID U_ICU_ENTRY_POINT_RENAME(uloc_getLocaleForLCI D) #define uloc_getLocaleForLCID U_ICU_ENTRY_POINT_RENAME(uloc_getLocaleForLCI D)
#define uloc_getName U_ICU_ENTRY_POINT_RENAME(uloc_getName) #define uloc_getName U_ICU_ENTRY_POINT_RENAME(uloc_getName)
#define uloc_getParent U_ICU_ENTRY_POINT_RENAME(uloc_getParent) #define uloc_getParent U_ICU_ENTRY_POINT_RENAME(uloc_getParent)
#define uloc_getScript U_ICU_ENTRY_POINT_RENAME(uloc_getScript) #define uloc_getScript U_ICU_ENTRY_POINT_RENAME(uloc_getScript)
#define uloc_getTableStringWithFallback U_ICU_ENTRY_POINT_RENAME(uloc_getTa bleStringWithFallback)
#define uloc_getVariant U_ICU_ENTRY_POINT_RENAME(uloc_getVariant) #define uloc_getVariant U_ICU_ENTRY_POINT_RENAME(uloc_getVariant)
#define uloc_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(uloc_minimizeSubtags) #define uloc_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(uloc_minimizeSubtags)
#define uloc_openKeywordList U_ICU_ENTRY_POINT_RENAME(uloc_openKeywordList) #define uloc_openKeywordList U_ICU_ENTRY_POINT_RENAME(uloc_openKeywordList)
#define uloc_openKeywords U_ICU_ENTRY_POINT_RENAME(uloc_openKeywords) #define uloc_openKeywords U_ICU_ENTRY_POINT_RENAME(uloc_openKeywords)
#define uloc_setDefault U_ICU_ENTRY_POINT_RENAME(uloc_setDefault) #define uloc_setDefault U_ICU_ENTRY_POINT_RENAME(uloc_setDefault)
#define uloc_setKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_setKeywordValue) #define uloc_setKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_setKeywordValue)
#define uloc_toLanguageTag U_ICU_ENTRY_POINT_RENAME(uloc_toLanguageTag) #define uloc_toLanguageTag U_ICU_ENTRY_POINT_RENAME(uloc_toLanguageTag)
#define ulocdata_close U_ICU_ENTRY_POINT_RENAME(ulocdata_close) #define ulocdata_close U_ICU_ENTRY_POINT_RENAME(ulocdata_close)
#define ulocdata_getCLDRVersion U_ICU_ENTRY_POINT_RENAME(ulocdata_getCLDRVe rsion) #define ulocdata_getCLDRVersion U_ICU_ENTRY_POINT_RENAME(ulocdata_getCLDRVe rsion)
#define ulocdata_getDelimiter U_ICU_ENTRY_POINT_RENAME(ulocdata_getDelimite r) #define ulocdata_getDelimiter U_ICU_ENTRY_POINT_RENAME(ulocdata_getDelimite r)
#define ulocdata_getExemplarSet U_ICU_ENTRY_POINT_RENAME(ulocdata_getExempl arSet) #define ulocdata_getExemplarSet U_ICU_ENTRY_POINT_RENAME(ulocdata_getExempl arSet)
#define ulocdata_getLocaleDisplayPattern U_ICU_ENTRY_POINT_RENAME(ulocdata_ getLocaleDisplayPattern) #define ulocdata_getLocaleDisplayPattern U_ICU_ENTRY_POINT_RENAME(ulocdata_ getLocaleDisplayPattern)
#define ulocdata_getLocaleSeparator U_ICU_ENTRY_POINT_RENAME(ulocdata_getLo caleSeparator) #define ulocdata_getLocaleSeparator U_ICU_ENTRY_POINT_RENAME(ulocdata_getLo caleSeparator)
#define ulocdata_getMeasurementSystem U_ICU_ENTRY_POINT_RENAME(ulocdata_get MeasurementSystem) #define ulocdata_getMeasurementSystem U_ICU_ENTRY_POINT_RENAME(ulocdata_get MeasurementSystem)
#define ulocdata_getNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_getNoSub stitute) #define ulocdata_getNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_getNoSub stitute)
#define ulocdata_getPaperSize U_ICU_ENTRY_POINT_RENAME(ulocdata_getPaperSiz e) #define ulocdata_getPaperSize U_ICU_ENTRY_POINT_RENAME(ulocdata_getPaperSiz e)
#define ulocdata_open U_ICU_ENTRY_POINT_RENAME(ulocdata_open) #define ulocdata_open U_ICU_ENTRY_POINT_RENAME(ulocdata_open)
#define ulocdata_setNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_setNoSub stitute) #define ulocdata_setNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_setNoSub stitute)
#define ulocimp_getCountry U_ICU_ENTRY_POINT_RENAME(ulocimp_getCountry)
#define ulocimp_getLanguage U_ICU_ENTRY_POINT_RENAME(ulocimp_getLanguage)
#define ulocimp_getScript U_ICU_ENTRY_POINT_RENAME(ulocimp_getScript)
#define umsg_applyPattern U_ICU_ENTRY_POINT_RENAME(umsg_applyPattern) #define umsg_applyPattern U_ICU_ENTRY_POINT_RENAME(umsg_applyPattern)
#define umsg_autoQuoteApostrophe U_ICU_ENTRY_POINT_RENAME(umsg_autoQuoteApo strophe) #define umsg_autoQuoteApostrophe U_ICU_ENTRY_POINT_RENAME(umsg_autoQuoteApo strophe)
#define umsg_clone U_ICU_ENTRY_POINT_RENAME(umsg_clone) #define umsg_clone U_ICU_ENTRY_POINT_RENAME(umsg_clone)
#define umsg_close U_ICU_ENTRY_POINT_RENAME(umsg_close) #define umsg_close U_ICU_ENTRY_POINT_RENAME(umsg_close)
#define umsg_format U_ICU_ENTRY_POINT_RENAME(umsg_format) #define umsg_format U_ICU_ENTRY_POINT_RENAME(umsg_format)
#define umsg_getLocale U_ICU_ENTRY_POINT_RENAME(umsg_getLocale) #define umsg_getLocale U_ICU_ENTRY_POINT_RENAME(umsg_getLocale)
#define umsg_open U_ICU_ENTRY_POINT_RENAME(umsg_open) #define umsg_open U_ICU_ENTRY_POINT_RENAME(umsg_open)
#define umsg_parse U_ICU_ENTRY_POINT_RENAME(umsg_parse) #define umsg_parse U_ICU_ENTRY_POINT_RENAME(umsg_parse)
#define umsg_setLocale U_ICU_ENTRY_POINT_RENAME(umsg_setLocale) #define umsg_setLocale U_ICU_ENTRY_POINT_RENAME(umsg_setLocale)
#define umsg_toPattern U_ICU_ENTRY_POINT_RENAME(umsg_toPattern) #define umsg_toPattern U_ICU_ENTRY_POINT_RENAME(umsg_toPattern)
#define umsg_vformat U_ICU_ENTRY_POINT_RENAME(umsg_vformat) #define umsg_vformat U_ICU_ENTRY_POINT_RENAME(umsg_vformat)
#define umsg_vparse U_ICU_ENTRY_POINT_RENAME(umsg_vparse) #define umsg_vparse U_ICU_ENTRY_POINT_RENAME(umsg_vparse)
#define umtx_atomic_dec U_ICU_ENTRY_POINT_RENAME(umtx_atomic_dec) #define umtx_atomic_dec U_ICU_ENTRY_POINT_RENAME(umtx_atomic_dec)
#define umtx_atomic_inc U_ICU_ENTRY_POINT_RENAME(umtx_atomic_inc) #define umtx_atomic_inc U_ICU_ENTRY_POINT_RENAME(umtx_atomic_inc)
#define umtx_cleanup U_ICU_ENTRY_POINT_RENAME(umtx_cleanup) #define umtx_cleanup U_ICU_ENTRY_POINT_RENAME(umtx_cleanup)
#define umtx_destroy U_ICU_ENTRY_POINT_RENAME(umtx_destroy) #define umtx_destroy U_ICU_ENTRY_POINT_RENAME(umtx_destroy)
#define umtx_init U_ICU_ENTRY_POINT_RENAME(umtx_init) #define umtx_init U_ICU_ENTRY_POINT_RENAME(umtx_init)
#define umtx_lock U_ICU_ENTRY_POINT_RENAME(umtx_lock) #define umtx_lock U_ICU_ENTRY_POINT_RENAME(umtx_lock)
#define umtx_unlock U_ICU_ENTRY_POINT_RENAME(umtx_unlock) #define umtx_unlock U_ICU_ENTRY_POINT_RENAME(umtx_unlock)
#define uniset_getUnicode32Instance U_ICU_ENTRY_POINT_RENAME(uniset_getUnic
ode32Instance)
#define unorm2_append U_ICU_ENTRY_POINT_RENAME(unorm2_append)
#define unorm2_close U_ICU_ENTRY_POINT_RENAME(unorm2_close)
#define unorm2_getInstance U_ICU_ENTRY_POINT_RENAME(unorm2_getInstance)
#define unorm2_hasBoundaryAfter U_ICU_ENTRY_POINT_RENAME(unorm2_hasBoundary
After)
#define unorm2_hasBoundaryBefore U_ICU_ENTRY_POINT_RENAME(unorm2_hasBoundar
yBefore)
#define unorm2_isInert U_ICU_ENTRY_POINT_RENAME(unorm2_isInert)
#define unorm2_isNormalized U_ICU_ENTRY_POINT_RENAME(unorm2_isNormalized)
#define unorm2_normalize U_ICU_ENTRY_POINT_RENAME(unorm2_normalize)
#define unorm2_normalizeSecondAndAppend U_ICU_ENTRY_POINT_RENAME(unorm2_nor
malizeSecondAndAppend)
#define unorm2_openFiltered U_ICU_ENTRY_POINT_RENAME(unorm2_openFiltered)
#define unorm2_quickCheck U_ICU_ENTRY_POINT_RENAME(unorm2_quickCheck)
#define unorm2_spanQuickCheckYes U_ICU_ENTRY_POINT_RENAME(unorm2_spanQuickC
heckYes)
#define unorm2_swap U_ICU_ENTRY_POINT_RENAME(unorm2_swap)
#define unorm_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(unorm_addPropertyS tarts) #define unorm_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(unorm_addPropertyS tarts)
#define unorm_closeIter U_ICU_ENTRY_POINT_RENAME(unorm_closeIter) #define unorm_closeIter U_ICU_ENTRY_POINT_RENAME(unorm_closeIter)
#define unorm_compare U_ICU_ENTRY_POINT_RENAME(unorm_compare) #define unorm_compare U_ICU_ENTRY_POINT_RENAME(unorm_compare)
#define unorm_compose U_ICU_ENTRY_POINT_RENAME(unorm_compose)
#define unorm_concatenate U_ICU_ENTRY_POINT_RENAME(unorm_concatenate) #define unorm_concatenate U_ICU_ENTRY_POINT_RENAME(unorm_concatenate)
#define unorm_decompose U_ICU_ENTRY_POINT_RENAME(unorm_decompose)
#define unorm_getCanonStartSet U_ICU_ENTRY_POINT_RENAME(unorm_getCanonStart Set) #define unorm_getCanonStartSet U_ICU_ENTRY_POINT_RENAME(unorm_getCanonStart Set)
#define unorm_getCanonicalDecomposition U_ICU_ENTRY_POINT_RENAME(unorm_getC
anonicalDecomposition)
#define unorm_getDecomposition U_ICU_ENTRY_POINT_RENAME(unorm_getDecomposit
ion)
#define unorm_getFCD16FromCodePoint U_ICU_ENTRY_POINT_RENAME(unorm_getFCD16
FromCodePoint)
#define unorm_getFCDTrieIndex U_ICU_ENTRY_POINT_RENAME(unorm_getFCDTrieInde x) #define unorm_getFCDTrieIndex U_ICU_ENTRY_POINT_RENAME(unorm_getFCDTrieInde x)
#define unorm_getNX U_ICU_ENTRY_POINT_RENAME(unorm_getNX)
#define unorm_getQuickCheck U_ICU_ENTRY_POINT_RENAME(unorm_getQuickCheck) #define unorm_getQuickCheck U_ICU_ENTRY_POINT_RENAME(unorm_getQuickCheck)
#define unorm_getUnicodeVersion U_ICU_ENTRY_POINT_RENAME(unorm_getUnicodeVe rsion)
#define unorm_haveData U_ICU_ENTRY_POINT_RENAME(unorm_haveData) #define unorm_haveData U_ICU_ENTRY_POINT_RENAME(unorm_haveData)
#define unorm_internalIsFullCompositionExclusion U_ICU_ENTRY_POINT_RENAME(u
norm_internalIsFullCompositionExclusion)
#define unorm_internalNormalize U_ICU_ENTRY_POINT_RENAME(unorm_internalNorm
alize)
#define unorm_internalNormalizeWithNX U_ICU_ENTRY_POINT_RENAME(unorm_intern
alNormalizeWithNX)
#define unorm_internalQuickCheck U_ICU_ENTRY_POINT_RENAME(unorm_internalQui
ckCheck)
#define unorm_isCanonSafeStart U_ICU_ENTRY_POINT_RENAME(unorm_isCanonSafeSt art) #define unorm_isCanonSafeStart U_ICU_ENTRY_POINT_RENAME(unorm_isCanonSafeSt art)
#define unorm_isNFSkippable U_ICU_ENTRY_POINT_RENAME(unorm_isNFSkippable)
#define unorm_isNormalized U_ICU_ENTRY_POINT_RENAME(unorm_isNormalized) #define unorm_isNormalized U_ICU_ENTRY_POINT_RENAME(unorm_isNormalized)
#define unorm_isNormalizedWithOptions U_ICU_ENTRY_POINT_RENAME(unorm_isNorm alizedWithOptions) #define unorm_isNormalizedWithOptions U_ICU_ENTRY_POINT_RENAME(unorm_isNorm alizedWithOptions)
#define unorm_next U_ICU_ENTRY_POINT_RENAME(unorm_next) #define unorm_next U_ICU_ENTRY_POINT_RENAME(unorm_next)
#define unorm_normalize U_ICU_ENTRY_POINT_RENAME(unorm_normalize) #define unorm_normalize U_ICU_ENTRY_POINT_RENAME(unorm_normalize)
#define unorm_openIter U_ICU_ENTRY_POINT_RENAME(unorm_openIter) #define unorm_openIter U_ICU_ENTRY_POINT_RENAME(unorm_openIter)
#define unorm_previous U_ICU_ENTRY_POINT_RENAME(unorm_previous) #define unorm_previous U_ICU_ENTRY_POINT_RENAME(unorm_previous)
#define unorm_quickCheck U_ICU_ENTRY_POINT_RENAME(unorm_quickCheck) #define unorm_quickCheck U_ICU_ENTRY_POINT_RENAME(unorm_quickCheck)
#define unorm_quickCheckWithOptions U_ICU_ENTRY_POINT_RENAME(unorm_quickChe ckWithOptions) #define unorm_quickCheckWithOptions U_ICU_ENTRY_POINT_RENAME(unorm_quickChe ckWithOptions)
#define unorm_setIter U_ICU_ENTRY_POINT_RENAME(unorm_setIter) #define unorm_setIter U_ICU_ENTRY_POINT_RENAME(unorm_setIter)
#define unum_applyPattern U_ICU_ENTRY_POINT_RENAME(unum_applyPattern) #define unum_applyPattern U_ICU_ENTRY_POINT_RENAME(unum_applyPattern)
skipping to change at line 1083 skipping to change at line 1119
#define unum_open U_ICU_ENTRY_POINT_RENAME(unum_open) #define unum_open U_ICU_ENTRY_POINT_RENAME(unum_open)
#define unum_parse U_ICU_ENTRY_POINT_RENAME(unum_parse) #define unum_parse U_ICU_ENTRY_POINT_RENAME(unum_parse)
#define unum_parseDouble U_ICU_ENTRY_POINT_RENAME(unum_parseDouble) #define unum_parseDouble U_ICU_ENTRY_POINT_RENAME(unum_parseDouble)
#define unum_parseDoubleCurrency U_ICU_ENTRY_POINT_RENAME(unum_parseDoubleC urrency) #define unum_parseDoubleCurrency U_ICU_ENTRY_POINT_RENAME(unum_parseDoubleC urrency)
#define unum_parseInt64 U_ICU_ENTRY_POINT_RENAME(unum_parseInt64) #define unum_parseInt64 U_ICU_ENTRY_POINT_RENAME(unum_parseInt64)
#define unum_setAttribute U_ICU_ENTRY_POINT_RENAME(unum_setAttribute) #define unum_setAttribute U_ICU_ENTRY_POINT_RENAME(unum_setAttribute)
#define unum_setDoubleAttribute U_ICU_ENTRY_POINT_RENAME(unum_setDoubleAttr ibute) #define unum_setDoubleAttribute U_ICU_ENTRY_POINT_RENAME(unum_setDoubleAttr ibute)
#define unum_setSymbol U_ICU_ENTRY_POINT_RENAME(unum_setSymbol) #define unum_setSymbol U_ICU_ENTRY_POINT_RENAME(unum_setSymbol)
#define unum_setTextAttribute U_ICU_ENTRY_POINT_RENAME(unum_setTextAttribut e) #define unum_setTextAttribute U_ICU_ENTRY_POINT_RENAME(unum_setTextAttribut e)
#define unum_toPattern U_ICU_ENTRY_POINT_RENAME(unum_toPattern) #define unum_toPattern U_ICU_ENTRY_POINT_RENAME(unum_toPattern)
#define uplug_closeLibrary U_ICU_ENTRY_POINT_RENAME(uplug_closeLibrary)
#define uplug_findLibrary U_ICU_ENTRY_POINT_RENAME(uplug_findLibrary)
#define uplug_getConfiguration U_ICU_ENTRY_POINT_RENAME(uplug_getConfigurat
ion)
#define uplug_getContext U_ICU_ENTRY_POINT_RENAME(uplug_getContext)
#define uplug_getCurrentLevel U_ICU_ENTRY_POINT_RENAME(uplug_getCurrentLeve
l)
#define uplug_getLibrary U_ICU_ENTRY_POINT_RENAME(uplug_getLibrary)
#define uplug_getLibraryName U_ICU_ENTRY_POINT_RENAME(uplug_getLibraryName)
#define uplug_getPlugInternal U_ICU_ENTRY_POINT_RENAME(uplug_getPlugInterna
l)
#define uplug_getPlugLevel U_ICU_ENTRY_POINT_RENAME(uplug_getPlugLevel)
#define uplug_getPlugLoadStatus U_ICU_ENTRY_POINT_RENAME(uplug_getPlugLoadS
tatus)
#define uplug_getPlugName U_ICU_ENTRY_POINT_RENAME(uplug_getPlugName)
#define uplug_getPluginFile U_ICU_ENTRY_POINT_RENAME(uplug_getPluginFile)
#define uplug_getSymbolName U_ICU_ENTRY_POINT_RENAME(uplug_getSymbolName)
#define uplug_init U_ICU_ENTRY_POINT_RENAME(uplug_init)
#define uplug_loadPlugFromEntrypoint U_ICU_ENTRY_POINT_RENAME(uplug_loadPlu
gFromEntrypoint)
#define uplug_loadPlugFromLibrary U_ICU_ENTRY_POINT_RENAME(uplug_loadPlugFr
omLibrary)
#define uplug_nextPlug U_ICU_ENTRY_POINT_RENAME(uplug_nextPlug)
#define uplug_openLibrary U_ICU_ENTRY_POINT_RENAME(uplug_openLibrary)
#define uplug_removePlug U_ICU_ENTRY_POINT_RENAME(uplug_removePlug)
#define uplug_setContext U_ICU_ENTRY_POINT_RENAME(uplug_setContext)
#define uplug_setPlugLevel U_ICU_ENTRY_POINT_RENAME(uplug_setPlugLevel)
#define uplug_setPlugName U_ICU_ENTRY_POINT_RENAME(uplug_setPlugName)
#define uplug_setPlugNoUnload U_ICU_ENTRY_POINT_RENAME(uplug_setPlugNoUnloa
d)
#define upname_swap U_ICU_ENTRY_POINT_RENAME(upname_swap) #define upname_swap U_ICU_ENTRY_POINT_RENAME(upname_swap)
#define uprops_getSource U_ICU_ENTRY_POINT_RENAME(uprops_getSource) #define uprops_getSource U_ICU_ENTRY_POINT_RENAME(uprops_getSource)
#define upropsvec_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(upropsvec_addP ropertyStarts) #define upropsvec_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(upropsvec_addP ropertyStarts)
#define uprv_asciiFromEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_asciiFromEbcdic) #define uprv_asciiFromEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_asciiFromEbcdic)
#define uprv_asciitolower U_ICU_ENTRY_POINT_RENAME(uprv_asciitolower) #define uprv_asciitolower U_ICU_ENTRY_POINT_RENAME(uprv_asciitolower)
#define uprv_ceil U_ICU_ENTRY_POINT_RENAME(uprv_ceil) #define uprv_ceil U_ICU_ENTRY_POINT_RENAME(uprv_ceil)
#define uprv_cnttab_addContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_add Contraction) #define uprv_cnttab_addContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_add Contraction)
#define uprv_cnttab_changeContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_ changeContraction) #define uprv_cnttab_changeContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_ changeContraction)
#define uprv_cnttab_changeLastCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_chang eLastCE) #define uprv_cnttab_changeLastCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_chang eLastCE)
#define uprv_cnttab_clone U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_clone) #define uprv_cnttab_clone U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_clone)
#define uprv_cnttab_close U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_close) #define uprv_cnttab_close U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_close)
#define uprv_cnttab_constructTable U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_con structTable) #define uprv_cnttab_constructTable U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_con structTable)
#define uprv_cnttab_findCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_findCE) #define uprv_cnttab_findCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_findCE)
#define uprv_cnttab_findCP U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_findCP) #define uprv_cnttab_findCP U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_findCP)
#define uprv_cnttab_getCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_getCE) #define uprv_cnttab_getCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_getCE)
#define uprv_cnttab_insertContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_ insertContraction) #define uprv_cnttab_insertContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_ insertContraction)
#define uprv_cnttab_isTailored U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_isTailo red) #define uprv_cnttab_isTailored U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_isTailo red)
#define uprv_cnttab_open U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_open) #define uprv_cnttab_open U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_open)
#define uprv_cnttab_setContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_set Contraction) #define uprv_cnttab_setContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_set Contraction)
#define uprv_collIterateAtEnd U_ICU_ENTRY_POINT_RENAME(uprv_collIterateAtEn d)
#define uprv_compareASCIIPropertyNames U_ICU_ENTRY_POINT_RENAME(uprv_compar eASCIIPropertyNames) #define uprv_compareASCIIPropertyNames U_ICU_ENTRY_POINT_RENAME(uprv_compar eASCIIPropertyNames)
#define uprv_compareEBCDICPropertyNames U_ICU_ENTRY_POINT_RENAME(uprv_compa reEBCDICPropertyNames) #define uprv_compareEBCDICPropertyNames U_ICU_ENTRY_POINT_RENAME(uprv_compa reEBCDICPropertyNames)
#define uprv_compareInvAscii U_ICU_ENTRY_POINT_RENAME(uprv_compareInvAscii) #define uprv_compareInvAscii U_ICU_ENTRY_POINT_RENAME(uprv_compareInvAscii)
#define uprv_compareInvEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_compareInvEbcdi c) #define uprv_compareInvEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_compareInvEbcdi c)
#define uprv_compareInvEbcdicAsAscii U_ICU_ENTRY_POINT_RENAME(uprv_compareI nvEbcdicAsAscii) #define uprv_compareInvEbcdicAsAscii U_ICU_ENTRY_POINT_RENAME(uprv_compareI nvEbcdicAsAscii)
#define uprv_convertToLCID U_ICU_ENTRY_POINT_RENAME(uprv_convertToLCID) #define uprv_convertToLCID U_ICU_ENTRY_POINT_RENAME(uprv_convertToLCID)
#define uprv_convertToPosix U_ICU_ENTRY_POINT_RENAME(uprv_convertToPosix) #define uprv_convertToPosix U_ICU_ENTRY_POINT_RENAME(uprv_convertToPosix)
#define uprv_copyAscii U_ICU_ENTRY_POINT_RENAME(uprv_copyAscii) #define uprv_copyAscii U_ICU_ENTRY_POINT_RENAME(uprv_copyAscii)
#define uprv_copyEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_copyEbcdic) #define uprv_copyEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_copyEbcdic)
#define uprv_decContextClearStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContext
ClearStatus)
#define uprv_decContextDefault U_ICU_ENTRY_POINT_RENAME(uprv_decContextDefa
ult)
#define uprv_decContextGetRounding U_ICU_ENTRY_POINT_RENAME(uprv_decContext
GetRounding)
#define uprv_decContextGetStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextGe
tStatus)
#define uprv_decContextRestoreStatus U_ICU_ENTRY_POINT_RENAME(uprv_decConte
xtRestoreStatus)
#define uprv_decContextSaveStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextS
aveStatus)
#define uprv_decContextSetRounding U_ICU_ENTRY_POINT_RENAME(uprv_decContext
SetRounding)
#define uprv_decContextSetStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextSe
tStatus)
#define uprv_decContextSetStatusFromString U_ICU_ENTRY_POINT_RENAME(uprv_de
cContextSetStatusFromString)
#define uprv_decContextSetStatusFromStringQuiet U_ICU_ENTRY_POINT_RENAME(up
rv_decContextSetStatusFromStringQuiet)
#define uprv_decContextSetStatusQuiet U_ICU_ENTRY_POINT_RENAME(uprv_decCont
extSetStatusQuiet)
#define uprv_decContextStatusToString U_ICU_ENTRY_POINT_RENAME(uprv_decCont
extStatusToString)
#define uprv_decContextTestEndian U_ICU_ENTRY_POINT_RENAME(uprv_decContextT
estEndian)
#define uprv_decContextTestSavedStatus U_ICU_ENTRY_POINT_RENAME(uprv_decCon
textTestSavedStatus)
#define uprv_decContextTestStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextT
estStatus)
#define uprv_decContextZeroStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextZ
eroStatus)
#define uprv_decNumberAbs U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAbs)
#define uprv_decNumberAdd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAdd)
#define uprv_decNumberAnd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAnd)
#define uprv_decNumberClass U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClass)
#define uprv_decNumberClassToString U_ICU_ENTRY_POINT_RENAME(uprv_decNumber
ClassToString)
#define uprv_decNumberCompare U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompar
e)
#define uprv_decNumberCompareSignal U_ICU_ENTRY_POINT_RENAME(uprv_decNumber
CompareSignal)
#define uprv_decNumberCompareTotal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberC
ompareTotal)
#define uprv_decNumberCompareTotalMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumb
erCompareTotalMag)
#define uprv_decNumberCopy U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopy)
#define uprv_decNumberCopyAbs U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopyAb
s)
#define uprv_decNumberCopyNegate U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCop
yNegate)
#define uprv_decNumberCopySign U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopyS
ign)
#define uprv_decNumberDivide U_ICU_ENTRY_POINT_RENAME(uprv_decNumberDivide)
#define uprv_decNumberDivideInteger U_ICU_ENTRY_POINT_RENAME(uprv_decNumber
DivideInteger)
#define uprv_decNumberExp U_ICU_ENTRY_POINT_RENAME(uprv_decNumberExp)
#define uprv_decNumberFMA U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFMA)
#define uprv_decNumberFromInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFrom
Int32)
#define uprv_decNumberFromString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFro
mString)
#define uprv_decNumberFromUInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFro
mUInt32)
#define uprv_decNumberGetBCD U_ICU_ENTRY_POINT_RENAME(uprv_decNumberGetBCD)
#define uprv_decNumberInvert U_ICU_ENTRY_POINT_RENAME(uprv_decNumberInvert)
#define uprv_decNumberIsNormal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberIsNor
mal)
#define uprv_decNumberIsSubnormal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberIs
Subnormal)
#define uprv_decNumberLn U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLn)
#define uprv_decNumberLog10 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLog10)
#define uprv_decNumberLogB U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLogB)
#define uprv_decNumberMax U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMax)
#define uprv_decNumberMaxMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMaxMag)
#define uprv_decNumberMin U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMin)
#define uprv_decNumberMinMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMinMag)
#define uprv_decNumberMinus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMinus)
#define uprv_decNumberMultiply U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMulti
ply)
#define uprv_decNumberNextMinus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNext
Minus)
#define uprv_decNumberNextPlus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNextP
lus)
#define uprv_decNumberNextToward U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNex
tToward)
#define uprv_decNumberNormalize U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNorm
alize)
#define uprv_decNumberOr U_ICU_ENTRY_POINT_RENAME(uprv_decNumberOr)
#define uprv_decNumberPlus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberPlus)
#define uprv_decNumberPower U_ICU_ENTRY_POINT_RENAME(uprv_decNumberPower)
#define uprv_decNumberQuantize U_ICU_ENTRY_POINT_RENAME(uprv_decNumberQuant
ize)
#define uprv_decNumberReduce U_ICU_ENTRY_POINT_RENAME(uprv_decNumberReduce)
#define uprv_decNumberRemainder U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRema
inder)
#define uprv_decNumberRemainderNear U_ICU_ENTRY_POINT_RENAME(uprv_decNumber
RemainderNear)
#define uprv_decNumberRescale U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRescal
e)
#define uprv_decNumberRotate U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRotate)
#define uprv_decNumberSameQuantum U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSa
meQuantum)
#define uprv_decNumberScaleB U_ICU_ENTRY_POINT_RENAME(uprv_decNumberScaleB)
#define uprv_decNumberSetBCD U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSetBCD)
#define uprv_decNumberShift U_ICU_ENTRY_POINT_RENAME(uprv_decNumberShift)
#define uprv_decNumberSquareRoot U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSqu
areRoot)
#define uprv_decNumberSubtract U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSubtr
act)
#define uprv_decNumberToEngString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberTo
EngString)
#define uprv_decNumberToInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToInt3
2)
#define uprv_decNumberToIntegralExact U_ICU_ENTRY_POINT_RENAME(uprv_decNumb
erToIntegralExact)
#define uprv_decNumberToIntegralValue U_ICU_ENTRY_POINT_RENAME(uprv_decNumb
erToIntegralValue)
#define uprv_decNumberToString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToStr
ing)
#define uprv_decNumberToUInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToUIn
t32)
#define uprv_decNumberTrim U_ICU_ENTRY_POINT_RENAME(uprv_decNumberTrim)
#define uprv_decNumberVersion U_ICU_ENTRY_POINT_RENAME(uprv_decNumberVersio
n)
#define uprv_decNumberXor U_ICU_ENTRY_POINT_RENAME(uprv_decNumberXor)
#define uprv_decNumberZero U_ICU_ENTRY_POINT_RENAME(uprv_decNumberZero)
#define uprv_delete_collIterate U_ICU_ENTRY_POINT_RENAME(uprv_delete_collIt
erate)
#define uprv_dl_close U_ICU_ENTRY_POINT_RENAME(uprv_dl_close)
#define uprv_dl_open U_ICU_ENTRY_POINT_RENAME(uprv_dl_open)
#define uprv_dl_sym U_ICU_ENTRY_POINT_RENAME(uprv_dl_sym)
#define uprv_ebcdicFromAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicFromAscii) #define uprv_ebcdicFromAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicFromAscii)
#define uprv_ebcdictolower U_ICU_ENTRY_POINT_RENAME(uprv_ebcdictolower) #define uprv_ebcdictolower U_ICU_ENTRY_POINT_RENAME(uprv_ebcdictolower)
#define uprv_fabs U_ICU_ENTRY_POINT_RENAME(uprv_fabs) #define uprv_fabs U_ICU_ENTRY_POINT_RENAME(uprv_fabs)
#define uprv_floor U_ICU_ENTRY_POINT_RENAME(uprv_floor) #define uprv_floor U_ICU_ENTRY_POINT_RENAME(uprv_floor)
#define uprv_fmax U_ICU_ENTRY_POINT_RENAME(uprv_fmax) #define uprv_fmax U_ICU_ENTRY_POINT_RENAME(uprv_fmax)
#define uprv_fmin U_ICU_ENTRY_POINT_RENAME(uprv_fmin) #define uprv_fmin U_ICU_ENTRY_POINT_RENAME(uprv_fmin)
#define uprv_fmod U_ICU_ENTRY_POINT_RENAME(uprv_fmod) #define uprv_fmod U_ICU_ENTRY_POINT_RENAME(uprv_fmod)
#define uprv_free U_ICU_ENTRY_POINT_RENAME(uprv_free) #define uprv_free U_ICU_ENTRY_POINT_RENAME(uprv_free)
#define uprv_getCharNameCharacters U_ICU_ENTRY_POINT_RENAME(uprv_getCharNam eCharacters) #define uprv_getCharNameCharacters U_ICU_ENTRY_POINT_RENAME(uprv_getCharNam eCharacters)
#define uprv_getDefaultCodepage U_ICU_ENTRY_POINT_RENAME(uprv_getDefaultCod epage) #define uprv_getDefaultCodepage U_ICU_ENTRY_POINT_RENAME(uprv_getDefaultCod epage)
skipping to change at line 1148 skipping to change at line 1290
#define uprv_isRuleWhiteSpace U_ICU_ENTRY_POINT_RENAME(uprv_isRuleWhiteSpac e) #define uprv_isRuleWhiteSpace U_ICU_ENTRY_POINT_RENAME(uprv_isRuleWhiteSpac e)
#define uprv_itou U_ICU_ENTRY_POINT_RENAME(uprv_itou) #define uprv_itou U_ICU_ENTRY_POINT_RENAME(uprv_itou)
#define uprv_log U_ICU_ENTRY_POINT_RENAME(uprv_log) #define uprv_log U_ICU_ENTRY_POINT_RENAME(uprv_log)
#define uprv_malloc U_ICU_ENTRY_POINT_RENAME(uprv_malloc) #define uprv_malloc U_ICU_ENTRY_POINT_RENAME(uprv_malloc)
#define uprv_mapFile U_ICU_ENTRY_POINT_RENAME(uprv_mapFile) #define uprv_mapFile U_ICU_ENTRY_POINT_RENAME(uprv_mapFile)
#define uprv_max U_ICU_ENTRY_POINT_RENAME(uprv_max) #define uprv_max U_ICU_ENTRY_POINT_RENAME(uprv_max)
#define uprv_maxMantissa U_ICU_ENTRY_POINT_RENAME(uprv_maxMantissa) #define uprv_maxMantissa U_ICU_ENTRY_POINT_RENAME(uprv_maxMantissa)
#define uprv_maximumPtr U_ICU_ENTRY_POINT_RENAME(uprv_maximumPtr) #define uprv_maximumPtr U_ICU_ENTRY_POINT_RENAME(uprv_maximumPtr)
#define uprv_min U_ICU_ENTRY_POINT_RENAME(uprv_min) #define uprv_min U_ICU_ENTRY_POINT_RENAME(uprv_min)
#define uprv_modf U_ICU_ENTRY_POINT_RENAME(uprv_modf) #define uprv_modf U_ICU_ENTRY_POINT_RENAME(uprv_modf)
#define uprv_new_collIterate U_ICU_ENTRY_POINT_RENAME(uprv_new_collIterate)
#define uprv_openRuleWhiteSpaceSet U_ICU_ENTRY_POINT_RENAME(uprv_openRuleWh iteSpaceSet) #define uprv_openRuleWhiteSpaceSet U_ICU_ENTRY_POINT_RENAME(uprv_openRuleWh iteSpaceSet)
#define uprv_parseCurrency U_ICU_ENTRY_POINT_RENAME(uprv_parseCurrency) #define uprv_parseCurrency U_ICU_ENTRY_POINT_RENAME(uprv_parseCurrency)
#define uprv_pathIsAbsolute U_ICU_ENTRY_POINT_RENAME(uprv_pathIsAbsolute) #define uprv_pathIsAbsolute U_ICU_ENTRY_POINT_RENAME(uprv_pathIsAbsolute)
#define uprv_pow U_ICU_ENTRY_POINT_RENAME(uprv_pow) #define uprv_pow U_ICU_ENTRY_POINT_RENAME(uprv_pow)
#define uprv_pow10 U_ICU_ENTRY_POINT_RENAME(uprv_pow10) #define uprv_pow10 U_ICU_ENTRY_POINT_RENAME(uprv_pow10)
#define uprv_realloc U_ICU_ENTRY_POINT_RENAME(uprv_realloc) #define uprv_realloc U_ICU_ENTRY_POINT_RENAME(uprv_realloc)
#define uprv_round U_ICU_ENTRY_POINT_RENAME(uprv_round) #define uprv_round U_ICU_ENTRY_POINT_RENAME(uprv_round)
#define uprv_sortArray U_ICU_ENTRY_POINT_RENAME(uprv_sortArray) #define uprv_sortArray U_ICU_ENTRY_POINT_RENAME(uprv_sortArray)
#define uprv_strCompare U_ICU_ENTRY_POINT_RENAME(uprv_strCompare) #define uprv_strCompare U_ICU_ENTRY_POINT_RENAME(uprv_strCompare)
#define uprv_strdup U_ICU_ENTRY_POINT_RENAME(uprv_strdup) #define uprv_strdup U_ICU_ENTRY_POINT_RENAME(uprv_strdup)
skipping to change at line 1190 skipping to change at line 1333
#define upvec_compact U_ICU_ENTRY_POINT_RENAME(upvec_compact) #define upvec_compact U_ICU_ENTRY_POINT_RENAME(upvec_compact)
#define upvec_compactToUTrie2Handler U_ICU_ENTRY_POINT_RENAME(upvec_compact ToUTrie2Handler) #define upvec_compactToUTrie2Handler U_ICU_ENTRY_POINT_RENAME(upvec_compact ToUTrie2Handler)
#define upvec_compactToUTrie2WithRowIndexes U_ICU_ENTRY_POINT_RENAME(upvec_ compactToUTrie2WithRowIndexes) #define upvec_compactToUTrie2WithRowIndexes U_ICU_ENTRY_POINT_RENAME(upvec_ compactToUTrie2WithRowIndexes)
#define upvec_compactToUTrieHandler U_ICU_ENTRY_POINT_RENAME(upvec_compactT oUTrieHandler) #define upvec_compactToUTrieHandler U_ICU_ENTRY_POINT_RENAME(upvec_compactT oUTrieHandler)
#define upvec_getArray U_ICU_ENTRY_POINT_RENAME(upvec_getArray) #define upvec_getArray U_ICU_ENTRY_POINT_RENAME(upvec_getArray)
#define upvec_getRow U_ICU_ENTRY_POINT_RENAME(upvec_getRow) #define upvec_getRow U_ICU_ENTRY_POINT_RENAME(upvec_getRow)
#define upvec_getValue U_ICU_ENTRY_POINT_RENAME(upvec_getValue) #define upvec_getValue U_ICU_ENTRY_POINT_RENAME(upvec_getValue)
#define upvec_open U_ICU_ENTRY_POINT_RENAME(upvec_open) #define upvec_open U_ICU_ENTRY_POINT_RENAME(upvec_open)
#define upvec_setValue U_ICU_ENTRY_POINT_RENAME(upvec_setValue) #define upvec_setValue U_ICU_ENTRY_POINT_RENAME(upvec_setValue)
#define uregex_appendReplacement U_ICU_ENTRY_POINT_RENAME(uregex_appendRepl acement) #define uregex_appendReplacement U_ICU_ENTRY_POINT_RENAME(uregex_appendRepl acement)
#define uregex_appendReplacementUText U_ICU_ENTRY_POINT_RENAME(uregex_appen dReplacementUText)
#define uregex_appendTail U_ICU_ENTRY_POINT_RENAME(uregex_appendTail) #define uregex_appendTail U_ICU_ENTRY_POINT_RENAME(uregex_appendTail)
#define uregex_appendTailUText U_ICU_ENTRY_POINT_RENAME(uregex_appendTailUT ext)
#define uregex_clone U_ICU_ENTRY_POINT_RENAME(uregex_clone) #define uregex_clone U_ICU_ENTRY_POINT_RENAME(uregex_clone)
#define uregex_close U_ICU_ENTRY_POINT_RENAME(uregex_close) #define uregex_close U_ICU_ENTRY_POINT_RENAME(uregex_close)
#define uregex_end U_ICU_ENTRY_POINT_RENAME(uregex_end) #define uregex_end U_ICU_ENTRY_POINT_RENAME(uregex_end)
#define uregex_find U_ICU_ENTRY_POINT_RENAME(uregex_find) #define uregex_find U_ICU_ENTRY_POINT_RENAME(uregex_find)
#define uregex_findNext U_ICU_ENTRY_POINT_RENAME(uregex_findNext) #define uregex_findNext U_ICU_ENTRY_POINT_RENAME(uregex_findNext)
#define uregex_flags U_ICU_ENTRY_POINT_RENAME(uregex_flags) #define uregex_flags U_ICU_ENTRY_POINT_RENAME(uregex_flags)
#define uregex_getMatchCallback U_ICU_ENTRY_POINT_RENAME(uregex_getMatchCal lback) #define uregex_getMatchCallback U_ICU_ENTRY_POINT_RENAME(uregex_getMatchCal lback)
#define uregex_getStackLimit U_ICU_ENTRY_POINT_RENAME(uregex_getStackLimit) #define uregex_getStackLimit U_ICU_ENTRY_POINT_RENAME(uregex_getStackLimit)
#define uregex_getText U_ICU_ENTRY_POINT_RENAME(uregex_getText) #define uregex_getText U_ICU_ENTRY_POINT_RENAME(uregex_getText)
#define uregex_getTimeLimit U_ICU_ENTRY_POINT_RENAME(uregex_getTimeLimit) #define uregex_getTimeLimit U_ICU_ENTRY_POINT_RENAME(uregex_getTimeLimit)
#define uregex_getUText U_ICU_ENTRY_POINT_RENAME(uregex_getUText)
#define uregex_group U_ICU_ENTRY_POINT_RENAME(uregex_group) #define uregex_group U_ICU_ENTRY_POINT_RENAME(uregex_group)
#define uregex_groupCount U_ICU_ENTRY_POINT_RENAME(uregex_groupCount) #define uregex_groupCount U_ICU_ENTRY_POINT_RENAME(uregex_groupCount)
#define uregex_groupUText U_ICU_ENTRY_POINT_RENAME(uregex_groupUText)
#define uregex_hasAnchoringBounds U_ICU_ENTRY_POINT_RENAME(uregex_hasAnchor ingBounds) #define uregex_hasAnchoringBounds U_ICU_ENTRY_POINT_RENAME(uregex_hasAnchor ingBounds)
#define uregex_hasTransparentBounds U_ICU_ENTRY_POINT_RENAME(uregex_hasTran sparentBounds) #define uregex_hasTransparentBounds U_ICU_ENTRY_POINT_RENAME(uregex_hasTran sparentBounds)
#define uregex_hitEnd U_ICU_ENTRY_POINT_RENAME(uregex_hitEnd) #define uregex_hitEnd U_ICU_ENTRY_POINT_RENAME(uregex_hitEnd)
#define uregex_lookingAt U_ICU_ENTRY_POINT_RENAME(uregex_lookingAt) #define uregex_lookingAt U_ICU_ENTRY_POINT_RENAME(uregex_lookingAt)
#define uregex_matches U_ICU_ENTRY_POINT_RENAME(uregex_matches) #define uregex_matches U_ICU_ENTRY_POINT_RENAME(uregex_matches)
#define uregex_open U_ICU_ENTRY_POINT_RENAME(uregex_open) #define uregex_open U_ICU_ENTRY_POINT_RENAME(uregex_open)
#define uregex_openC U_ICU_ENTRY_POINT_RENAME(uregex_openC) #define uregex_openC U_ICU_ENTRY_POINT_RENAME(uregex_openC)
#define uregex_openUText U_ICU_ENTRY_POINT_RENAME(uregex_openUText)
#define uregex_pattern U_ICU_ENTRY_POINT_RENAME(uregex_pattern) #define uregex_pattern U_ICU_ENTRY_POINT_RENAME(uregex_pattern)
#define uregex_patternUText U_ICU_ENTRY_POINT_RENAME(uregex_patternUText)
#define uregex_regionEnd U_ICU_ENTRY_POINT_RENAME(uregex_regionEnd) #define uregex_regionEnd U_ICU_ENTRY_POINT_RENAME(uregex_regionEnd)
#define uregex_regionStart U_ICU_ENTRY_POINT_RENAME(uregex_regionStart) #define uregex_regionStart U_ICU_ENTRY_POINT_RENAME(uregex_regionStart)
#define uregex_replaceAll U_ICU_ENTRY_POINT_RENAME(uregex_replaceAll) #define uregex_replaceAll U_ICU_ENTRY_POINT_RENAME(uregex_replaceAll)
#define uregex_replaceAllUText U_ICU_ENTRY_POINT_RENAME(uregex_replaceAllUT ext)
#define uregex_replaceFirst U_ICU_ENTRY_POINT_RENAME(uregex_replaceFirst) #define uregex_replaceFirst U_ICU_ENTRY_POINT_RENAME(uregex_replaceFirst)
#define uregex_replaceFirstUText U_ICU_ENTRY_POINT_RENAME(uregex_replaceFir stUText)
#define uregex_requireEnd U_ICU_ENTRY_POINT_RENAME(uregex_requireEnd) #define uregex_requireEnd U_ICU_ENTRY_POINT_RENAME(uregex_requireEnd)
#define uregex_reset U_ICU_ENTRY_POINT_RENAME(uregex_reset) #define uregex_reset U_ICU_ENTRY_POINT_RENAME(uregex_reset)
#define uregex_setMatchCallback U_ICU_ENTRY_POINT_RENAME(uregex_setMatchCal lback) #define uregex_setMatchCallback U_ICU_ENTRY_POINT_RENAME(uregex_setMatchCal lback)
#define uregex_setRegion U_ICU_ENTRY_POINT_RENAME(uregex_setRegion) #define uregex_setRegion U_ICU_ENTRY_POINT_RENAME(uregex_setRegion)
#define uregex_setStackLimit U_ICU_ENTRY_POINT_RENAME(uregex_setStackLimit) #define uregex_setStackLimit U_ICU_ENTRY_POINT_RENAME(uregex_setStackLimit)
#define uregex_setText U_ICU_ENTRY_POINT_RENAME(uregex_setText) #define uregex_setText U_ICU_ENTRY_POINT_RENAME(uregex_setText)
#define uregex_setTimeLimit U_ICU_ENTRY_POINT_RENAME(uregex_setTimeLimit) #define uregex_setTimeLimit U_ICU_ENTRY_POINT_RENAME(uregex_setTimeLimit)
#define uregex_setUText U_ICU_ENTRY_POINT_RENAME(uregex_setUText)
#define uregex_split U_ICU_ENTRY_POINT_RENAME(uregex_split) #define uregex_split U_ICU_ENTRY_POINT_RENAME(uregex_split)
#define uregex_splitUText U_ICU_ENTRY_POINT_RENAME(uregex_splitUText)
#define uregex_start U_ICU_ENTRY_POINT_RENAME(uregex_start) #define uregex_start U_ICU_ENTRY_POINT_RENAME(uregex_start)
#define uregex_ucstr_unescape_charAt U_ICU_ENTRY_POINT_RENAME(uregex_ucstr_ unescape_charAt)
#define uregex_useAnchoringBounds U_ICU_ENTRY_POINT_RENAME(uregex_useAnchor ingBounds) #define uregex_useAnchoringBounds U_ICU_ENTRY_POINT_RENAME(uregex_useAnchor ingBounds)
#define uregex_useTransparentBounds U_ICU_ENTRY_POINT_RENAME(uregex_useTran sparentBounds) #define uregex_useTransparentBounds U_ICU_ENTRY_POINT_RENAME(uregex_useTran sparentBounds)
#define uregex_utext_unescape_charAt U_ICU_ENTRY_POINT_RENAME(uregex_utext_ unescape_charAt)
#define ures_close U_ICU_ENTRY_POINT_RENAME(ures_close) #define ures_close U_ICU_ENTRY_POINT_RENAME(ures_close)
#define ures_copyResb U_ICU_ENTRY_POINT_RENAME(ures_copyResb) #define ures_copyResb U_ICU_ENTRY_POINT_RENAME(ures_copyResb)
#define ures_countArrayItems U_ICU_ENTRY_POINT_RENAME(ures_countArrayItems) #define ures_countArrayItems U_ICU_ENTRY_POINT_RENAME(ures_countArrayItems)
#define ures_findResource U_ICU_ENTRY_POINT_RENAME(ures_findResource) #define ures_findResource U_ICU_ENTRY_POINT_RENAME(ures_findResource)
#define ures_findSubResource U_ICU_ENTRY_POINT_RENAME(ures_findSubResource) #define ures_findSubResource U_ICU_ENTRY_POINT_RENAME(ures_findSubResource)
#define ures_getBinary U_ICU_ENTRY_POINT_RENAME(ures_getBinary) #define ures_getBinary U_ICU_ENTRY_POINT_RENAME(ures_getBinary)
#define ures_getByIndex U_ICU_ENTRY_POINT_RENAME(ures_getByIndex) #define ures_getByIndex U_ICU_ENTRY_POINT_RENAME(ures_getByIndex)
#define ures_getByKey U_ICU_ENTRY_POINT_RENAME(ures_getByKey) #define ures_getByKey U_ICU_ENTRY_POINT_RENAME(ures_getByKey)
#define ures_getByKeyWithFallback U_ICU_ENTRY_POINT_RENAME(ures_getByKeyWit hFallback) #define ures_getByKeyWithFallback U_ICU_ENTRY_POINT_RENAME(ures_getByKeyWit hFallback)
#define ures_getFunctionalEquivalent U_ICU_ENTRY_POINT_RENAME(ures_getFunct ionalEquivalent) #define ures_getFunctionalEquivalent U_ICU_ENTRY_POINT_RENAME(ures_getFunct ionalEquivalent)
skipping to change at line 1396 skipping to change at line 1551
#define uspoof_swap U_ICU_ENTRY_POINT_RENAME(uspoof_swap) #define uspoof_swap U_ICU_ENTRY_POINT_RENAME(uspoof_swap)
#define usprep_close U_ICU_ENTRY_POINT_RENAME(usprep_close) #define usprep_close U_ICU_ENTRY_POINT_RENAME(usprep_close)
#define usprep_open U_ICU_ENTRY_POINT_RENAME(usprep_open) #define usprep_open U_ICU_ENTRY_POINT_RENAME(usprep_open)
#define usprep_openByType U_ICU_ENTRY_POINT_RENAME(usprep_openByType) #define usprep_openByType U_ICU_ENTRY_POINT_RENAME(usprep_openByType)
#define usprep_prepare U_ICU_ENTRY_POINT_RENAME(usprep_prepare) #define usprep_prepare U_ICU_ENTRY_POINT_RENAME(usprep_prepare)
#define usprep_swap U_ICU_ENTRY_POINT_RENAME(usprep_swap) #define usprep_swap U_ICU_ENTRY_POINT_RENAME(usprep_swap)
#define ustr_foldCase U_ICU_ENTRY_POINT_RENAME(ustr_foldCase) #define ustr_foldCase U_ICU_ENTRY_POINT_RENAME(ustr_foldCase)
#define ustr_toLower U_ICU_ENTRY_POINT_RENAME(ustr_toLower) #define ustr_toLower U_ICU_ENTRY_POINT_RENAME(ustr_toLower)
#define ustr_toTitle U_ICU_ENTRY_POINT_RENAME(ustr_toTitle) #define ustr_toTitle U_ICU_ENTRY_POINT_RENAME(ustr_toTitle)
#define ustr_toUpper U_ICU_ENTRY_POINT_RENAME(ustr_toUpper) #define ustr_toUpper U_ICU_ENTRY_POINT_RENAME(ustr_toUpper)
#define utext_caseCompare U_ICU_ENTRY_POINT_RENAME(utext_caseCompare)
#define utext_caseCompareNativeLimit U_ICU_ENTRY_POINT_RENAME(utext_caseCom
pareNativeLimit)
#define utext_char32At U_ICU_ENTRY_POINT_RENAME(utext_char32At) #define utext_char32At U_ICU_ENTRY_POINT_RENAME(utext_char32At)
#define utext_clone U_ICU_ENTRY_POINT_RENAME(utext_clone) #define utext_clone U_ICU_ENTRY_POINT_RENAME(utext_clone)
#define utext_close U_ICU_ENTRY_POINT_RENAME(utext_close) #define utext_close U_ICU_ENTRY_POINT_RENAME(utext_close)
#define utext_compare U_ICU_ENTRY_POINT_RENAME(utext_compare)
#define utext_compareNativeLimit U_ICU_ENTRY_POINT_RENAME(utext_compareNati
veLimit)
#define utext_copy U_ICU_ENTRY_POINT_RENAME(utext_copy) #define utext_copy U_ICU_ENTRY_POINT_RENAME(utext_copy)
#define utext_current32 U_ICU_ENTRY_POINT_RENAME(utext_current32) #define utext_current32 U_ICU_ENTRY_POINT_RENAME(utext_current32)
#define utext_equals U_ICU_ENTRY_POINT_RENAME(utext_equals) #define utext_equals U_ICU_ENTRY_POINT_RENAME(utext_equals)
#define utext_extract U_ICU_ENTRY_POINT_RENAME(utext_extract) #define utext_extract U_ICU_ENTRY_POINT_RENAME(utext_extract)
#define utext_freeze U_ICU_ENTRY_POINT_RENAME(utext_freeze) #define utext_freeze U_ICU_ENTRY_POINT_RENAME(utext_freeze)
#define utext_getNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_getNativeIndex) #define utext_getNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_getNativeIndex)
#define utext_getPreviousNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_getPrev iousNativeIndex) #define utext_getPreviousNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_getPrev iousNativeIndex)
#define utext_hasMetaData U_ICU_ENTRY_POINT_RENAME(utext_hasMetaData) #define utext_hasMetaData U_ICU_ENTRY_POINT_RENAME(utext_hasMetaData)
#define utext_isLengthExpensive U_ICU_ENTRY_POINT_RENAME(utext_isLengthExpe nsive) #define utext_isLengthExpensive U_ICU_ENTRY_POINT_RENAME(utext_isLengthExpe nsive)
#define utext_isWritable U_ICU_ENTRY_POINT_RENAME(utext_isWritable) #define utext_isWritable U_ICU_ENTRY_POINT_RENAME(utext_isWritable)
skipping to change at line 1499 skipping to change at line 1658
#define utrie_enum U_ICU_ENTRY_POINT_RENAME(utrie_enum) #define utrie_enum U_ICU_ENTRY_POINT_RENAME(utrie_enum)
#define utrie_get32 U_ICU_ENTRY_POINT_RENAME(utrie_get32) #define utrie_get32 U_ICU_ENTRY_POINT_RENAME(utrie_get32)
#define utrie_getData U_ICU_ENTRY_POINT_RENAME(utrie_getData) #define utrie_getData U_ICU_ENTRY_POINT_RENAME(utrie_getData)
#define utrie_open U_ICU_ENTRY_POINT_RENAME(utrie_open) #define utrie_open U_ICU_ENTRY_POINT_RENAME(utrie_open)
#define utrie_serialize U_ICU_ENTRY_POINT_RENAME(utrie_serialize) #define utrie_serialize U_ICU_ENTRY_POINT_RENAME(utrie_serialize)
#define utrie_set32 U_ICU_ENTRY_POINT_RENAME(utrie_set32) #define utrie_set32 U_ICU_ENTRY_POINT_RENAME(utrie_set32)
#define utrie_setRange32 U_ICU_ENTRY_POINT_RENAME(utrie_setRange32) #define utrie_setRange32 U_ICU_ENTRY_POINT_RENAME(utrie_setRange32)
#define utrie_swap U_ICU_ENTRY_POINT_RENAME(utrie_swap) #define utrie_swap U_ICU_ENTRY_POINT_RENAME(utrie_swap)
#define utrie_unserialize U_ICU_ENTRY_POINT_RENAME(utrie_unserialize) #define utrie_unserialize U_ICU_ENTRY_POINT_RENAME(utrie_unserialize)
#define utrie_unserializeDummy U_ICU_ENTRY_POINT_RENAME(utrie_unserializeDu mmy) #define utrie_unserializeDummy U_ICU_ENTRY_POINT_RENAME(utrie_unserializeDu mmy)
#define vzone_clone U_ICU_ENTRY_POINT_RENAME(vzone_clone)
#define vzone_close U_ICU_ENTRY_POINT_RENAME(vzone_close)
#define vzone_countTransitionRules U_ICU_ENTRY_POINT_RENAME(vzone_countTran
sitionRules)
#define vzone_equals U_ICU_ENTRY_POINT_RENAME(vzone_equals)
#define vzone_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(vzone_getDynamicCl
assID)
#define vzone_getLastModified U_ICU_ENTRY_POINT_RENAME(vzone_getLastModifie
d)
#define vzone_getNextTransition U_ICU_ENTRY_POINT_RENAME(vzone_getNextTrans
ition)
#define vzone_getOffset U_ICU_ENTRY_POINT_RENAME(vzone_getOffset)
#define vzone_getOffset2 U_ICU_ENTRY_POINT_RENAME(vzone_getOffset2)
#define vzone_getOffset3 U_ICU_ENTRY_POINT_RENAME(vzone_getOffset3)
#define vzone_getPreviousTransition U_ICU_ENTRY_POINT_RENAME(vzone_getPrevi
ousTransition)
#define vzone_getRawOffset U_ICU_ENTRY_POINT_RENAME(vzone_getRawOffset)
#define vzone_getStaticClassID U_ICU_ENTRY_POINT_RENAME(vzone_getStaticClas
sID)
#define vzone_getTZURL U_ICU_ENTRY_POINT_RENAME(vzone_getTZURL)
#define vzone_hasSameRules U_ICU_ENTRY_POINT_RENAME(vzone_hasSameRules)
#define vzone_inDaylightTime U_ICU_ENTRY_POINT_RENAME(vzone_inDaylightTime)
#define vzone_openData U_ICU_ENTRY_POINT_RENAME(vzone_openData)
#define vzone_openID U_ICU_ENTRY_POINT_RENAME(vzone_openID)
#define vzone_setLastModified U_ICU_ENTRY_POINT_RENAME(vzone_setLastModifie
d)
#define vzone_setRawOffset U_ICU_ENTRY_POINT_RENAME(vzone_setRawOffset)
#define vzone_setTZURL U_ICU_ENTRY_POINT_RENAME(vzone_setTZURL)
#define vzone_useDaylightTime U_ICU_ENTRY_POINT_RENAME(vzone_useDaylightTim
e)
#define vzone_write U_ICU_ENTRY_POINT_RENAME(vzone_write)
#define vzone_writeFromStart U_ICU_ENTRY_POINT_RENAME(vzone_writeFromStart)
#define vzone_writeSimple U_ICU_ENTRY_POINT_RENAME(vzone_writeSimple)
#define zrule_close U_ICU_ENTRY_POINT_RENAME(zrule_close)
#define zrule_equals U_ICU_ENTRY_POINT_RENAME(zrule_equals)
#define zrule_getDSTSavings U_ICU_ENTRY_POINT_RENAME(zrule_getDSTSavings)
#define zrule_getName U_ICU_ENTRY_POINT_RENAME(zrule_getName)
#define zrule_getRawOffset U_ICU_ENTRY_POINT_RENAME(zrule_getRawOffset)
#define zrule_isEquivalentTo U_ICU_ENTRY_POINT_RENAME(zrule_isEquivalentTo)
#define ztrans_adoptFrom U_ICU_ENTRY_POINT_RENAME(ztrans_adoptFrom)
#define ztrans_adoptTo U_ICU_ENTRY_POINT_RENAME(ztrans_adoptTo)
#define ztrans_clone U_ICU_ENTRY_POINT_RENAME(ztrans_clone)
#define ztrans_close U_ICU_ENTRY_POINT_RENAME(ztrans_close)
#define ztrans_equals U_ICU_ENTRY_POINT_RENAME(ztrans_equals)
#define ztrans_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(ztrans_getDynamic
ClassID)
#define ztrans_getFrom U_ICU_ENTRY_POINT_RENAME(ztrans_getFrom)
#define ztrans_getStaticClassID U_ICU_ENTRY_POINT_RENAME(ztrans_getStaticCl
assID)
#define ztrans_getTime U_ICU_ENTRY_POINT_RENAME(ztrans_getTime)
#define ztrans_getTo U_ICU_ENTRY_POINT_RENAME(ztrans_getTo)
#define ztrans_open U_ICU_ENTRY_POINT_RENAME(ztrans_open)
#define ztrans_openEmpty U_ICU_ENTRY_POINT_RENAME(ztrans_openEmpty)
#define ztrans_setFrom U_ICU_ENTRY_POINT_RENAME(ztrans_setFrom)
#define ztrans_setTime U_ICU_ENTRY_POINT_RENAME(ztrans_setTime)
#define ztrans_setTo U_ICU_ENTRY_POINT_RENAME(ztrans_setTo)
/* C++ class names renaming defines */ /* C++ class names renaming defines */
#ifdef XP_CPLUSPLUS #ifdef XP_CPLUSPLUS
#if !U_HAVE_NAMESPACE #if !U_HAVE_NAMESPACE
#define AbsoluteValueSubstitution U_ICU_ENTRY_POINT_RENAME(AbsoluteValueSub stitution) #define AbsoluteValueSubstitution U_ICU_ENTRY_POINT_RENAME(AbsoluteValueSub stitution)
#define AlternateSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(AlternateSub stitutionSubtable) #define AlternateSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(AlternateSub stitutionSubtable)
#define AnchorTable U_ICU_ENTRY_POINT_RENAME(AnchorTable) #define AnchorTable U_ICU_ENTRY_POINT_RENAME(AnchorTable)
#define AndConstraint U_ICU_ENTRY_POINT_RENAME(AndConstraint) #define AndConstraint U_ICU_ENTRY_POINT_RENAME(AndConstraint)
#define AnnualTimeZoneRule U_ICU_ENTRY_POINT_RENAME(AnnualTimeZoneRule) #define AnnualTimeZoneRule U_ICU_ENTRY_POINT_RENAME(AnnualTimeZoneRule)
#define AnyTransliterator U_ICU_ENTRY_POINT_RENAME(AnyTransliterator) #define AnyTransliterator U_ICU_ENTRY_POINT_RENAME(AnyTransliterator)
#define ArabicOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(ArabicOpenTypeL ayoutEngine) #define ArabicOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(ArabicOpenTypeL ayoutEngine)
#define ArabicShaping U_ICU_ENTRY_POINT_RENAME(ArabicShaping) #define ArabicShaping U_ICU_ENTRY_POINT_RENAME(ArabicShaping)
#define ArgExtractor U_ICU_ENTRY_POINT_RENAME(ArgExtractor)
#define BMPSet U_ICU_ENTRY_POINT_RENAME(BMPSet) #define BMPSet U_ICU_ENTRY_POINT_RENAME(BMPSet)
#define BackwardUTrie2StringIterator U_ICU_ENTRY_POINT_RENAME(BackwardUTrie 2StringIterator)
#define BadCharacterTable U_ICU_ENTRY_POINT_RENAME(BadCharacterTable) #define BadCharacterTable U_ICU_ENTRY_POINT_RENAME(BadCharacterTable)
#define BasicCalendarFactory U_ICU_ENTRY_POINT_RENAME(BasicCalendarFactory) #define BasicCalendarFactory U_ICU_ENTRY_POINT_RENAME(BasicCalendarFactory)
#define BasicTimeZone U_ICU_ENTRY_POINT_RENAME(BasicTimeZone) #define BasicTimeZone U_ICU_ENTRY_POINT_RENAME(BasicTimeZone)
#define BinarySearchLookupTable U_ICU_ENTRY_POINT_RENAME(BinarySearchLookup Table) #define BinarySearchLookupTable U_ICU_ENTRY_POINT_RENAME(BinarySearchLookup Table)
#define BoyerMooreSearch U_ICU_ENTRY_POINT_RENAME(BoyerMooreSearch) #define BoyerMooreSearch U_ICU_ENTRY_POINT_RENAME(BoyerMooreSearch)
#define BreakIterator U_ICU_ENTRY_POINT_RENAME(BreakIterator) #define BreakIterator U_ICU_ENTRY_POINT_RENAME(BreakIterator)
#define BreakTransliterator U_ICU_ENTRY_POINT_RENAME(BreakTransliterator) #define BreakTransliterator U_ICU_ENTRY_POINT_RENAME(BreakTransliterator)
#define BuddhistCalendar U_ICU_ENTRY_POINT_RENAME(BuddhistCalendar) #define BuddhistCalendar U_ICU_ENTRY_POINT_RENAME(BuddhistCalendar)
#define BuildCompactTrieHorizontalNode U_ICU_ENTRY_POINT_RENAME(BuildCompac tTrieHorizontalNode) #define BuildCompactTrieHorizontalNode U_ICU_ENTRY_POINT_RENAME(BuildCompac tTrieHorizontalNode)
#define BuildCompactTrieNode U_ICU_ENTRY_POINT_RENAME(BuildCompactTrieNode) #define BuildCompactTrieNode U_ICU_ENTRY_POINT_RENAME(BuildCompactTrieNode)
skipping to change at line 1623 skipping to change at line 1830
#define CollData U_ICU_ENTRY_POINT_RENAME(CollData) #define CollData U_ICU_ENTRY_POINT_RENAME(CollData)
#define CollDataCache U_ICU_ENTRY_POINT_RENAME(CollDataCache) #define CollDataCache U_ICU_ENTRY_POINT_RENAME(CollDataCache)
#define CollDataCacheEntry U_ICU_ENTRY_POINT_RENAME(CollDataCacheEntry) #define CollDataCacheEntry U_ICU_ENTRY_POINT_RENAME(CollDataCacheEntry)
#define CollationElementIterator U_ICU_ENTRY_POINT_RENAME(CollationElementI terator) #define CollationElementIterator U_ICU_ENTRY_POINT_RENAME(CollationElementI terator)
#define CollationKey U_ICU_ENTRY_POINT_RENAME(CollationKey) #define CollationKey U_ICU_ENTRY_POINT_RENAME(CollationKey)
#define CollationLocaleListEnumeration U_ICU_ENTRY_POINT_RENAME(CollationLo caleListEnumeration) #define CollationLocaleListEnumeration U_ICU_ENTRY_POINT_RENAME(CollationLo caleListEnumeration)
#define Collator U_ICU_ENTRY_POINT_RENAME(Collator) #define Collator U_ICU_ENTRY_POINT_RENAME(Collator)
#define CollatorFactory U_ICU_ENTRY_POINT_RENAME(CollatorFactory) #define CollatorFactory U_ICU_ENTRY_POINT_RENAME(CollatorFactory)
#define CompactTrieDictionary U_ICU_ENTRY_POINT_RENAME(CompactTrieDictionar y) #define CompactTrieDictionary U_ICU_ENTRY_POINT_RENAME(CompactTrieDictionar y)
#define CompactTrieEnumeration U_ICU_ENTRY_POINT_RENAME(CompactTrieEnumerat ion) #define CompactTrieEnumeration U_ICU_ENTRY_POINT_RENAME(CompactTrieEnumerat ion)
#define ComposeNormalizer2 U_ICU_ENTRY_POINT_RENAME(ComposeNormalizer2)
#define CompoundTransliterator U_ICU_ENTRY_POINT_RENAME(CompoundTranslitera tor) #define CompoundTransliterator U_ICU_ENTRY_POINT_RENAME(CompoundTranslitera tor)
#define ConfusabledataBuilder U_ICU_ENTRY_POINT_RENAME(ConfusabledataBuilde r) #define ConfusabledataBuilder U_ICU_ENTRY_POINT_RENAME(ConfusabledataBuilde r)
#define ContextualGlyphSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(Conte xtualGlyphSubstitutionProcessor) #define ContextualGlyphSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(Conte xtualGlyphSubstitutionProcessor)
#define ContextualSubstitutionBase U_ICU_ENTRY_POINT_RENAME(ContextualSubst itutionBase) #define ContextualSubstitutionBase U_ICU_ENTRY_POINT_RENAME(ContextualSubst itutionBase)
#define ContextualSubstitutionFormat1Subtable U_ICU_ENTRY_POINT_RENAME(Cont extualSubstitutionFormat1Subtable) #define ContextualSubstitutionFormat1Subtable U_ICU_ENTRY_POINT_RENAME(Cont extualSubstitutionFormat1Subtable)
#define ContextualSubstitutionFormat2Subtable U_ICU_ENTRY_POINT_RENAME(Cont extualSubstitutionFormat2Subtable) #define ContextualSubstitutionFormat2Subtable U_ICU_ENTRY_POINT_RENAME(Cont extualSubstitutionFormat2Subtable)
#define ContextualSubstitutionFormat3Subtable U_ICU_ENTRY_POINT_RENAME(Cont extualSubstitutionFormat3Subtable) #define ContextualSubstitutionFormat3Subtable U_ICU_ENTRY_POINT_RENAME(Cont extualSubstitutionFormat3Subtable)
#define ContextualSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(ContextualS ubstitutionSubtable) #define ContextualSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(ContextualS ubstitutionSubtable)
#define CopticCalendar U_ICU_ENTRY_POINT_RENAME(CopticCalendar) #define CopticCalendar U_ICU_ENTRY_POINT_RENAME(CopticCalendar)
#define CoverageFormat1Table U_ICU_ENTRY_POINT_RENAME(CoverageFormat1Table) #define CoverageFormat1Table U_ICU_ENTRY_POINT_RENAME(CoverageFormat1Table)
skipping to change at line 1652 skipping to change at line 1860
#define DateFormat U_ICU_ENTRY_POINT_RENAME(DateFormat) #define DateFormat U_ICU_ENTRY_POINT_RENAME(DateFormat)
#define DateFormatSymbols U_ICU_ENTRY_POINT_RENAME(DateFormatSymbols) #define DateFormatSymbols U_ICU_ENTRY_POINT_RENAME(DateFormatSymbols)
#define DateInterval U_ICU_ENTRY_POINT_RENAME(DateInterval) #define DateInterval U_ICU_ENTRY_POINT_RENAME(DateInterval)
#define DateIntervalFormat U_ICU_ENTRY_POINT_RENAME(DateIntervalFormat) #define DateIntervalFormat U_ICU_ENTRY_POINT_RENAME(DateIntervalFormat)
#define DateIntervalInfo U_ICU_ENTRY_POINT_RENAME(DateIntervalInfo) #define DateIntervalInfo U_ICU_ENTRY_POINT_RENAME(DateIntervalInfo)
#define DateTimeMatcher U_ICU_ENTRY_POINT_RENAME(DateTimeMatcher) #define DateTimeMatcher U_ICU_ENTRY_POINT_RENAME(DateTimeMatcher)
#define DateTimePatternGenerator U_ICU_ENTRY_POINT_RENAME(DateTimePatternGe nerator) #define DateTimePatternGenerator U_ICU_ENTRY_POINT_RENAME(DateTimePatternGe nerator)
#define DateTimeRule U_ICU_ENTRY_POINT_RENAME(DateTimeRule) #define DateTimeRule U_ICU_ENTRY_POINT_RENAME(DateTimeRule)
#define DecimalFormat U_ICU_ENTRY_POINT_RENAME(DecimalFormat) #define DecimalFormat U_ICU_ENTRY_POINT_RENAME(DecimalFormat)
#define DecimalFormatSymbols U_ICU_ENTRY_POINT_RENAME(DecimalFormatSymbols) #define DecimalFormatSymbols U_ICU_ENTRY_POINT_RENAME(DecimalFormatSymbols)
#define DecimalNumberString U_ICU_ENTRY_POINT_RENAME(DecimalNumberString)
#define DecomposeNormalizer2 U_ICU_ENTRY_POINT_RENAME(DecomposeNormalizer2)
#define DefaultCalendarFactory U_ICU_ENTRY_POINT_RENAME(DefaultCalendarFact ory) #define DefaultCalendarFactory U_ICU_ENTRY_POINT_RENAME(DefaultCalendarFact ory)
#define DefaultCharMapper U_ICU_ENTRY_POINT_RENAME(DefaultCharMapper) #define DefaultCharMapper U_ICU_ENTRY_POINT_RENAME(DefaultCharMapper)
#define DeviceTable U_ICU_ENTRY_POINT_RENAME(DeviceTable) #define DeviceTable U_ICU_ENTRY_POINT_RENAME(DeviceTable)
#define DictionaryBreakEngine U_ICU_ENTRY_POINT_RENAME(DictionaryBreakEngin e) #define DictionaryBreakEngine U_ICU_ENTRY_POINT_RENAME(DictionaryBreakEngin e)
#define DigitList U_ICU_ENTRY_POINT_RENAME(DigitList) #define DigitList U_ICU_ENTRY_POINT_RENAME(DigitList)
#define DistanceInfo U_ICU_ENTRY_POINT_RENAME(DistanceInfo) #define DistanceInfo U_ICU_ENTRY_POINT_RENAME(DistanceInfo)
#define EnumToOffset U_ICU_ENTRY_POINT_RENAME(EnumToOffset) #define EnumToOffset U_ICU_ENTRY_POINT_RENAME(EnumToOffset)
#define ErrorCode U_ICU_ENTRY_POINT_RENAME(ErrorCode) #define ErrorCode U_ICU_ENTRY_POINT_RENAME(ErrorCode)
#define EscapeTransliterator U_ICU_ENTRY_POINT_RENAME(EscapeTransliterator) #define EscapeTransliterator U_ICU_ENTRY_POINT_RENAME(EscapeTransliterator)
#define EthiopicCalendar U_ICU_ENTRY_POINT_RENAME(EthiopicCalendar) #define EthiopicCalendar U_ICU_ENTRY_POINT_RENAME(EthiopicCalendar)
#define EventListener U_ICU_ENTRY_POINT_RENAME(EventListener) #define EventListener U_ICU_ENTRY_POINT_RENAME(EventListener)
#define ExtensionSubtable U_ICU_ENTRY_POINT_RENAME(ExtensionSubtable) #define ExtensionSubtable U_ICU_ENTRY_POINT_RENAME(ExtensionSubtable)
#define FCDNormalizer2 U_ICU_ENTRY_POINT_RENAME(FCDNormalizer2)
#define FCDTrieSingleton U_ICU_ENTRY_POINT_RENAME(FCDTrieSingleton)
#define FeatureListTable U_ICU_ENTRY_POINT_RENAME(FeatureListTable) #define FeatureListTable U_ICU_ENTRY_POINT_RENAME(FeatureListTable)
#define FieldPosition U_ICU_ENTRY_POINT_RENAME(FieldPosition) #define FieldPosition U_ICU_ENTRY_POINT_RENAME(FieldPosition)
#define FieldPositionHandler U_ICU_ENTRY_POINT_RENAME(FieldPositionHandler)
#define FieldPositionIterator U_ICU_ENTRY_POINT_RENAME(FieldPositionIterato
r)
#define FieldPositionIteratorHandler U_ICU_ENTRY_POINT_RENAME(FieldPosition
IteratorHandler)
#define FieldPositionOnlyHandler U_ICU_ENTRY_POINT_RENAME(FieldPositionOnly
Handler)
#define FilteredNormalizer2 U_ICU_ENTRY_POINT_RENAME(FilteredNormalizer2)
#define FontRuns U_ICU_ENTRY_POINT_RENAME(FontRuns) #define FontRuns U_ICU_ENTRY_POINT_RENAME(FontRuns)
#define Format U_ICU_ENTRY_POINT_RENAME(Format) #define Format U_ICU_ENTRY_POINT_RENAME(Format)
#define Format1AnchorTable U_ICU_ENTRY_POINT_RENAME(Format1AnchorTable) #define Format1AnchorTable U_ICU_ENTRY_POINT_RENAME(Format1AnchorTable)
#define Format2AnchorTable U_ICU_ENTRY_POINT_RENAME(Format2AnchorTable) #define Format2AnchorTable U_ICU_ENTRY_POINT_RENAME(Format2AnchorTable)
#define Format3AnchorTable U_ICU_ENTRY_POINT_RENAME(Format3AnchorTable) #define Format3AnchorTable U_ICU_ENTRY_POINT_RENAME(Format3AnchorTable)
#define FormatNameEnumeration U_ICU_ENTRY_POINT_RENAME(FormatNameEnumeratio n) #define FormatNameEnumeration U_ICU_ENTRY_POINT_RENAME(FormatNameEnumeratio n)
#define FormatParser U_ICU_ENTRY_POINT_RENAME(FormatParser) #define FormatParser U_ICU_ENTRY_POINT_RENAME(FormatParser)
#define Formattable U_ICU_ENTRY_POINT_RENAME(Formattable) #define Formattable U_ICU_ENTRY_POINT_RENAME(Formattable)
#define ForwardCharacterIterator U_ICU_ENTRY_POINT_RENAME(ForwardCharacterI terator) #define ForwardCharacterIterator U_ICU_ENTRY_POINT_RENAME(ForwardCharacterI terator)
#define ForwardUTrie2StringIterator U_ICU_ENTRY_POINT_RENAME(ForwardUTrie2S tringIterator)
#define FractionalPartSubstitution U_ICU_ENTRY_POINT_RENAME(FractionalPartS ubstitution) #define FractionalPartSubstitution U_ICU_ENTRY_POINT_RENAME(FractionalPartS ubstitution)
#define FunctionReplacer U_ICU_ENTRY_POINT_RENAME(FunctionReplacer) #define FunctionReplacer U_ICU_ENTRY_POINT_RENAME(FunctionReplacer)
#define GDEFMarkFilter U_ICU_ENTRY_POINT_RENAME(GDEFMarkFilter) #define GDEFMarkFilter U_ICU_ENTRY_POINT_RENAME(GDEFMarkFilter)
#define GXLayoutEngine U_ICU_ENTRY_POINT_RENAME(GXLayoutEngine) #define GXLayoutEngine U_ICU_ENTRY_POINT_RENAME(GXLayoutEngine)
#define GlyphDefinitionTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphDefinition TableHeader) #define GlyphDefinitionTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphDefinition TableHeader)
#define GlyphIterator U_ICU_ENTRY_POINT_RENAME(GlyphIterator) #define GlyphIterator U_ICU_ENTRY_POINT_RENAME(GlyphIterator)
#define GlyphLookupTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphLookupTableHea der) #define GlyphLookupTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphLookupTableHea der)
#define GlyphPositionAdjustments U_ICU_ENTRY_POINT_RENAME(GlyphPositionAdju stments) #define GlyphPositionAdjustments U_ICU_ENTRY_POINT_RENAME(GlyphPositionAdju stments)
#define GlyphPositioningLookupProcessor U_ICU_ENTRY_POINT_RENAME(GlyphPosit ioningLookupProcessor) #define GlyphPositioningLookupProcessor U_ICU_ENTRY_POINT_RENAME(GlyphPosit ioningLookupProcessor)
#define GlyphPositioningTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphPositioni ngTableHeader) #define GlyphPositioningTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphPositioni ngTableHeader)
skipping to change at line 1697 skipping to change at line 1915
#define GoodSuffixTable U_ICU_ENTRY_POINT_RENAME(GoodSuffixTable) #define GoodSuffixTable U_ICU_ENTRY_POINT_RENAME(GoodSuffixTable)
#define Grego U_ICU_ENTRY_POINT_RENAME(Grego) #define Grego U_ICU_ENTRY_POINT_RENAME(Grego)
#define GregorianCalendar U_ICU_ENTRY_POINT_RENAME(GregorianCalendar) #define GregorianCalendar U_ICU_ENTRY_POINT_RENAME(GregorianCalendar)
#define HanOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(HanOpenTypeLayoutE ngine) #define HanOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(HanOpenTypeLayoutE ngine)
#define HangulOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(HangulOpenTypeL ayoutEngine) #define HangulOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(HangulOpenTypeL ayoutEngine)
#define HebrewCalendar U_ICU_ENTRY_POINT_RENAME(HebrewCalendar) #define HebrewCalendar U_ICU_ENTRY_POINT_RENAME(HebrewCalendar)
#define ICUBreakIteratorFactory U_ICU_ENTRY_POINT_RENAME(ICUBreakIteratorFa ctory) #define ICUBreakIteratorFactory U_ICU_ENTRY_POINT_RENAME(ICUBreakIteratorFa ctory)
#define ICUBreakIteratorService U_ICU_ENTRY_POINT_RENAME(ICUBreakIteratorSe rvice) #define ICUBreakIteratorService U_ICU_ENTRY_POINT_RENAME(ICUBreakIteratorSe rvice)
#define ICUCollatorFactory U_ICU_ENTRY_POINT_RENAME(ICUCollatorFactory) #define ICUCollatorFactory U_ICU_ENTRY_POINT_RENAME(ICUCollatorFactory)
#define ICUCollatorService U_ICU_ENTRY_POINT_RENAME(ICUCollatorService) #define ICUCollatorService U_ICU_ENTRY_POINT_RENAME(ICUCollatorService)
#define ICUDataTable U_ICU_ENTRY_POINT_RENAME(ICUDataTable)
#define ICULanguageBreakFactory U_ICU_ENTRY_POINT_RENAME(ICULanguageBreakFa ctory) #define ICULanguageBreakFactory U_ICU_ENTRY_POINT_RENAME(ICULanguageBreakFa ctory)
#define ICULocaleService U_ICU_ENTRY_POINT_RENAME(ICULocaleService) #define ICULocaleService U_ICU_ENTRY_POINT_RENAME(ICULocaleService)
#define ICUNotifier U_ICU_ENTRY_POINT_RENAME(ICUNotifier) #define ICUNotifier U_ICU_ENTRY_POINT_RENAME(ICUNotifier)
#define ICUNumberFormatFactory U_ICU_ENTRY_POINT_RENAME(ICUNumberFormatFact ory) #define ICUNumberFormatFactory U_ICU_ENTRY_POINT_RENAME(ICUNumberFormatFact ory)
#define ICUNumberFormatService U_ICU_ENTRY_POINT_RENAME(ICUNumberFormatServ ice) #define ICUNumberFormatService U_ICU_ENTRY_POINT_RENAME(ICUNumberFormatServ ice)
#define ICUResourceBundleFactory U_ICU_ENTRY_POINT_RENAME(ICUResourceBundle Factory) #define ICUResourceBundleFactory U_ICU_ENTRY_POINT_RENAME(ICUResourceBundle Factory)
#define ICUService U_ICU_ENTRY_POINT_RENAME(ICUService) #define ICUService U_ICU_ENTRY_POINT_RENAME(ICUService)
#define ICUServiceFactory U_ICU_ENTRY_POINT_RENAME(ICUServiceFactory) #define ICUServiceFactory U_ICU_ENTRY_POINT_RENAME(ICUServiceFactory)
#define ICUServiceKey U_ICU_ENTRY_POINT_RENAME(ICUServiceKey) #define ICUServiceKey U_ICU_ENTRY_POINT_RENAME(ICUServiceKey)
#define ICU_Utility U_ICU_ENTRY_POINT_RENAME(ICU_Utility) #define ICU_Utility U_ICU_ENTRY_POINT_RENAME(ICU_Utility)
skipping to change at line 1738 skipping to change at line 1957
#define LEInsertionList U_ICU_ENTRY_POINT_RENAME(LEInsertionList) #define LEInsertionList U_ICU_ENTRY_POINT_RENAME(LEInsertionList)
#define LXUtilities U_ICU_ENTRY_POINT_RENAME(LXUtilities) #define LXUtilities U_ICU_ENTRY_POINT_RENAME(LXUtilities)
#define LanguageBreakEngine U_ICU_ENTRY_POINT_RENAME(LanguageBreakEngine) #define LanguageBreakEngine U_ICU_ENTRY_POINT_RENAME(LanguageBreakEngine)
#define LanguageBreakFactory U_ICU_ENTRY_POINT_RENAME(LanguageBreakFactory) #define LanguageBreakFactory U_ICU_ENTRY_POINT_RENAME(LanguageBreakFactory)
#define LayoutEngine U_ICU_ENTRY_POINT_RENAME(LayoutEngine) #define LayoutEngine U_ICU_ENTRY_POINT_RENAME(LayoutEngine)
#define LigatureSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(LigatureSubs titutionProcessor) #define LigatureSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(LigatureSubs titutionProcessor)
#define LigatureSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(LigatureSubst itutionSubtable) #define LigatureSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(LigatureSubst itutionSubtable)
#define LocDataParser U_ICU_ENTRY_POINT_RENAME(LocDataParser) #define LocDataParser U_ICU_ENTRY_POINT_RENAME(LocDataParser)
#define Locale U_ICU_ENTRY_POINT_RENAME(Locale) #define Locale U_ICU_ENTRY_POINT_RENAME(Locale)
#define LocaleBased U_ICU_ENTRY_POINT_RENAME(LocaleBased) #define LocaleBased U_ICU_ENTRY_POINT_RENAME(LocaleBased)
#define LocaleDisplayNames U_ICU_ENTRY_POINT_RENAME(LocaleDisplayNames)
#define LocaleDisplayNamesImpl U_ICU_ENTRY_POINT_RENAME(LocaleDisplayNamesI
mpl)
#define LocaleKey U_ICU_ENTRY_POINT_RENAME(LocaleKey) #define LocaleKey U_ICU_ENTRY_POINT_RENAME(LocaleKey)
#define LocaleKeyFactory U_ICU_ENTRY_POINT_RENAME(LocaleKeyFactory) #define LocaleKeyFactory U_ICU_ENTRY_POINT_RENAME(LocaleKeyFactory)
#define LocaleRuns U_ICU_ENTRY_POINT_RENAME(LocaleRuns) #define LocaleRuns U_ICU_ENTRY_POINT_RENAME(LocaleRuns)
#define LocaleUtility U_ICU_ENTRY_POINT_RENAME(LocaleUtility) #define LocaleUtility U_ICU_ENTRY_POINT_RENAME(LocaleUtility)
#define LocalizationInfo U_ICU_ENTRY_POINT_RENAME(LocalizationInfo) #define LocalizationInfo U_ICU_ENTRY_POINT_RENAME(LocalizationInfo)
#define LookupListTable U_ICU_ENTRY_POINT_RENAME(LookupListTable) #define LookupListTable U_ICU_ENTRY_POINT_RENAME(LookupListTable)
#define LookupProcessor U_ICU_ENTRY_POINT_RENAME(LookupProcessor) #define LookupProcessor U_ICU_ENTRY_POINT_RENAME(LookupProcessor)
#define LookupSubtable U_ICU_ENTRY_POINT_RENAME(LookupSubtable) #define LookupSubtable U_ICU_ENTRY_POINT_RENAME(LookupSubtable)
#define LookupTable U_ICU_ENTRY_POINT_RENAME(LookupTable) #define LookupTable U_ICU_ENTRY_POINT_RENAME(LookupTable)
#define LowercaseTransliterator U_ICU_ENTRY_POINT_RENAME(LowercaseTranslite rator) #define LowercaseTransliterator U_ICU_ENTRY_POINT_RENAME(LowercaseTranslite rator)
skipping to change at line 1777 skipping to change at line 1998
#define NFFactory U_ICU_ENTRY_POINT_RENAME(NFFactory) #define NFFactory U_ICU_ENTRY_POINT_RENAME(NFFactory)
#define NFKDBuffer U_ICU_ENTRY_POINT_RENAME(NFKDBuffer) #define NFKDBuffer U_ICU_ENTRY_POINT_RENAME(NFKDBuffer)
#define NFRule U_ICU_ENTRY_POINT_RENAME(NFRule) #define NFRule U_ICU_ENTRY_POINT_RENAME(NFRule)
#define NFRuleSet U_ICU_ENTRY_POINT_RENAME(NFRuleSet) #define NFRuleSet U_ICU_ENTRY_POINT_RENAME(NFRuleSet)
#define NFSubstitution U_ICU_ENTRY_POINT_RENAME(NFSubstitution) #define NFSubstitution U_ICU_ENTRY_POINT_RENAME(NFSubstitution)
#define NGramParser U_ICU_ENTRY_POINT_RENAME(NGramParser) #define NGramParser U_ICU_ENTRY_POINT_RENAME(NGramParser)
#define NameToEnum U_ICU_ENTRY_POINT_RENAME(NameToEnum) #define NameToEnum U_ICU_ENTRY_POINT_RENAME(NameToEnum)
#define NameUnicodeTransliterator U_ICU_ENTRY_POINT_RENAME(NameUnicodeTrans literator) #define NameUnicodeTransliterator U_ICU_ENTRY_POINT_RENAME(NameUnicodeTrans literator)
#define NonContextualGlyphSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(No nContextualGlyphSubstitutionProcessor) #define NonContextualGlyphSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(No nContextualGlyphSubstitutionProcessor)
#define NonContiguousEnumToOffset U_ICU_ENTRY_POINT_RENAME(NonContiguousEnu mToOffset) #define NonContiguousEnumToOffset U_ICU_ENTRY_POINT_RENAME(NonContiguousEnu mToOffset)
#define NoopNormalizer2 U_ICU_ENTRY_POINT_RENAME(NoopNormalizer2)
#define Norm2AllModes U_ICU_ENTRY_POINT_RENAME(Norm2AllModes)
#define NormalizationTransliterator U_ICU_ENTRY_POINT_RENAME(NormalizationT ransliterator) #define NormalizationTransliterator U_ICU_ENTRY_POINT_RENAME(NormalizationT ransliterator)
#define Normalizer U_ICU_ENTRY_POINT_RENAME(Normalizer) #define Normalizer U_ICU_ENTRY_POINT_RENAME(Normalizer)
#define Normalizer2 U_ICU_ENTRY_POINT_RENAME(Normalizer2)
#define Normalizer2Factory U_ICU_ENTRY_POINT_RENAME(Normalizer2Factory)
#define Normalizer2Impl U_ICU_ENTRY_POINT_RENAME(Normalizer2Impl)
#define Normalizer2WithImpl U_ICU_ENTRY_POINT_RENAME(Normalizer2WithImpl)
#define NullSubstitution U_ICU_ENTRY_POINT_RENAME(NullSubstitution) #define NullSubstitution U_ICU_ENTRY_POINT_RENAME(NullSubstitution)
#define NullTransliterator U_ICU_ENTRY_POINT_RENAME(NullTransliterator) #define NullTransliterator U_ICU_ENTRY_POINT_RENAME(NullTransliterator)
#define NumberFormat U_ICU_ENTRY_POINT_RENAME(NumberFormat) #define NumberFormat U_ICU_ENTRY_POINT_RENAME(NumberFormat)
#define NumberFormatFactory U_ICU_ENTRY_POINT_RENAME(NumberFormatFactory) #define NumberFormatFactory U_ICU_ENTRY_POINT_RENAME(NumberFormatFactory)
#define NumberingSystem U_ICU_ENTRY_POINT_RENAME(NumberingSystem) #define NumberingSystem U_ICU_ENTRY_POINT_RENAME(NumberingSystem)
#define NumeratorSubstitution U_ICU_ENTRY_POINT_RENAME(NumeratorSubstitutio n) #define NumeratorSubstitution U_ICU_ENTRY_POINT_RENAME(NumeratorSubstitutio n)
#define OlsonTimeZone U_ICU_ENTRY_POINT_RENAME(OlsonTimeZone) #define OlsonTimeZone U_ICU_ENTRY_POINT_RENAME(OlsonTimeZone)
#define OpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(OpenTypeLayoutEngine) #define OpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(OpenTypeLayoutEngine)
#define OpenTypeUtilities U_ICU_ENTRY_POINT_RENAME(OpenTypeUtilities) #define OpenTypeUtilities U_ICU_ENTRY_POINT_RENAME(OpenTypeUtilities)
#define OrConstraint U_ICU_ENTRY_POINT_RENAME(OrConstraint) #define OrConstraint U_ICU_ENTRY_POINT_RENAME(OrConstraint)
skipping to change at line 1824 skipping to change at line 2051
#define RBBITableBuilder U_ICU_ENTRY_POINT_RENAME(RBBITableBuilder) #define RBBITableBuilder U_ICU_ENTRY_POINT_RENAME(RBBITableBuilder)
#define RCEBuffer U_ICU_ENTRY_POINT_RENAME(RCEBuffer) #define RCEBuffer U_ICU_ENTRY_POINT_RENAME(RCEBuffer)
#define RangeDescriptor U_ICU_ENTRY_POINT_RENAME(RangeDescriptor) #define RangeDescriptor U_ICU_ENTRY_POINT_RENAME(RangeDescriptor)
#define RegexCompile U_ICU_ENTRY_POINT_RENAME(RegexCompile) #define RegexCompile U_ICU_ENTRY_POINT_RENAME(RegexCompile)
#define RegexMatcher U_ICU_ENTRY_POINT_RENAME(RegexMatcher) #define RegexMatcher U_ICU_ENTRY_POINT_RENAME(RegexMatcher)
#define RegexPattern U_ICU_ENTRY_POINT_RENAME(RegexPattern) #define RegexPattern U_ICU_ENTRY_POINT_RENAME(RegexPattern)
#define RegexStaticSets U_ICU_ENTRY_POINT_RENAME(RegexStaticSets) #define RegexStaticSets U_ICU_ENTRY_POINT_RENAME(RegexStaticSets)
#define RegularExpression U_ICU_ENTRY_POINT_RENAME(RegularExpression) #define RegularExpression U_ICU_ENTRY_POINT_RENAME(RegularExpression)
#define RelativeDateFormat U_ICU_ENTRY_POINT_RENAME(RelativeDateFormat) #define RelativeDateFormat U_ICU_ENTRY_POINT_RENAME(RelativeDateFormat)
#define RemoveTransliterator U_ICU_ENTRY_POINT_RENAME(RemoveTransliterator) #define RemoveTransliterator U_ICU_ENTRY_POINT_RENAME(RemoveTransliterator)
#define ReorderingBuffer U_ICU_ENTRY_POINT_RENAME(ReorderingBuffer)
#define Replaceable U_ICU_ENTRY_POINT_RENAME(Replaceable) #define Replaceable U_ICU_ENTRY_POINT_RENAME(Replaceable)
#define ReplaceableGlue U_ICU_ENTRY_POINT_RENAME(ReplaceableGlue) #define ReplaceableGlue U_ICU_ENTRY_POINT_RENAME(ReplaceableGlue)
#define ResourceBundle U_ICU_ENTRY_POINT_RENAME(ResourceBundle) #define ResourceBundle U_ICU_ENTRY_POINT_RENAME(ResourceBundle)
#define RiseSetCoordFunc U_ICU_ENTRY_POINT_RENAME(RiseSetCoordFunc) #define RiseSetCoordFunc U_ICU_ENTRY_POINT_RENAME(RiseSetCoordFunc)
#define RuleBasedBreakIterator U_ICU_ENTRY_POINT_RENAME(RuleBasedBreakItera tor) #define RuleBasedBreakIterator U_ICU_ENTRY_POINT_RENAME(RuleBasedBreakItera tor)
#define RuleBasedCollator U_ICU_ENTRY_POINT_RENAME(RuleBasedCollator) #define RuleBasedCollator U_ICU_ENTRY_POINT_RENAME(RuleBasedCollator)
#define RuleBasedNumberFormat U_ICU_ENTRY_POINT_RENAME(RuleBasedNumberForma t) #define RuleBasedNumberFormat U_ICU_ENTRY_POINT_RENAME(RuleBasedNumberForma t)
#define RuleBasedTimeZone U_ICU_ENTRY_POINT_RENAME(RuleBasedTimeZone) #define RuleBasedTimeZone U_ICU_ENTRY_POINT_RENAME(RuleBasedTimeZone)
#define RuleBasedTransliterator U_ICU_ENTRY_POINT_RENAME(RuleBasedTranslite rator) #define RuleBasedTransliterator U_ICU_ENTRY_POINT_RENAME(RuleBasedTranslite rator)
#define RuleChain U_ICU_ENTRY_POINT_RENAME(RuleChain) #define RuleChain U_ICU_ENTRY_POINT_RENAME(RuleChain)
skipping to change at line 1849 skipping to change at line 2077
#define SPUStringPool U_ICU_ENTRY_POINT_RENAME(SPUStringPool) #define SPUStringPool U_ICU_ENTRY_POINT_RENAME(SPUStringPool)
#define SafeZoneStringFormatPtr U_ICU_ENTRY_POINT_RENAME(SafeZoneStringForm atPtr) #define SafeZoneStringFormatPtr U_ICU_ENTRY_POINT_RENAME(SafeZoneStringForm atPtr)
#define SameValueSubstitution U_ICU_ENTRY_POINT_RENAME(SameValueSubstitutio n) #define SameValueSubstitution U_ICU_ENTRY_POINT_RENAME(SameValueSubstitutio n)
#define ScriptListTable U_ICU_ENTRY_POINT_RENAME(ScriptListTable) #define ScriptListTable U_ICU_ENTRY_POINT_RENAME(ScriptListTable)
#define ScriptRunIterator U_ICU_ENTRY_POINT_RENAME(ScriptRunIterator) #define ScriptRunIterator U_ICU_ENTRY_POINT_RENAME(ScriptRunIterator)
#define ScriptSet U_ICU_ENTRY_POINT_RENAME(ScriptSet) #define ScriptSet U_ICU_ENTRY_POINT_RENAME(ScriptSet)
#define ScriptTable U_ICU_ENTRY_POINT_RENAME(ScriptTable) #define ScriptTable U_ICU_ENTRY_POINT_RENAME(ScriptTable)
#define SearchIterator U_ICU_ENTRY_POINT_RENAME(SearchIterator) #define SearchIterator U_ICU_ENTRY_POINT_RENAME(SearchIterator)
#define SegmentArrayProcessor U_ICU_ENTRY_POINT_RENAME(SegmentArrayProcesso r) #define SegmentArrayProcessor U_ICU_ENTRY_POINT_RENAME(SegmentArrayProcesso r)
#define SegmentSingleProcessor U_ICU_ENTRY_POINT_RENAME(SegmentSingleProces sor) #define SegmentSingleProcessor U_ICU_ENTRY_POINT_RENAME(SegmentSingleProces sor)
#define SelectFormat U_ICU_ENTRY_POINT_RENAME(SelectFormat)
#define ServiceEnumeration U_ICU_ENTRY_POINT_RENAME(ServiceEnumeration) #define ServiceEnumeration U_ICU_ENTRY_POINT_RENAME(ServiceEnumeration)
#define ServiceListener U_ICU_ENTRY_POINT_RENAME(ServiceListener) #define ServiceListener U_ICU_ENTRY_POINT_RENAME(ServiceListener)
#define SimpleArrayProcessor U_ICU_ENTRY_POINT_RENAME(SimpleArrayProcessor) #define SimpleArrayProcessor U_ICU_ENTRY_POINT_RENAME(SimpleArrayProcessor)
#define SimpleDateFormat U_ICU_ENTRY_POINT_RENAME(SimpleDateFormat) #define SimpleDateFormat U_ICU_ENTRY_POINT_RENAME(SimpleDateFormat)
#define SimpleFactory U_ICU_ENTRY_POINT_RENAME(SimpleFactory) #define SimpleFactory U_ICU_ENTRY_POINT_RENAME(SimpleFactory)
#define SimpleLocaleKeyFactory U_ICU_ENTRY_POINT_RENAME(SimpleLocaleKeyFact ory) #define SimpleLocaleKeyFactory U_ICU_ENTRY_POINT_RENAME(SimpleLocaleKeyFact ory)
#define SimpleNumberFormatFactory U_ICU_ENTRY_POINT_RENAME(SimpleNumberForm atFactory) #define SimpleNumberFormatFactory U_ICU_ENTRY_POINT_RENAME(SimpleNumberForm atFactory)
#define SimpleSingleton U_ICU_ENTRY_POINT_RENAME(SimpleSingleton)
#define SimpleTimeZone U_ICU_ENTRY_POINT_RENAME(SimpleTimeZone) #define SimpleTimeZone U_ICU_ENTRY_POINT_RENAME(SimpleTimeZone)
#define SinglePositioningFormat1Subtable U_ICU_ENTRY_POINT_RENAME(SinglePos itioningFormat1Subtable) #define SinglePositioningFormat1Subtable U_ICU_ENTRY_POINT_RENAME(SinglePos itioningFormat1Subtable)
#define SinglePositioningFormat2Subtable U_ICU_ENTRY_POINT_RENAME(SinglePos itioningFormat2Subtable) #define SinglePositioningFormat2Subtable U_ICU_ENTRY_POINT_RENAME(SinglePos itioningFormat2Subtable)
#define SinglePositioningSubtable U_ICU_ENTRY_POINT_RENAME(SinglePositionin gSubtable) #define SinglePositioningSubtable U_ICU_ENTRY_POINT_RENAME(SinglePositionin gSubtable)
#define SingleSubstitutionFormat1Subtable U_ICU_ENTRY_POINT_RENAME(SingleSu bstitutionFormat1Subtable) #define SingleSubstitutionFormat1Subtable U_ICU_ENTRY_POINT_RENAME(SingleSu bstitutionFormat1Subtable)
#define SingleSubstitutionFormat2Subtable U_ICU_ENTRY_POINT_RENAME(SingleSu bstitutionFormat2Subtable) #define SingleSubstitutionFormat2Subtable U_ICU_ENTRY_POINT_RENAME(SingleSu bstitutionFormat2Subtable)
#define SingleSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(SingleSubstitut ionSubtable) #define SingleSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(SingleSubstitut ionSubtable)
#define SingleTableProcessor U_ICU_ENTRY_POINT_RENAME(SingleTableProcessor) #define SingleTableProcessor U_ICU_ENTRY_POINT_RENAME(SingleTableProcessor)
#define SpoofData U_ICU_ENTRY_POINT_RENAME(SpoofData) #define SpoofData U_ICU_ENTRY_POINT_RENAME(SpoofData)
#define SpoofImpl U_ICU_ENTRY_POINT_RENAME(SpoofImpl) #define SpoofImpl U_ICU_ENTRY_POINT_RENAME(SpoofImpl)
skipping to change at line 1912 skipping to change at line 2142
#define TransliterationRule U_ICU_ENTRY_POINT_RENAME(TransliterationRule) #define TransliterationRule U_ICU_ENTRY_POINT_RENAME(TransliterationRule)
#define TransliterationRuleData U_ICU_ENTRY_POINT_RENAME(TransliterationRul eData) #define TransliterationRuleData U_ICU_ENTRY_POINT_RENAME(TransliterationRul eData)
#define TransliterationRuleSet U_ICU_ENTRY_POINT_RENAME(TransliterationRule Set) #define TransliterationRuleSet U_ICU_ENTRY_POINT_RENAME(TransliterationRule Set)
#define Transliterator U_ICU_ENTRY_POINT_RENAME(Transliterator) #define Transliterator U_ICU_ENTRY_POINT_RENAME(Transliterator)
#define TransliteratorAlias U_ICU_ENTRY_POINT_RENAME(TransliteratorAlias) #define TransliteratorAlias U_ICU_ENTRY_POINT_RENAME(TransliteratorAlias)
#define TransliteratorEntry U_ICU_ENTRY_POINT_RENAME(TransliteratorEntry) #define TransliteratorEntry U_ICU_ENTRY_POINT_RENAME(TransliteratorEntry)
#define TransliteratorIDParser U_ICU_ENTRY_POINT_RENAME(TransliteratorIDPar ser) #define TransliteratorIDParser U_ICU_ENTRY_POINT_RENAME(TransliteratorIDPar ser)
#define TransliteratorParser U_ICU_ENTRY_POINT_RENAME(TransliteratorParser) #define TransliteratorParser U_ICU_ENTRY_POINT_RENAME(TransliteratorParser)
#define TransliteratorRegistry U_ICU_ENTRY_POINT_RENAME(TransliteratorRegis try) #define TransliteratorRegistry U_ICU_ENTRY_POINT_RENAME(TransliteratorRegis try)
#define TransliteratorSpec U_ICU_ENTRY_POINT_RENAME(TransliteratorSpec) #define TransliteratorSpec U_ICU_ENTRY_POINT_RENAME(TransliteratorSpec)
#define TriStateSingleton U_ICU_ENTRY_POINT_RENAME(TriStateSingleton)
#define TrieWordDictionary U_ICU_ENTRY_POINT_RENAME(TrieWordDictionary) #define TrieWordDictionary U_ICU_ENTRY_POINT_RENAME(TrieWordDictionary)
#define TrimmedArrayProcessor U_ICU_ENTRY_POINT_RENAME(TrimmedArrayProcesso r) #define TrimmedArrayProcessor U_ICU_ENTRY_POINT_RENAME(TrimmedArrayProcesso r)
#define UCharCharacterIterator U_ICU_ENTRY_POINT_RENAME(UCharCharacterItera tor) #define UCharCharacterIterator U_ICU_ENTRY_POINT_RENAME(UCharCharacterItera tor)
#define UCollationPCE U_ICU_ENTRY_POINT_RENAME(UCollationPCE) #define UCollationPCE U_ICU_ENTRY_POINT_RENAME(UCollationPCE)
#define ULocRuns U_ICU_ENTRY_POINT_RENAME(ULocRuns) #define ULocRuns U_ICU_ENTRY_POINT_RENAME(ULocRuns)
#define UMemory U_ICU_ENTRY_POINT_RENAME(UMemory) #define UMemory U_ICU_ENTRY_POINT_RENAME(UMemory)
#define UObject U_ICU_ENTRY_POINT_RENAME(UObject) #define UObject U_ICU_ENTRY_POINT_RENAME(UObject)
#define UStack U_ICU_ENTRY_POINT_RENAME(UStack) #define UStack U_ICU_ENTRY_POINT_RENAME(UStack)
#define UStringEnumeration U_ICU_ENTRY_POINT_RENAME(UStringEnumeration) #define UStringEnumeration U_ICU_ENTRY_POINT_RENAME(UStringEnumeration)
#define UTrie2Singleton U_ICU_ENTRY_POINT_RENAME(UTrie2Singleton)
#define UVector U_ICU_ENTRY_POINT_RENAME(UVector) #define UVector U_ICU_ENTRY_POINT_RENAME(UVector)
#define UVector32 U_ICU_ENTRY_POINT_RENAME(UVector32) #define UVector32 U_ICU_ENTRY_POINT_RENAME(UVector32)
#define UVector64 U_ICU_ENTRY_POINT_RENAME(UVector64)
#define UnescapeTransliterator U_ICU_ENTRY_POINT_RENAME(UnescapeTranslitera tor) #define UnescapeTransliterator U_ICU_ENTRY_POINT_RENAME(UnescapeTranslitera tor)
#define UnhandledEngine U_ICU_ENTRY_POINT_RENAME(UnhandledEngine) #define UnhandledEngine U_ICU_ENTRY_POINT_RENAME(UnhandledEngine)
#define UnicodeArabicOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(UnicodeA rabicOpenTypeLayoutEngine) #define UnicodeArabicOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(UnicodeA rabicOpenTypeLayoutEngine)
#define UnicodeFilter U_ICU_ENTRY_POINT_RENAME(UnicodeFilter) #define UnicodeFilter U_ICU_ENTRY_POINT_RENAME(UnicodeFilter)
#define UnicodeFunctor U_ICU_ENTRY_POINT_RENAME(UnicodeFunctor) #define UnicodeFunctor U_ICU_ENTRY_POINT_RENAME(UnicodeFunctor)
#define UnicodeMatcher U_ICU_ENTRY_POINT_RENAME(UnicodeMatcher) #define UnicodeMatcher U_ICU_ENTRY_POINT_RENAME(UnicodeMatcher)
#define UnicodeNameTransliterator U_ICU_ENTRY_POINT_RENAME(UnicodeNameTrans literator) #define UnicodeNameTransliterator U_ICU_ENTRY_POINT_RENAME(UnicodeNameTrans literator)
#define UnicodeReplacer U_ICU_ENTRY_POINT_RENAME(UnicodeReplacer) #define UnicodeReplacer U_ICU_ENTRY_POINT_RENAME(UnicodeReplacer)
#define UnicodeSet U_ICU_ENTRY_POINT_RENAME(UnicodeSet) #define UnicodeSet U_ICU_ENTRY_POINT_RENAME(UnicodeSet)
#define UnicodeSetIterator U_ICU_ENTRY_POINT_RENAME(UnicodeSetIterator) #define UnicodeSetIterator U_ICU_ENTRY_POINT_RENAME(UnicodeSetIterator)
 End of changes. 64 change blocks. 
36 lines changed or deleted 349 lines changed or added


 urep.h   urep.h 
/* /*
*************************************************************************** *** *************************************************************************** ***
* Copyright (C) 1997-2005, International Business Machines * Copyright (C) 1997-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** *** *************************************************************************** ***
* Date Name Description * Date Name Description
* 06/23/00 aliu Creation. * 06/23/00 aliu Creation.
*************************************************************************** *** *************************************************************************** ***
*/ */
#ifndef __UREP_H #ifndef __UREP_H
#define __UREP_H #define __UREP_H
skipping to change at line 33 skipping to change at line 33
* Add test code * Add test code
* Talk about pinning * Talk about pinning
* Talk about "can truncate result if out of memory" * Talk about "can truncate result if out of memory"
*/ */
/******************************************************************** /********************************************************************
* Data Structures * Data Structures
********************************************************************/ ********************************************************************/
/** /**
* \file * \file
* \brief C API: Callbacks for UReplacebale * \brief C API: Callbacks for UReplaceable
*/ */
/** /**
* An opaque replaceable text object. This will be manipulated only * An opaque replaceable text object. This will be manipulated only
* through the caller-supplied UReplaceableFunctor struct. Related * through the caller-supplied UReplaceableFunctor struct. Related
* to the C++ class Replaceable. * to the C++ class Replaceable.
* This is currently only used in the Transliterator C API, see utrans.h . * This is currently only used in the Transliterator C API, see utrans.h .
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
typedef void* UReplaceable; typedef void* UReplaceable;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added


 uset.h   uset.h 
skipping to change at line 246 skipping to change at line 246
/********************************************************************* /*********************************************************************
* USet API * USet API
*********************************************************************/ *********************************************************************/
/** /**
* Create an empty USet object. * Create an empty USet object.
* Equivalent to uset_open(1, 0). * Equivalent to uset_open(1, 0).
* @return a newly created USet. The caller must call uset_close() on * @return a newly created USet. The caller must call uset_close() on
* it when done. * it when done.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE USet* U_EXPORT2 U_STABLE USet* U_EXPORT2
uset_openEmpty(); uset_openEmpty();
/** /**
* Creates a USet object that contains the range of characters * Creates a USet object that contains the range of characters
* start..end, inclusive. If <code>start > end</code> * start..end, inclusive. If <code>start > end</code>
* then an empty set is created (same as using uset_openEmpty()). * then an empty set is created (same as using uset_openEmpty()).
* @param start first character of the range, inclusive * @param start first character of the range, inclusive
* @param end last character of the range, inclusive * @param end last character of the range, inclusive
skipping to change at line 729 skipping to change at line 729
* == b denotes that the contents are the same, not pointer * == b denotes that the contents are the same, not pointer
* comparison.) * comparison.)
* *
* A frozen set will not be modified. * A frozen set will not be modified.
* *
* @param set the set * @param set the set
* *
* @param attributes bitmask for attributes to close over. * @param attributes bitmask for attributes to close over.
* Currently only the USET_CASE bit is supported. Any undefined bits * Currently only the USET_CASE bit is supported. Any undefined bits
* are ignored. * are ignored.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
uset_closeOver(USet* set, int32_t attributes); uset_closeOver(USet* set, int32_t attributes);
/** /**
* Remove all strings from this set. * Remove all strings from this set.
* *
* @param set the set * @param set the set
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
uset_removeAllStrings(USet* set); uset_removeAllStrings(USet* set);
/** /**
* Returns TRUE if the given USet contains no characters and no * Returns TRUE if the given USet contains no characters and no
* strings. * strings.
* @param set the set * @param set the set
* @return true if set is empty * @return true if set is empty
* @stable ICU 2.4 * @stable ICU 2.4
 End of changes. 3 change blocks. 
3 lines changed or deleted 3 lines changed or added


 ushape.h   ushape.h 
/* /*
*************************************************************************** *** *************************************************************************** ***
* *
* Copyright (C) 2000-2009, International Business Machines * Copyright (C) 2000-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** *** *************************************************************************** ***
* file name: ushape.h * file name: ushape.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2000jun29 * created on: 2000jun29
* created by: Markus W. Scherer * created by: Markus W. Scherer
skipping to change at line 116 skipping to change at line 116
* Memory option: allow the result to have a different length than the sour ce. * Memory option: allow the result to have a different length than the sour ce.
* Affects: LamAlef options * Affects: LamAlef options
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#define U_SHAPE_LENGTH_GROW_SHRINK 0 #define U_SHAPE_LENGTH_GROW_SHRINK 0
/** /**
* Memory option: allow the result to have a different length than the sour ce. * Memory option: allow the result to have a different length than the sour ce.
* Affects: LamAlef options * Affects: LamAlef options
* This option is an alias to U_SHAPE_LENGTH_GROW_SHRINK * This option is an alias to U_SHAPE_LENGTH_GROW_SHRINK
* @draft ICU 4.2
*/ */
#define U_SHAPE_LAMALEF_RESIZE 0 #define U_SHAPE_LAMALEF_RESIZE 0
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* If more room is necessary, then try to consume spaces next to modified c haracters. * If more room is necessary, then try to consume spaces next to modified c haracters.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#define U_SHAPE_LENGTH_FIXED_SPACES_NEAR 1 #define U_SHAPE_LENGTH_FIXED_SPACES_NEAR 1
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* If more room is necessary, then try to consume spaces next to modified c haracters. * If more room is necessary, then try to consume spaces next to modified c haracters.
* Affects: LamAlef options * Affects: LamAlef options
* This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_NEAR * This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_NEAR
* @draft ICU 4.2
*/ */
#define U_SHAPE_LAMALEF_NEAR 1 #define U_SHAPE_LAMALEF_NEAR 1
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* If more room is necessary, then try to consume spaces at the end of the text. * If more room is necessary, then try to consume spaces at the end of the text.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#define U_SHAPE_LENGTH_FIXED_SPACES_AT_END 2 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_END 2
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* If more room is necessary, then try to consume spaces at the end of the text. * If more room is necessary, then try to consume spaces at the end of the text.
* Affects: LamAlef options * Affects: LamAlef options
* This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_AT_END * This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_AT_END
* @draft ICU 4.2
*/ */
#define U_SHAPE_LAMALEF_END 2 #define U_SHAPE_LAMALEF_END 2
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* If more room is necessary, then try to consume spaces at the beginning o f the text. * If more room is necessary, then try to consume spaces at the beginning o f the text.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#define U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING 3 #define U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING 3
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* If more room is necessary, then try to consume spaces at the beginning o f the text. * If more room is necessary, then try to consume spaces at the beginning o f the text.
* Affects: LamAlef options * Affects: LamAlef options
* This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING * This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING
* @draft ICU 4.2
*/ */
#define U_SHAPE_LAMALEF_BEGIN 3 #define U_SHAPE_LAMALEF_BEGIN 3
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* Shaping Mode: For each LAMALEF character found, expand LAMALEF using spa ce at end. * Shaping Mode: For each LAMALEF character found, expand LAMALEF using spa ce at end.
* If there is no space at end, use spaces at beginning of th e buffer. If there * If there is no space at end, use spaces at beginning of th e buffer. If there
* is no space at beginning of the buffer, use spaces at the near (i.e. the space * is no space at beginning of the buffer, use spaces at the near (i.e. the space
* after the LAMALEF character). * after the LAMALEF character).
* If there are no spaces found, an error U_NO_SPACE_AVAILABL E (as defined in utypes.h) * If there are no spaces found, an error U_NO_SPACE_AVAILABL E (as defined in utypes.h)
* will be set in pErrorCode * will be set in pErrorCode
* *
* Deshaping Mode: Perform the same function as the flag equals U_SHAPE_LAM ALEF_END. * Deshaping Mode: Perform the same function as the flag equals U_SHAPE_LAM ALEF_END.
* Affects: LamAlef options * Affects: LamAlef options
* @draft ICU 4.2
*/ */
#define U_SHAPE_LAMALEF_AUTO 0x10000 #define U_SHAPE_LAMALEF_AUTO 0x10000
/** Bit mask for memory options. @stable ICU 2.0 */ /** Bit mask for memory options. @stable ICU 2.0 */
#define U_SHAPE_LENGTH_MASK 0x10003 /* Changed old val ue 3 */ #define U_SHAPE_LENGTH_MASK 0x10003 /* Changed old val ue 3 */
/** Bit mask for LamAlef memory options. */ /**
* Bit mask for LamAlef memory options.
* @draft ICU 4.2
*/
#define U_SHAPE_LAMALEF_MASK 0x10003 /* updated */ #define U_SHAPE_LAMALEF_MASK 0x10003 /* updated */
/** Direction indicator: the source is in logical (keyboard) order. @stable ICU 2.0 */ /** Direction indicator: the source is in logical (keyboard) order. @stable ICU 2.0 */
#define U_SHAPE_TEXT_DIRECTION_LOGICAL 0 #define U_SHAPE_TEXT_DIRECTION_LOGICAL 0
/** /**
* Direction indicator: * Direction indicator:
* the source is in visual RTL order, * the source is in visual RTL order,
* the rightmost displayed character stored first. * the rightmost displayed character stored first.
* This option is an alias to U_SHAPE_TEXT_DIRECTION_LOGICAL * This option is an alias to U_SHAPE_TEXT_DIRECTION_LOGICAL
* @draft ICU 4.2
*/ */
#define U_SHAPE_TEXT_DIRECTION_VISUAL_RTL 0 #define U_SHAPE_TEXT_DIRECTION_VISUAL_RTL 0
/** /**
* Direction indicator: * Direction indicator:
* the source is in visual LTR order, * the source is in visual LTR order,
* the leftmost displayed character stored first. * the leftmost displayed character stored first.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR 4 #define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR 4
skipping to change at line 327 skipping to change at line 336
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* Shaping mode: The SEEN family character will expand into two characters using space near * Shaping mode: The SEEN family character will expand into two characters using space near
* the SEEN family character(i.e. the space after the charact er). * the SEEN family character(i.e. the space after the charact er).
* If there are no spaces found, an error U_NO_SPACE_AVAILABL E (as defined in utypes.h) * If there are no spaces found, an error U_NO_SPACE_AVAILABL E (as defined in utypes.h)
* will be set in pErrorCode * will be set in pErrorCode
* *
* De-shaping mode: Any Seen character followed by Tail character will be * De-shaping mode: Any Seen character followed by Tail character will be
* replaced by one cell Seen and a space will replace the Tail. * replaced by one cell Seen and a space will replace the Tail.
* Affects: Seen options * Affects: Seen options
* @draft ICU 4.2
*/ */
#define U_SHAPE_SEEN_TWOCELL_NEAR 0x200000 #define U_SHAPE_SEEN_TWOCELL_NEAR 0x200000
/** Bit mask for Seen memory options. */ /**
* Bit mask for Seen memory options.
* @draft ICU 4.2
*/
#define U_SHAPE_SEEN_MASK 0x700000 #define U_SHAPE_SEEN_MASK 0x700000
/* YehHamza option */ /* YehHamza option */
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* Shaping mode: The YEHHAMZA character will expand into two characters usi ng space near it * Shaping mode: The YEHHAMZA character will expand into two characters usi ng space near it
* (i.e. the space after the character * (i.e. the space after the character
* If there are no spaces found, an error U_NO_SPACE_AVAILABL E (as defined in utypes.h) * If there are no spaces found, an error U_NO_SPACE_AVAILABL E (as defined in utypes.h)
* will be set in pErrorCode * will be set in pErrorCode
* *
* De-shaping mode: Any Yeh (final or isolated) character followed by Hamza character will be * De-shaping mode: Any Yeh (final or isolated) character followed by Hamza character will be
* replaced by one cell YehHamza and space will replace th e Hamza. * replaced by one cell YehHamza and space will replace th e Hamza.
* Affects: YehHamza options * Affects: YehHamza options
* @draft ICU 4.2
*/ */
#define U_SHAPE_YEHHAMZA_TWOCELL_NEAR 0x1000000 #define U_SHAPE_YEHHAMZA_TWOCELL_NEAR 0x1000000
/** Bit mask for YehHamza memory options. */ /**
* Bit mask for YehHamza memory options.
* @draft ICU 4.2
*/
#define U_SHAPE_YEHHAMZA_MASK 0x3800000 #define U_SHAPE_YEHHAMZA_MASK 0x3800000
/* New Tashkeel options */ /* New Tashkeel options */
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* Shaping mode: Tashkeel characters will be replaced by spaces. * Shaping mode: Tashkeel characters will be replaced by spaces.
* Spaces will be placed at beginning of the buffer * Spaces will be placed at beginning of the buffer
* *
* De-shaping mode: N/A * De-shaping mode: N/A
* Affects: Tashkeel options * Affects: Tashkeel options
* @draft ICU 4.2
*/ */
#define U_SHAPE_TASHKEEL_BEGIN 0x40000 #define U_SHAPE_TASHKEEL_BEGIN 0x40000
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* Shaping mode: Tashkeel characters will be replaced by spaces. * Shaping mode: Tashkeel characters will be replaced by spaces.
* Spaces will be placed at end of the buffer * Spaces will be placed at end of the buffer
* *
* De-shaping mode: N/A * De-shaping mode: N/A
* Affects: Tashkeel options * Affects: Tashkeel options
* @draft ICU 4.2
*/ */
#define U_SHAPE_TASHKEEL_END 0x60000 #define U_SHAPE_TASHKEEL_END 0x60000
/** /**
* Memory option: allow the result to have a different length than the sour ce. * Memory option: allow the result to have a different length than the sour ce.
* Shaping mode: Tashkeel characters will be removed, buffer length will sh rink. * Shaping mode: Tashkeel characters will be removed, buffer length will sh rink.
* De-shaping mode: N/A * De-shaping mode: N/A
* *
* Affect: Tashkeel options * Affect: Tashkeel options
* @draft ICU 4.2
*/ */
#define U_SHAPE_TASHKEEL_RESIZE 0x80000 #define U_SHAPE_TASHKEEL_RESIZE 0x80000
/** /**
* Memory option: the result must have the same length as the source. * Memory option: the result must have the same length as the source.
* Shaping mode: Tashkeel characters will be replaced by Tatweel if it is c onnected to adjacent * Shaping mode: Tashkeel characters will be replaced by Tatweel if it is c onnected to adjacent
* characters (i.e. shaped on Tatweel) or replaced by space i f it is not connected. * characters (i.e. shaped on Tatweel) or replaced by space i f it is not connected.
* *
* De-shaping mode: N/A * De-shaping mode: N/A
* Affects: YehHamza options * Affects: YehHamza options
* @draft ICU 4.2
*/ */
#define U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL 0xC0000 #define U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL 0xC0000
/** Bit mask for Tashkeel replacement with Space or Tatweel memory options. /**
*/ * Bit mask for Tashkeel replacement with Space or Tatweel memory options.
* @draft ICU 4.2
*/
#define U_SHAPE_TASHKEEL_MASK 0xE0000 #define U_SHAPE_TASHKEEL_MASK 0xE0000
/* Space location Control options */ /* Space location Control options */
/** /**
* This option affect the meaning of BEGIN and END options. if this option is not used the default * This option affect the meaning of BEGIN and END options. if this option is not used the default
* for BEGIN and END will be as following: * for BEGIN and END will be as following:
* The Default (for both Visual LTR, Visual RTL and Logical Text) * The Default (for both Visual LTR, Visual RTL and Logical Text)
* 1. BEGIN always refers to the start address of physical memory . * 1. BEGIN always refers to the start address of physical memory .
* 2. END always refers to the end address of physical memory. * 2. END always refers to the end address of physical memory.
* *
skipping to change at line 412 skipping to change at line 436
* *
* The effect on BEGIN and END Memory Options will be as following: * The effect on BEGIN and END Memory Options will be as following:
* A. BEGIN For Visual LTR text: This will be the beginning (right side) of the visual text( * A. BEGIN For Visual LTR text: This will be the beginning (right side) of the visual text(
* corresponding to the physical memory address end for Visual LTR te xt, Same as END in * corresponding to the physical memory address end for Visual LTR te xt, Same as END in
* default behavior) * default behavior)
* B. BEGIN For Logical text: Same as BEGIN in default behavior. * B. BEGIN For Logical text: Same as BEGIN in default behavior.
* C. END For Visual LTR text: This will be the end (left side) of the v isual text (corresponding * C. END For Visual LTR text: This will be the end (left side) of the v isual text (corresponding
* to the physical memory address beginning for Visual LTR text, Same as BEGIN in default behavior. * to the physical memory address beginning for Visual LTR text, Same as BEGIN in default behavior.
* D. END For Logical text: Same as END in default behavior). * D. END For Logical text: Same as END in default behavior).
* Affects: All LamAlef BEGIN, END and AUTO options. * Affects: All LamAlef BEGIN, END and AUTO options.
* @draft ICU 4.2
*/ */
#define U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END 0x4000000 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END 0x4000000
/** Bit mask for swapping BEGIN and END for Visual LTR text */ /**
* Bit mask for swapping BEGIN and END for Visual LTR text
* @draft ICU 4.2
*/
#define U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK 0x4000000 #define U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK 0x4000000
/** /**
* If this option is used, shaping will use the new Unicode code point for TAIL (i.e. 0xFE73). * If this option is used, shaping will use the new Unicode code point for TAIL (i.e. 0xFE73).
* If this option is not specified (Default), old unofficial Unicode TAIL c ode point is used (i.e. 0x200B) * If this option is not specified (Default), old unofficial Unicode TAIL c ode point is used (i.e. 0x200B)
* De-shaping will not use this option as it will always search for both th e new Unicode code point for the * De-shaping will not use this option as it will always search for both th e new Unicode code point for the
* TAIL (i.e. 0xFE73) or the old unofficial Unicode TAIL code point (i.e. 0 x200B) and de-shape the * TAIL (i.e. 0xFE73) or the old unofficial Unicode TAIL code point (i.e. 0 x200B) and de-shape the
* Seen-Family letter accordingly. * Seen-Family letter accordingly.
* *
* Shaping Mode: Only shaping. * Shaping Mode: Only shaping.
* De-shaping Mode: N/A. * De-shaping Mode: N/A.
* Affects: All Seen options * Affects: All Seen options
* @draft ICU 4.2
*/ */
#define SHAPE_TAIL_NEW_UNICODE 0x8000000 #define SHAPE_TAIL_NEW_UNICODE 0x8000000
/** Bit mask for new Unicode Tail option */ /**
* Bit mask for new Unicode Tail option
* @draft ICU 4.2
*/
#define SHAPE_TAIL_TYPE_MASK 0x8000000 #define SHAPE_TAIL_TYPE_MASK 0x8000000
#endif #endif
 End of changes. 21 change blocks. 
8 lines changed or deleted 39 lines changed or added


 uspoof.h   uspoof.h 
skipping to change at line 57 skipping to change at line 57
* not be what it appears to be. * not be what it appears to be.
* *
* Unicode Technical Report #36, http://unicode.org/reports/tr36, and * Unicode Technical Report #36, http://unicode.org/reports/tr36, and
* Unicode Technical Standard #39, http://unicode.org/reports/tr39 * Unicode Technical Standard #39, http://unicode.org/reports/tr39
* "Unicode security considerations", give more background on * "Unicode security considerations", give more background on
* security an spoofing issues with Unicode identifiers. * security an spoofing issues with Unicode identifiers.
* The tests and checks provided by this module implement the recommendatio ns * The tests and checks provided by this module implement the recommendatio ns
* from these Unicode documents. * from these Unicode documents.
* *
* The tests available on identifiers fall into two general categories: * The tests available on identifiers fall into two general categories:
* -# Single identier tests. Check whether an identifier is * -# Single identifier tests. Check whether an identifier is
* potentially confusable with any other string, or is suspicious * potentially confusable with any other string, or is suspicious
* for other reasons. * for other reasons.
* -# Two identifier tests. Check whether two specific identifiers are confusable. * -# Two identifier tests. Check whether two specific identifiers are confusable.
* This does not consider whether either of strings is potentially * This does not consider whether either of strings is potentially
* confusable with any string other than the exact one specified. * confusable with any string other than the exact one specified.
* *
* The steps to perform confusability testing are * The steps to perform confusability testing are
* -# Open a USpoofChecker. * -# Open a USpoofChecker.
* -# Configure the USPoofChecker for the desired set of tests. The tes ts that will * -# Configure the USPoofChecker for the desired set of tests. The tes ts that will
* be performed are specified by a set of USpoofChecks flags. * be performed are specified by a set of USpoofChecks flags.
* -# Perform the checks using the pre-configured USpoofChecker. The re sults indicate * -# Perform the checks using the pre-configured USpoofChecker. The re sults indicate
* which (if any) of the selected tests have identified possible prob lems with the identifier. * which (if any) of the selected tests have identified possible prob lems with the identifier.
* Results are reported as a set of USpoofChecks flags; this mirrors the form in which * Results are reported as a set of USpoofChecks flags; this mirrors the form in which
* the set of tests to perform was originally specified tothe USpoofC hecker. * the set of tests to perform was originally specified to the USpoof Checker.
* *
* A USpoofChecker may be used repeatedly to perform checks on any number o f identifiers. * A USpoofChecker may be used repeatedly to perform checks on any number o f identifiers.
* *
* Thread Safety: The test functions for checking a single identifier, or f or testing * Thread Safety: The test functions for checking a single identifier, or f or testing
* whether two identifiers are possible confusable, are thread safe. * whether two identifiers are possible confusable, are thread safe.
* They may called concurrently, from multiple threads, using the same USpo ofChecker instance. * They may called concurrently, from multiple threads, using the same USpo ofChecker instance.
* *
* More generally, the standard ICU thread safety rules apply: functions t hat take a * More generally, the standard ICU thread safety rules apply: functions t hat take a
* const USpoofChecker parameter are thread safe. Those that take a non-co nst * const USpoofChecker parameter are thread safe. Those that take a non-co nst
* USpoofChecier are not thread safe. * USpoofChecier are not thread safe.
* *
* *
* Descriptions of the available checks. * Descriptions of the available checks.
* *
* When testing whether pairs of identifiers are confusable, with the uspoo f_areConfusable() * When testing whether pairs of identifiers are confusable, with the uspoo f_areConfusable()
* family of functions, the relevant tests are * family of functions, the relevant tests are
* *
* -# USPOOF_SINGLE_SCRIPT_CONFUSABLE: All of the characters from the tw o idenifiers are * -# USPOOF_SINGLE_SCRIPT_CONFUSABLE: All of the characters from the tw o identifiers are
* from a single script, and the two identifiers are visually confusab le. * from a single script, and the two identifiers are visually confusab le.
* -# USPOOF_MIXED_SCRIPT_CONFUSABLE: At least one of the identifiers co ntains characters * -# USPOOF_MIXED_SCRIPT_CONFUSABLE: At least one of the identifiers co ntains characters
* from more than one script, and the two identifiers are visually con fusable. * from more than one script, and the two identifiers are visually con fusable.
* -# USPOOF_WHOLE_SCRIPT_CONFUSABLE: Each of the two idenifiers is of a * -# USPOOF_WHOLE_SCRIPT_CONFUSABLE: Each of the two identifiers is of a
single script, but single script, but
* the the two identifiers are from different scripts, and they are vi * the two identifiers are from different scripts, and they are visual
sually confusable. ly confusable.
* *
* The safest approach is to enable all three of these checks as a group. * The safest approach is to enable all three of these checks as a group.
* *
* USPOOF_ANY_CASE is a modifier for the above tests. If the identifiers b eing checked can * USPOOF_ANY_CASE is a modifier for the above tests. If the identifiers b eing checked can
* be of mixed case and are used in a case-sensitive manner, this option sh ould be specified. * be of mixed case and are used in a case-sensitive manner, this option sh ould be specified.
* *
* If the identiers being checked are used in a case-insensitive manner, an d if they are * If the identifiers being checked are used in a case-insensitive manner, and if they are
* displayed to users in lower-case form only, the USPOOF_ANY_CASE option s hould not be * displayed to users in lower-case form only, the USPOOF_ANY_CASE option s hould not be
* specified. Confusabality issues involving upper case letters will not b e reported. * specified. Confusabality issues involving upper case letters will not b e reported.
* *
* When performing tests on a single identifier, with the uspoof_check() fa mily of functions, * When performing tests on a single identifier, with the uspoof_check() fa mily of functions,
* the relevant tests are: * the relevant tests are:
* *
* -# USPOOF_MIXED_SCRIPT_CONFUSABLE: the identifier contains characters from multiple * -# USPOOF_MIXED_SCRIPT_CONFUSABLE: the identifier contains characters from multiple
* scripts, and there exists an identier of a single script that is v isually confusable. * scripts, and there exists an identifier of a single script that is visually confusable.
* -# USPOOF_WHOLE_SCRIPT_CONFUSABLE: the identifier consists of charact ers from a single * -# USPOOF_WHOLE_SCRIPT_CONFUSABLE: the identifier consists of charact ers from a single
* script, and there exists a visually confusable identifier. * script, and there exists a visually confusable identifier.
* The visally confusable identifier also consists of characters from a single script. * The visually confusable identifier also consists of characters fro m a single script.
* but not the same script as the identifier being checked. * but not the same script as the identifier being checked.
* -# USPOOF_ANY_CASE: modifies the mixed script and whole script confus ables tests. If * -# USPOOF_ANY_CASE: modifies the mixed script and whole script confus ables tests. If
* specified, the checks will confusable characters of any case. If this flag is not * specified, the checks will confusable characters of any case. If this flag is not
* set, the test is performed assuming case folded identifiers. * set, the test is performed assuming case folded identifiers.
* -# USPOOF_SINGLE_SCRIPT: check that the identifier contains only char acters from a * -# USPOOF_SINGLE_SCRIPT: check that the identifier contains only char acters from a
* single script. (Characters from the 'common' and 'inherited' scri pts are ignored.) * single script. (Characters from the 'common' and 'inherited' scri pts are ignored.)
* This is not a test for confusable identifiers * This is not a test for confusable identifiers
* -# USPOOF_INVISIBLE: check an identifier for the presence of invisibl e characters, * -# USPOOF_INVISIBLE: check an identifier for the presence of invisibl e characters,
* such as zero-width spaces, or character sequences that are * such as zero-width spaces, or character sequences that are
* likely not to display, such as multiple occurences of the same * likely not to display, such as multiple occurrences of the same
* non-spacing mark. This check does not test the input string as a whole * non-spacing mark. This check does not test the input string as a whole
* for conformance to any particular syntax for identifiers. * for conformance to any particular syntax for identifiers.
* -# USPOOF_CHAR_LIMIT: check that an identifier contains only characte rs from a specified set * -# USPOOF_CHAR_LIMIT: check that an identifier contains only characte rs from a specified set
* of acceptable characters. See uspoof_setAllowedChars() and * of acceptable characters. See uspoof_setAllowedChars() and
* uspoof_setAllowedLocales(). * uspoof_setAllowedLocales().
* *
* Note on Scripts: * Note on Scripts:
* Characters from the Unicode Scripts "Common" and "Inherited" are ign ored when consdering * Characters from the Unicode Scripts "Common" and "Inherited" are ign ored when considering
* the script of an identifier. Common characters include digits and sy mbols that * the script of an identifier. Common characters include digits and sy mbols that
* are normally used with text from more than one script. * are normally used with text from more than one script.
* *
* Identifier Skeletons: A skeleton is a transformation of an identifier,
such that
* all identifiers that are confusable with each other have the same skele
ton.
* Using skeletons, it is possible to build a dictionary data structure fo
r
* a set of identifiers, and then quickly test whether a new identifier is
* confusable with an identifier already in the set. The uspoof_getSkelet
on()
* family of functions will produce the skeleton from an identifier.
*
* Note that skeletons are not guaranteed to be stable between versions
* of Unicode or ICU, so an applications should not rely on creating a per
manent,
* or difficult to update, database of skeletons. Instabilities result fr
om
* identifying new pairs or sequences of characters that are visually
* confusable, and thus must be mapped to the same skeleton character(s).
*
*/ */
struct USpoofChecker; struct USpoofChecker;
typedef struct USpoofChecker USpoofChecker; /**< typedef for C of USpoofChe cker */ typedef struct USpoofChecker USpoofChecker; /**< typedef for C of USpoofChe cker */
/** /**
* Enum for the kinds of checks that USpoofChecker can perform. * Enum for the kinds of checks that USpoofChecker can perform.
* These enum values are used both to select the set of checks that * These enum values are used both to select the set of checks that
* will be performed, and to report results from the check function. * will be performed, and to report results from the check function.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
typedef enum USpoofChecks { typedef enum USpoofChecks {
/** Single script confusable test. /** Single script confusable test.
* When testing whether two identifiers are confusable, report that they are if * When testing whether two identifiers are confusable, report that they are if
* both are from the same script and they are visually confusable. * both are from the same script and they are visually confusable.
* Note: this test is not applicable to a check of a single identifi er. * Note: this test is not applicable to a check of a single identifi er.
*/ */
USPOOF_SINGLE_SCRIPT_CONFUSABLE = 1, USPOOF_SINGLE_SCRIPT_CONFUSABLE = 1,
/** Mixed script confusable test. /** Mixed script confusable test.
* When checking a single identifier, report a problem if * When checking a single identifier, report a problem if
* the identifier contains multiple scripts, and * the identifier contains multiple scripts, and
* is confusable with some other identifer in a single script * is confusable with some other identifier in a single script
* When testing whether two identifiers are confusable, report that th ey are if * When testing whether two identifiers are confusable, report that th ey are if
* the two IDs are visually confusable, and * the two IDs are visually confusable,
* and at least one contains characters from more than one script. * and at least one contains characters from more than one script.
*/ */
USPOOF_MIXED_SCRIPT_CONFUSABLE = 2, USPOOF_MIXED_SCRIPT_CONFUSABLE = 2,
/** Whole script confusable test. /** Whole script confusable test.
* When checking a single identifier, report a problem if * When checking a single identifier, report a problem if
* The identifier is of a single script, and * The identifier is of a single script, and
* there exists a confusable identifier in another script. * there exists a confusable identifier in another script.
* When testing whether two identfiers are confusable, report that the y are if * When testing whether two identifiers are confusable, report that th ey are if
* each is of a single script, * each is of a single script,
* the scripts of the two identifiers are different, and * the scripts of the two identifiers are different, and
* the identifiers are visually confusable. * the identifiers are visually confusable.
*/ */
USPOOF_WHOLE_SCRIPT_CONFUSABLE = 4, USPOOF_WHOLE_SCRIPT_CONFUSABLE = 4,
/** Any Case Modifier for confusable identifier tests. /** Any Case Modifier for confusable identifier tests.
If specified, consider all characters, of any case, when looking fo r confusables. If specified, consider all characters, of any case, when looking fo r confusables.
If USPOOF_ANY_CASE is not specified, identifiers being checked are assumed to have been If USPOOF_ANY_CASE is not specified, identifiers being checked are assumed to have been
case folded. Upper case conusable characters will not be checked. case folded. Upper case confusable characters will not be checked.
Selects between Lower Case Confusable and Selects between Lower Case Confusable and
Any Case Confusable. */ Any Case Confusable. */
USPOOF_ANY_CASE = 8, USPOOF_ANY_CASE = 8,
/** Check that an identifer contains only characters from a /** Check that an identifier contains only characters from a
* single script (plus chars from the common and inherited scripts.) * single script (plus chars from the common and inherited scripts.)
* Applies to checks of a single identifier check only. * Applies to checks of a single identifier check only.
*/ */
USPOOF_SINGLE_SCRIPT = 16, USPOOF_SINGLE_SCRIPT = 16,
/** Check an identifier for the presence of invisble characters, /** Check an identifier for the presence of invisible characters,
* such as zero-width spaces, or character sequences that are * such as zero-width spaces, or character sequences that are
* likely not to display, such as multiple occurences of the same * likely not to display, such as multiple occurrences of the same
* non-spacing mark. This check does not test the input string as a w hole * non-spacing mark. This check does not test the input string as a w hole
* for conformance to any particular syntax for identifiers. * for conformance to any particular syntax for identifiers.
*/ */
USPOOF_INVISIBLE = 32, USPOOF_INVISIBLE = 32,
/** Check that an identifier contains only characters from a specified set /** Check that an identifier contains only characters from a specified set
* of acceptable characters. See uspoof_setAllowedChars() and * of acceptable characters. See uspoof_setAllowedChars() and
* uspoof_setAllowedLocales(). * uspoof_setAllowedLocales().
*/ */
USPOOF_CHAR_LIMIT = 64, USPOOF_CHAR_LIMIT = 64,
skipping to change at line 214 skipping to change at line 227
} USpoofChecks; } USpoofChecks;
/** /**
* Create a Unicode Spoof Checker, configured to perform all * Create a Unicode Spoof Checker, configured to perform all
* checks except for USPOOF_LOCALE_LIMIT and USPOOF_CHAR_LIMIT. * checks except for USPOOF_LOCALE_LIMIT and USPOOF_CHAR_LIMIT.
* Note that additional checks may be added in the future, * Note that additional checks may be added in the future,
* resulting in the changes to the default checking behavior. * resulting in the changes to the default checking behavior.
* *
* @param status The error code, set if this function encounters a proble m. * @param status The error code, set if this function encounters a proble m.
* @return the newly created Spoof Checker * @return the newly created Spoof Checker
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE USpoofChecker * U_EXPORT2 U_STABLE USpoofChecker * U_EXPORT2
uspoof_open(UErrorCode *status); uspoof_open(UErrorCode *status);
/** /**
* Open a Spoof checker from its serialized from, stored in 32-bit-aligned memory. * Open a Spoof checker from its serialized from, stored in 32-bit-aligned memory.
* Inverse of uspoof_serialize(). * Inverse of uspoof_serialize().
* The memory containing the serailized data must remain valid and unchange d * The memory containing the serialized data must remain valid and unchange d
* as long as the spoof checker, or any cloned copies of the spoof checker, * as long as the spoof checker, or any cloned copies of the spoof checker,
* are in use. Ownership of the memory remains with the caller. * are in use. Ownership of the memory remains with the caller.
* The spoof checker (and any clones) must be closed prior to deleting the * The spoof checker (and any clones) must be closed prior to deleting the
* serialized data. * serialized data.
* *
* @param data a pointer to 32-bit-aligned memory containing the serialized form of spoof data * @param data a pointer to 32-bit-aligned memory containing the serialized form of spoof data
* @param length the number of bytes available at data; * @param length the number of bytes available at data;
* can be more than necessary * can be more than necessary
* @param pActualLength receives the actual number of bytes at data taken u p by the data; * @param pActualLength receives the actual number of bytes at data taken u p by the data;
* can be NULL * can be NULL
* @param pErrorCode ICU error code * @param pErrorCode ICU error code
* @return the spoof checker. * @return the spoof checker.
* *
* @see uspoof_open * @see uspoof_open
* @see uspoof_serialize * @see uspoof_serialize
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_CAPI USpoofChecker * U_EXPORT2 U_CAPI USpoofChecker * U_EXPORT2
uspoof_openFromSerialized(const void *data, int32_t length, int32_t *pActua lLength, uspoof_openFromSerialized(const void *data, int32_t length, int32_t *pActua lLength,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
/** /**
* Open a Spoof Checker from the source form of the spoof data. * Open a Spoof Checker from the source form of the spoof data.
* The Three inputs correspond to the Unicode data files confusables.txt * The Three inputs correspond to the Unicode data files confusables.txt
* confusablesWholeScript.txt and xidmdifications.txt as described in * confusablesWholeScript.txt and xidmdifications.txt as described in
* Unicode UAX 39. The syntax of the source data is as described in UAX 3 9 for * Unicode UAX 39. The syntax of the source data is as described in UAX 3 9 for
* these files, and the content of these files is acceptable input. * these files, and the content of these files is acceptable input.
* *
* The character encoding of the (char *) input text is UTF-8. * The character encoding of the (char *) input text is UTF-8.
* *
* @param confusables a pointer to the confusable characters definitions, * @param confusables a pointer to the confusable characters definitions,
* as found in file confusables.txt from unicode.org. * as found in file confusables.txt from unicode.org.
* @param confusablesLen The length of the confusables text, or -1 if the * @param confusablesLen The length of the confusables text, or -1 if the
* input string is zero terminated. * input string is zero terminated.
* @param confusablesWholeScript * @param confusablesWholeScript
* a pointer to the whole script confusables definition s, * a pointer to the whole script confusables definition s,
* as found in the file xonfusablesWholeScript.txt from unicode.org. * as found in the file confusablesWholeScript.txt from unicode.org.
* @param confusablesWholeScriptLen The length of the whole script confusa bles text, or * @param confusablesWholeScriptLen The length of the whole script confusa bles text, or
* -1 if the input string is zero terminated. * -1 if the input string is zero terminated.
* @param errType In the event of an error in the input, indicates * @param errType In the event of an error in the input, indicates
* which of the input files contains the error. * which of the input files contains the error.
* The value is one of USPOOF_SINGLE_SCRIPT_CONFUSABLE or * The value is one of USPOOF_SINGLE_SCRIPT_CONFUSABLE or
* USPOOF_WHOLE_SCRIPT_CONFUSABLE, or * USPOOF_WHOLE_SCRIPT_CONFUSABLE, or
* zero if no errors are found. * zero if no errors are found.
* @param pe In the event of an error in the input, receives the position * @param pe In the event of an error in the input, receives the position
* in the input text (line, offset) of the error. * in the input text (line, offset) of the error.
* @param status an in/out ICU UErrorCode. Among the possible errors is * @param status an in/out ICU UErrorCode. Among the possible errors is
* U_PARSE_ERROR, which is used to report syntax errors * U_PARSE_ERROR, which is used to report syntax errors
* in the input. * in the input.
* @return A spoof checker that uses the rules from the input f iles. * @return A spoof checker that uses the rules from the input f iles.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_CAPI USpoofChecker * U_EXPORT2 U_CAPI USpoofChecker * U_EXPORT2
uspoof_openFromSource(const char *confusables, int32_t confusablesLen, uspoof_openFromSource(const char *confusables, int32_t confusablesLen,
const char *confusablesWholeScript, int32_t confusabl esWholeScriptLen, const char *confusablesWholeScript, int32_t confusabl esWholeScriptLen,
int32_t *errType, UParseError *pe, UErrorCode *status ); int32_t *errType, UParseError *pe, UErrorCode *status );
/** /**
* Close a Spoof Checker, freeing any memory that was being held by * Close a Spoof Checker, freeing any memory that was being held by
* its implementation. * its implementation.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
uspoof_close(USpoofChecker *sc); uspoof_close(USpoofChecker *sc);
#if U_SHOW_CPLUSPLUS_API #if U_SHOW_CPLUSPLUS_API
U_NAMESPACE_BEGIN U_NAMESPACE_BEGIN
/** /**
* \class LocalUSpoofCheckerPointer * \class LocalUSpoofCheckerPointer
skipping to change at line 314 skipping to change at line 327
#endif #endif
/** /**
* Clone a Spoof Checker. The clone will be set to perform the same checks * Clone a Spoof Checker. The clone will be set to perform the same checks
* as the original source. * as the original source.
* *
* @param sc The source USpoofChecker * @param sc The source USpoofChecker
* @param status The error code, set if this function encounters a proble m. * @param status The error code, set if this function encounters a proble m.
* @return * @return
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE USpoofChecker * U_EXPORT2 U_STABLE USpoofChecker * U_EXPORT2
uspoof_clone(const USpoofChecker *sc, UErrorCode *status); uspoof_clone(const USpoofChecker *sc, UErrorCode *status);
/** /**
* Specify the set of checks that will be performed by the check * Specify the set of checks that will be performed by the check
* functions of this Spoof Checker. * functions of this Spoof Checker.
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param checks The set of checks that this spoof checker will per form. * @param checks The set of checks that this spoof checker will per form.
* The value is a bit set, obtained by OR-ing together * The value is a bit set, obtained by OR-ing together
* values from enum USpoofChecks. * values from enum USpoofChecks.
* @param status The error code, set if this function encounters a proble m. * @param status The error code, set if this function encounters a proble m.
* @stable ICU 4.4 * @stable ICU 4.2
* *
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
uspoof_setChecks(USpoofChecker *sc, int32_t checks, UErrorCode *status); uspoof_setChecks(USpoofChecker *sc, int32_t checks, UErrorCode *status);
/** /**
* Get the set of checks that this Spoof Checker has been configured to per form. * Get the set of checks that this Spoof Checker has been configured to per form.
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param status The error code, set if this function encounters a proble m. * @param status The error code, set if this function encounters a proble m.
* @return The set of checks that this spoof checker will perform. * @return The set of checks that this spoof checker will perform.
* The value is a bit set, obtained by OR-ing together * The value is a bit set, obtained by OR-ing together
* values from enum USpoofChecks. * values from enum USpoofChecks.
* @stable ICU 4.4 * @stable ICU 4.2
* *
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_getChecks(const USpoofChecker *sc, UErrorCode *status); uspoof_getChecks(const USpoofChecker *sc, UErrorCode *status);
/** /**
* Limit characters that are acceptable in identifiers being checked to tho se * Limit characters that are acceptable in identifiers being checked to tho se
* normally used with the languages associated with the specified locales. * normally used with the languages associated with the specified locales.
* Any previously specified list of locales is replaced by the new settings . * Any previously specified list of locales is replaced by the new settings .
* *
skipping to change at line 388 skipping to change at line 401
* and associated script are extracted. The locales * and associated script are extracted. The locales
* are comma-separated if there is more than one. * are comma-separated if there is more than one.
* White space may not appear within an individual loca le, * White space may not appear within an individual loca le,
* but is ignored otherwise. * but is ignored otherwise.
* The locales are syntactically like those from the * The locales are syntactically like those from the
* HTTP Accept-Language header. * HTTP Accept-Language header.
* If the localesList is empty, no restrictions will be placed on * If the localesList is empty, no restrictions will be placed on
* the allowed characters. * the allowed characters.
* *
* @param status The error code, set if this function encounters a pr oblem. * @param status The error code, set if this function encounters a pr oblem.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
uspoof_setAllowedLocales(USpoofChecker *sc, const char *localesList, UError Code *status); uspoof_setAllowedLocales(USpoofChecker *sc, const char *localesList, UError Code *status);
/** /**
* Get a list of locales for the scripts that are acceptable in strings * Get a list of locales for the scripts that are acceptable in strings
* to be checked. If no limitations on scripts have been specified, * to be checked. If no limitations on scripts have been specified,
* an empty string will be returned. * an empty string will be returned.
* *
* uspoof_setAllowedChars() will reset the list of allowed to be empty. * uspoof_setAllowedChars() will reset the list of allowed to be empty.
skipping to change at line 412 skipping to change at line 425
* to the originally specified string; the string may be reformatted, * to the originally specified string; the string may be reformatted,
* and information other than languages from * and information other than languages from
* the originally specified locales may be omitted. * the originally specified locales may be omitted.
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param status The error code, set if this function encounters a pr oblem. * @param status The error code, set if this function encounters a pr oblem.
* @return A string containing a list of locales corresponding * @return A string containing a list of locales corresponding
* to the acceptable scripts, formatted like an * to the acceptable scripts, formatted like an
* HTTP Accept Language value. * HTTP Accept Language value.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE const char * U_EXPORT2 U_STABLE const char * U_EXPORT2
uspoof_getAllowedLocales(USpoofChecker *sc, UErrorCode *status); uspoof_getAllowedLocales(USpoofChecker *sc, UErrorCode *status);
/** /**
* Limit the acceptable characters to those specified by a Unicode Set. * Limit the acceptable characters to those specified by a Unicode Set.
* Any previously specified character limit is * Any previously specified character limit is
* is replaced by the new settings. This includes limits on * is replaced by the new settings. This includes limits on
* characters that were set with the uspoof_setAllowedLocales() function. * characters that were set with the uspoof_setAllowedLocales() function.
* *
* The USPOOF_CHAR_LIMIT test is automatically enabled for this * The USPOOF_CHAR_LIMIT test is automatically enabled for this
* USpoofChecker by this function. * USpoofChecker by this function.
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param chars A Unicode Set containing the list of * @param chars A Unicode Set containing the list of
* charcters that are permitted. Ownership of the set * characters that are permitted. Ownership of the set
* remains with the caller. The incoming set is cloned by * remains with the caller. The incoming set is cloned by
* this function, so there are no restrictions on modifying * this function, so there are no restrictions on modifying
* or deleting the USet after calling this function. * or deleting the USet after calling this function.
* @param status The error code, set if this function encounters a proble m. * @param status The error code, set if this function encounters a proble m.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
uspoof_setAllowedChars(USpoofChecker *sc, const USet *chars, UErrorCode *st atus); uspoof_setAllowedChars(USpoofChecker *sc, const USet *chars, UErrorCode *st atus);
/** /**
* Get a USet for the characters permitted in an identifier. * Get a USet for the characters permitted in an identifier.
* This corresponds to the limits imposed by the Set Allowed Characters * This corresponds to the limits imposed by the Set Allowed Characters
* functions. Limitations imposed by other checks will not be * functions. Limitations imposed by other checks will not be
* reflected in the set returned by this function. * reflected in the set returned by this function.
* *
skipping to change at line 456 skipping to change at line 469
* *
* Ownership of the returned set remains with the Spoof Detector. The * Ownership of the returned set remains with the Spoof Detector. The
* returned set will become invalid if the spoof detector is closed, * returned set will become invalid if the spoof detector is closed,
* or if a new set of allowed characters is specified. * or if a new set of allowed characters is specified.
* *
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param status The error code, set if this function encounters a proble m. * @param status The error code, set if this function encounters a proble m.
* @return A USet containing the characters that are permitted by * @return A USet containing the characters that are permitted by
* the USPOOF_CHAR_LIMIT test. * the USPOOF_CHAR_LIMIT test.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE const USet * U_EXPORT2 U_STABLE const USet * U_EXPORT2
uspoof_getAllowedChars(const USpoofChecker *sc, UErrorCode *status); uspoof_getAllowedChars(const USpoofChecker *sc, UErrorCode *status);
#if U_SHOW_CPLUSPLUS_API #if U_SHOW_CPLUSPLUS_API
/** /**
* Limit the acceptable characters to those specified by a Unicode Set. * Limit the acceptable characters to those specified by a Unicode Set.
* Any previously specified character limit is * Any previously specified character limit is
* is replaced by the new settings. This includes limits on * is replaced by the new settings. This includes limits on
* characters that were set with the uspoof_setAllowedLocales() function. * characters that were set with the uspoof_setAllowedLocales() function.
* *
* The USPOOF_CHAR_LIMIT test is automatically enabled for this * The USPOOF_CHAR_LIMIT test is automatically enabled for this
* USoofChecker by this function. * USoofChecker by this function.
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param chars A Unicode Set containing the list of * @param chars A Unicode Set containing the list of
* charcters that are permitted. Ownership of the set * characters that are permitted. Ownership of the set
* remains with the caller. The incoming set is cloned by * remains with the caller. The incoming set is cloned by
* this function, so there are no restrictions on modifying * this function, so there are no restrictions on modifying
* or deleting the USet after calling this function. * or deleting the USet after calling this function.
* @param status The error code, set if this function encounters a proble m. * @param status The error code, set if this function encounters a proble m.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const UnicodeSet *chars, UEr rorCode *status); uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const UnicodeSet *chars, UEr rorCode *status);
/** /**
* Get a UnicodeSet for the characters permitted in an identifier. * Get a UnicodeSet for the characters permitted in an identifier.
* This corresponds to the limits imposed by the Set Allowed Characters / * This corresponds to the limits imposed by the Set Allowed Characters /
* UnicodeSet functions. Limitations imposed by other checks will not be * UnicodeSet functions. Limitations imposed by other checks will not be
* reflected in the set returned by this function. * reflected in the set returned by this function.
* *
skipping to change at line 501 skipping to change at line 514
* *
* Ownership of the returned set remains with the Spoof Detector. The * Ownership of the returned set remains with the Spoof Detector. The
* returned set will become invalid if the spoof detector is closed, * returned set will become invalid if the spoof detector is closed,
* or if a new set of allowed characters is specified. * or if a new set of allowed characters is specified.
* *
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param status The error code, set if this function encounters a proble m. * @param status The error code, set if this function encounters a proble m.
* @return A UnicodeSet containing the characters that are permitte d by * @return A UnicodeSet containing the characters that are permitte d by
* the USPOOF_CHAR_LIMIT test. * the USPOOF_CHAR_LIMIT test.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE const UnicodeSet * U_EXPORT2 U_STABLE const UnicodeSet * U_EXPORT2
uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status); uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status);
#endif #endif
/** /**
* Check the specified string for possible security issues. * Check the specified string for possible security issues.
* The text to be checked will typically be an indentifier of some sort. * The text to be checked will typically be an identifier of some sort.
* The set of checks to be performed is specified with uspoof_setChecks(). * The set of checks to be performed is specified with uspoof_setChecks().
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param text The string to be checked for possible security issues, * @param text The string to be checked for possible security issues,
* in UTF-16 format. * in UTF-16 format.
* @param length the length of the string to be checked, expressed in * @param length the length of the string to be checked, expressed in
* 16 bit UTF-16 code units, or -1 if the string is * 16 bit UTF-16 code units, or -1 if the string is
* zero terminated. * zero terminated.
* @param position An out parameter that receives the index of the * @param position An out parameter that receives the index of the
* first string position that fails the allowed character * first string position that fails the allowed character
* limitation checks. * limitation checks.
* This parameter may be null if the position information * This parameter may be null if the position information
* is not needed. * is not needed.
* If the string passes the requested checks the * If the string passes the requested checks the
* parameter value will not be set. * parameter value will not be set.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attempting to
* perform the check. * perform the check.
* Spoofing or security issues detected with the input strin g are * Spoofing or security issues detected with the input strin g are
* not reported here, but through the function's return valu e. * not reported here, but through the function's return valu e.
* @return An integer value with bits set for any potential security * @return An integer value with bits set for any potential security
* or spoofing issues detected. The bits are defined by * or spoofing issues detected. The bits are defined by
* enum USpoofChecks. Zero is returned if no issues * enum USpoofChecks. Zero is returned if no issues
* are found with the input string. * are found with the input string.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_check(const USpoofChecker *sc, uspoof_check(const USpoofChecker *sc,
const UChar *text, int32_t length, const UChar *text, int32_t length,
int32_t *position, int32_t *position,
UErrorCode *status); UErrorCode *status);
/** /**
* Check the specified string for possible security issues. * Check the specified string for possible security issues.
* The text to be checked will typically be an indentifier of some sort. * The text to be checked will typically be an identifier of some sort.
* The set of checks to be performed is specified with uspoof_setChecks(). * The set of checks to be performed is specified with uspoof_setChecks().
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param text A UTF-8 string to be checked for possible security issues . * @param text A UTF-8 string to be checked for possible security issues .
* @param length the length of the string to be checked, or -1 if the stri ng is * @param length the length of the string to be checked, or -1 if the stri ng is
* zero terminated. * zero terminated.
* @param position An out parameter that receives the index of the * @param position An out parameter that receives the index of the
* first string position that fails the allowed character * first string position that fails the allowed character
* limitation checks. * limitation checks.
* This parameter may be null if the position information * This parameter may be null if the position information
* is not needed. * is not needed.
* If the string passes the requested checks the * If the string passes the requested checks the
* parameter value will not be set. * parameter value will not be set.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attempting to
* perform the check. * perform the check.
* Spoofing or security issues detected with the input strin g are * Spoofing or security issues detected with the input strin g are
* not reported here, but through the function's return valu e. * not reported here, but through the function's return valu e.
* If the input contains invalid UTF-8 sequences, * If the input contains invalid UTF-8 sequences,
* a status of U_INVALID_CHAR_FOUND will be returned. * a status of U_INVALID_CHAR_FOUND will be returned.
* @return An integer value with bits set for any potential security * @return An integer value with bits set for any potential security
* or spoofing issues detected. The bits are defined by * or spoofing issues detected. The bits are defined by
* enum USpoofChecks. Zero is returned if no issues * enum USpoofChecks. Zero is returned if no issues
* are found with the input string. * are found with the input string.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_checkUTF8(const USpoofChecker *sc, uspoof_checkUTF8(const USpoofChecker *sc,
const char *text, int32_t length, const char *text, int32_t length,
int32_t *position, int32_t *position,
UErrorCode *status); UErrorCode *status);
#if U_SHOW_CPLUSPLUS_API #if U_SHOW_CPLUSPLUS_API
/** /**
* Check the specified string for possible security issues. * Check the specified string for possible security issues.
* The text to be checked will typically be an indentifier of some sort. * The text to be checked will typically be an identifier of some sort.
* The set of checks to be performed is specified with uspoof_setChecks(). * The set of checks to be performed is specified with uspoof_setChecks().
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param text A UnicodeString to be checked for possible security issue s. * @param text A UnicodeString to be checked for possible security issue s.
* @position An out parameter that receives the index of the * @position An out parameter that receives the index of the
* first string position that fails the allowed character * first string position that fails the allowed character
* limitation checks. * limitation checks.
* This parameter may be null if the position information * This parameter may be null if the position information
* is not needed. * is not needed.
* If the string passes the requested checks the * If the string passes the requested checks the
* parameter value will not be set. * parameter value will not be set.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attempting to
* perform the check. * perform the check.
* Spoofing or security issues detected with the input strin g are * Spoofing or security issues detected with the input strin g are
* not reported here, but through the function's return valu e. * not reported here, but through the function's return valu e.
* @return An integer value with bits set for any potential security * @return An integer value with bits set for any potential security
* or spoofing issues detected. The bits are defined by * or spoofing issues detected. The bits are defined by
* enum USpoofChecks. Zero is returned if no issues * enum USpoofChecks. Zero is returned if no issues
* are found with the input string. * are found with the input string.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_checkUnicodeString(const USpoofChecker *sc, uspoof_checkUnicodeString(const USpoofChecker *sc,
const U_NAMESPACE_QUALIFIER UnicodeString &text, const U_NAMESPACE_QUALIFIER UnicodeString &text,
int32_t *position, int32_t *position,
UErrorCode *status); UErrorCode *status);
#endif #endif
/** /**
skipping to change at line 638 skipping to change at line 651
* @param s1 The first of the two strings to be compared for * @param s1 The first of the two strings to be compared for
* confusability. The strings are in UTF-16 format. * confusability. The strings are in UTF-16 format.
* @param length1 the length of the first string, expressed in * @param length1 the length of the first string, expressed in
* 16 bit UTF-16 code units, or -1 if the string is * 16 bit UTF-16 code units, or -1 if the string is
* zero terminated. * zero terminated.
* @param s2 The second of the two strings to be compared for * @param s2 The second of the two strings to be compared for
* confusability. The strings are in UTF-16 format. * confusability. The strings are in UTF-16 format.
* @param length2 The length of the second string, expressed in * @param length2 The length of the second string, expressed in
* 16 bit UTF-16 code units, or -1 if the string is * 16 bit UTF-16 code units, or -1 if the string is
* zero terminated. * zero terminated.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attempting to
* perform the check. * perform the check.
* Confusability of the strings is not reported here, * Confusability of the strings is not reported here,
* but through this function's return value. * but through this function's return value.
* @return An integer value with bit(s) set corresponding to * @return An integer value with bit(s) set corresponding to
* the type of confusability found, as defined by * the type of confusability found, as defined by
* enum USpoofChecks. Zero is returned if the strings * enum USpoofChecks. Zero is returned if the strings
* are not confusable. * are not confusable.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_areConfusable(const USpoofChecker *sc, uspoof_areConfusable(const USpoofChecker *sc,
const UChar *s1, int32_t length1, const UChar *s1, int32_t length1,
const UChar *s2, int32_t length2, const UChar *s2, int32_t length2,
UErrorCode *status); UErrorCode *status);
/** /**
* Check the whether two specified strings are visually confusable. * Check the whether two specified strings are visually confusable.
* The types of confusability to be tested - single script, mixed script, * The types of confusability to be tested - single script, mixed script,
skipping to change at line 669 skipping to change at line 682
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param s1 The first of the two strings to be compared for * @param s1 The first of the two strings to be compared for
* confusability. The strings are in UTF-8 format. * confusability. The strings are in UTF-8 format.
* @param length1 the length of the first string, in bytes, or -1 * @param length1 the length of the first string, in bytes, or -1
* if the string is zero terminated. * if the string is zero terminated.
* @param s2 The second of the two strings to be compared for * @param s2 The second of the two strings to be compared for
* confusability. The strings are in UTF-18 format. * confusability. The strings are in UTF-18 format.
* @param length2 The length of the second string in bytes, or -1 * @param length2 The length of the second string in bytes, or -1
* if the string is zero terminated. * if the string is zero terminated.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attempting to
* perform the check. * perform the check.
* Confusability of the strings is not reported here, * Confusability of the strings is not reported here,
* but through this function's return value. * but through this function's return value.
* @return An integer value with bit(s) set corresponding to * @return An integer value with bit(s) set corresponding to
* the type of confusability found, as defined by * the type of confusability found, as defined by
* enum USpoofChecks. Zero is returned if the strings * enum USpoofChecks. Zero is returned if the strings
* are not confusable. * are not confusable.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_areConfusableUTF8(const USpoofChecker *sc, uspoof_areConfusableUTF8(const USpoofChecker *sc,
const char *s1, int32_t length1, const char *s1, int32_t length1,
const char *s2, int32_t length2, const char *s2, int32_t length2,
UErrorCode *status); UErrorCode *status);
#if U_SHOW_CPLUSPLUS_API #if U_SHOW_CPLUSPLUS_API
/** /**
* Check the whether two specified strings are visually confusable. * Check the whether two specified strings are visually confusable.
* The types of confusability to be tested - single script, mixed script, * The types of confusability to be tested - single script, mixed script,
* or whole script - are determined by the check options set for the * or whole script - are determined by the check options set for the
* USpoofChecker. * USpoofChecker.
* *
* @param sc The USpoofChecker * @param sc The USpoofChecker
* @param s1 The first of the two strings to be compared for * @param s1 The first of the two strings to be compared for
* confusability. The strings are in UTF-8 format. * confusability. The strings are in UTF-8 format.
* @param s2 The second of the two strings to be compared for * @param s2 The second of the two strings to be compared for
* confusability. The strings are in UTF-18 format. * confusability. The strings are in UTF-18 format.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attempting to
* perform the check. * perform the check.
* Confusability of the strings is not reported here, * Confusability of the strings is not reported here,
* but through this function's return value. * but through this function's return value.
* @return An integer value with bit(s) set corresponding to * @return An integer value with bit(s) set corresponding to
* the type of confusability found, as defined by * the type of confusability found, as defined by
* enum USpoofChecks. Zero is returned if the strings * enum USpoofChecks. Zero is returned if the strings
* are not confusable. * are not confusable.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_areConfusableUnicodeString(const USpoofChecker *sc, uspoof_areConfusableUnicodeString(const USpoofChecker *sc,
const U_NAMESPACE_QUALIFIER UnicodeString &s1, const U_NAMESPACE_QUALIFIER UnicodeString &s1,
const U_NAMESPACE_QUALIFIER UnicodeString &s2, const U_NAMESPACE_QUALIFIER UnicodeString &s2,
UErrorCode *status); UErrorCode *status);
#endif #endif
/** /**
* Get the "skeleton" for an identifier string. * Get the "skeleton" for an identifier string.
skipping to change at line 738 skipping to change at line 751
* The default is Mixed-Script, Lowercase. * The default is Mixed-Script, Lowercase.
* Allowed options are USPOOF_SINGLE_SCRIPT_CONFUSABLE and * Allowed options are USPOOF_SINGLE_SCRIPT_CONFUSABLE and
* USPOOF_ANY_CASE_CONFUSABLE. The two flags may be ORed. * USPOOF_ANY_CASE_CONFUSABLE. The two flags may be ORed.
* @param s The input string whose skeleton will be computed. * @param s The input string whose skeleton will be computed.
* @param length The length of the input string, expressed in 16 bit * @param length The length of the input string, expressed in 16 bit
* UTF-16 code units, or -1 if the string is zero terminate d. * UTF-16 code units, or -1 if the string is zero terminate d.
* @param dest The output buffer, to receive the skeleton string. * @param dest The output buffer, to receive the skeleton string.
* @param destCapacity The length of the output buffer, in 16 bit units. * @param destCapacity The length of the output buffer, in 16 bit units.
* The destCapacity may be zero, in which case the function will * The destCapacity may be zero, in which case the function will
* return the actual length of the skeleton. * return the actual length of the skeleton.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attemptin g to
* perform the check. * perform the check.
* @return The length of the skeleton string. The returned length * @return The length of the skeleton string. The returned length
* is always that of the complete skeleton, even when the * is always that of the complete skeleton, even when the
* supplied buffer is too small (or of zero length) * supplied buffer is too small (or of zero length)
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_getSkeleton(const USpoofChecker *sc, uspoof_getSkeleton(const USpoofChecker *sc,
uint32_t type, uint32_t type,
const UChar *s, int32_t length, const UChar *s, int32_t length,
UChar *dest, int32_t destCapacity, UChar *dest, int32_t destCapacity,
UErrorCode *status); UErrorCode *status);
/** /**
* Get the "skeleton" for an identifier string. * Get the "skeleton" for an identifier string.
skipping to change at line 777 skipping to change at line 790
* The default is Mixed-Script, Lowercase. * The default is Mixed-Script, Lowercase.
* Allowed options are USPOOF_SINGLE_SCRIPT_CONFUSABLE and * Allowed options are USPOOF_SINGLE_SCRIPT_CONFUSABLE and
* USPOOF_ANY_CASE. The two flags may be ORed. * USPOOF_ANY_CASE. The two flags may be ORed.
* @param s The UTF-8 format input string whose skeleton will be com puted. * @param s The UTF-8 format input string whose skeleton will be com puted.
* @param length The length of the input string, in bytes, * @param length The length of the input string, in bytes,
* or -1 if the string is zero terminated. * or -1 if the string is zero terminated.
* @param dest The output buffer, to receive the skeleton string. * @param dest The output buffer, to receive the skeleton string.
* @param destCapacity The length of the output buffer, in bytes. * @param destCapacity The length of the output buffer, in bytes.
* The destCapacity may be zero, in which case the function will * The destCapacity may be zero, in which case the function will
* return the actual length of the skeleton. * return the actual length of the skeleton.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attemptin g to
* perform the check. Possible Errors include U_INVALID_CH AR_FOUND * perform the check. Possible Errors include U_INVALID_CH AR_FOUND
* for invalid UTF-8 sequences, and * for invalid UTF-8 sequences, and
* U_BUFFER_OVERFLOW_ERROR if the destination buffer is too small * U_BUFFER_OVERFLOW_ERROR if the destination buffer is too small
* to hold the complete skeleton. * to hold the complete skeleton.
* @return The length of the skeleton string, in bytes. The return ed length * @return The length of the skeleton string, in bytes. The return ed length
* is always that of the complete skeleton, even when the * is always that of the complete skeleton, even when the
* supplied buffer is too small (or of zero length) * supplied buffer is too small (or of zero length)
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
uspoof_getSkeletonUTF8(const USpoofChecker *sc, uspoof_getSkeletonUTF8(const USpoofChecker *sc,
uint32_t type, uint32_t type,
const char *s, int32_t length, const char *s, int32_t length,
char *dest, int32_t destCapacity, char *dest, int32_t destCapacity,
UErrorCode *status); UErrorCode *status);
#if U_SHOW_CPLUSPLUS_API #if U_SHOW_CPLUSPLUS_API
/** /**
skipping to change at line 818 skipping to change at line 831
* @param type The type of skeleton, corresponding to which * @param type The type of skeleton, corresponding to which
* of the Unicode confusable data tables to use. * of the Unicode confusable data tables to use.
* The default is Mixed-Script, Lowercase. * The default is Mixed-Script, Lowercase.
* Allowed options are USPOOF_SINGLE_SCRIPT_CONFUSABLE and * Allowed options are USPOOF_SINGLE_SCRIPT_CONFUSABLE and
* USPOOF_ANY_CASE_CONFUSABLE. The two flags may be ORed. * USPOOF_ANY_CASE_CONFUSABLE. The two flags may be ORed.
* @param s The input string whose skeleton will be computed. * @param s The input string whose skeleton will be computed.
* @param dest The output string, to receive the skeleton string. * @param dest The output string, to receive the skeleton string.
* @param destCapacity The length of the output buffer, in bytes. * @param destCapacity The length of the output buffer, in bytes.
* The destCapacity may be zero, in which case the function will * The destCapacity may be zero, in which case the function will
* return the actual length of the skeleton. * return the actual length of the skeleton.
* @param status The error code, set if an error occured while attempting to * @param status The error code, set if an error occurred while attemptin g to
* perform the check. * perform the check.
* @return A reference to the destination (skeleton) string. * @return A reference to the destination (skeleton) string.
* *
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE UnicodeString & U_EXPORT2 U_STABLE UnicodeString & U_EXPORT2
uspoof_getSkeletonUnicodeString(const USpoofChecker *sc, uspoof_getSkeletonUnicodeString(const USpoofChecker *sc,
uint32_t type, uint32_t type,
const UnicodeString &s, const UnicodeString &s,
UnicodeString &dest, UnicodeString &dest,
UErrorCode *status); UErrorCode *status);
#endif /* U_SHOW_CPLUSPLUS_API */ #endif /* U_SHOW_CPLUSPLUS_API */
/** /**
skipping to change at line 848 skipping to change at line 861
* @param data a pointer to 32-bit-aligned memory to be filled with the dat a, * @param data a pointer to 32-bit-aligned memory to be filled with the dat a,
* can be NULL if capacity==0 * can be NULL if capacity==0
* @param capacity the number of bytes available at data, * @param capacity the number of bytes available at data,
* or 0 for preflighting * or 0 for preflighting
* @param status an in/out ICU UErrorCode; possible errors include: * @param status an in/out ICU UErrorCode; possible errors include:
* - U_BUFFER_OVERFLOW_ERROR if the data storage block is too small for ser ialization * - U_BUFFER_OVERFLOW_ERROR if the data storage block is too small for ser ialization
* - U_ILLEGAL_ARGUMENT_ERROR the data or capacity parameters are bad * - U_ILLEGAL_ARGUMENT_ERROR the data or capacity parameters are bad
* @return the number of bytes written or needed for the spoof data * @return the number of bytes written or needed for the spoof data
* *
* @see utrie2_openFromSerialized() * @see utrie2_openFromSerialized()
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_CAPI int32_t U_EXPORT2 U_CAPI int32_t U_EXPORT2
uspoof_serialize(USpoofChecker *sc, uspoof_serialize(USpoofChecker *sc,
void *data, int32_t capacity, void *data, int32_t capacity,
UErrorCode *status); UErrorCode *status);
#endif #endif
#endif /* USPOOF_H */ #endif /* USPOOF_H */
 End of changes. 57 change blocks. 
59 lines changed or deleted 78 lines changed or added


 usprep.h   usprep.h 
skipping to change at line 90 skipping to change at line 90
* *
* @see usprep_prepare * @see usprep_prepare
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
#define USPREP_ALLOW_UNASSIGNED 0x0001 #define USPREP_ALLOW_UNASSIGNED 0x0001
/** /**
* enums for the standard stringprep profile types * enums for the standard stringprep profile types
* supported by usprep_openByType. * supported by usprep_openByType.
* @see usprep_openByType * @see usprep_openByType
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
typedef enum UStringPrepProfileType { typedef enum UStringPrepProfileType {
/** /**
* RFC3491 Nameprep * RFC3491 Nameprep
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3491_NAMEPREP, USPREP_RFC3491_NAMEPREP,
/** /**
* RFC3530 nfs4_cs_prep * RFC3530 nfs4_cs_prep
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3530_NFS4_CS_PREP, USPREP_RFC3530_NFS4_CS_PREP,
/** /**
* RFC3530 nfs4_cs_prep with case insensitive option * RFC3530 nfs4_cs_prep with case insensitive option
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3530_NFS4_CS_PREP_CI, USPREP_RFC3530_NFS4_CS_PREP_CI,
/** /**
* RFC3530 nfs4_cis_prep * RFC3530 nfs4_cis_prep
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3530_NFS4_CIS_PREP, USPREP_RFC3530_NFS4_CIS_PREP,
/** /**
* RFC3530 nfs4_mixed_prep for prefix * RFC3530 nfs4_mixed_prep for prefix
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX, USPREP_RFC3530_NFS4_MIXED_PREP_PREFIX,
/** /**
* RFC3530 nfs4_mixed_prep for suffix * RFC3530 nfs4_mixed_prep for suffix
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX, USPREP_RFC3530_NFS4_MIXED_PREP_SUFFIX,
/** /**
* RFC3722 iSCSI * RFC3722 iSCSI
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3722_ISCSI, USPREP_RFC3722_ISCSI,
/** /**
* RFC3920 XMPP Nodeprep * RFC3920 XMPP Nodeprep
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3920_NODEPREP, USPREP_RFC3920_NODEPREP,
/** /**
* RFC3920 XMPP Resourceprep * RFC3920 XMPP Resourceprep
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC3920_RESOURCEPREP, USPREP_RFC3920_RESOURCEPREP,
/** /**
* RFC4011 Policy MIB Stringprep * RFC4011 Policy MIB Stringprep
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC4011_MIB, USPREP_RFC4011_MIB,
/** /**
* RFC4013 SASLprep * RFC4013 SASLprep
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC4013_SASLPREP, USPREP_RFC4013_SASLPREP,
/** /**
* RFC4505 trace * RFC4505 trace
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC4505_TRACE, USPREP_RFC4505_TRACE,
/** /**
* RFC4518 LDAP * RFC4518 LDAP
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC4518_LDAP, USPREP_RFC4518_LDAP,
/** /**
* RFC4518 LDAP for case ignore, numeric and stored prefix * RFC4518 LDAP for case ignore, numeric and stored prefix
* matching rules * matching rules
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
USPREP_RFC4518_LDAP_CI USPREP_RFC4518_LDAP_CI
} UStringPrepProfileType; } UStringPrepProfileType;
/** /**
* Creates a StringPrep profile from the data file. * Creates a StringPrep profile from the data file.
* *
* @param path string containing the full path pointing to the directo ry * @param path string containing the full path pointing to the directo ry
* where the profile reside followed by the package name * where the profile reside followed by the package name
* e.g. "/usr/resource/my_app/profiles/mydata" on a Unix s ystem. * e.g. "/usr/resource/my_app/profiles/mydata" on a Unix s ystem.
skipping to change at line 195 skipping to change at line 195
/** /**
* Creates a StringPrep profile for the specified profile type. * Creates a StringPrep profile for the specified profile type.
* *
* @param type The profile type * @param type The profile type
* @param status ICU error code in/out parameter. Must not be NULL. * @param status ICU error code in/out parameter. Must not be NULL.
* Must fulfill U_SUCCESS before the function call. * Must fulfill U_SUCCESS before the function call.
* @return Pointer to UStringPrepProfile that is opened. Should be closed by * @return Pointer to UStringPrepProfile that is opened. Should be closed by
* calling usprep_close() * calling usprep_close()
* @see usprep_close() * @see usprep_close()
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE UStringPrepProfile* U_EXPORT2 U_STABLE UStringPrepProfile* U_EXPORT2
usprep_openByType(UStringPrepProfileType type, usprep_openByType(UStringPrepProfileType type,
UErrorCode* status); UErrorCode* status);
/** /**
* Closes the profile * Closes the profile
* @param profile The profile to close * @param profile The profile to close
* @stable ICU 2.8 * @stable ICU 2.8
*/ */
 End of changes. 16 change blocks. 
16 lines changed or deleted 16 lines changed or added


 ustring.h   ustring.h 
skipping to change at line 150 skipping to change at line 150
/** /**
* Concatenate two ustrings. * Concatenate two ustrings.
* Appends at most <code>n</code> characters from <code>src</code> to <code >dst</code>. * Appends at most <code>n</code> characters from <code>src</code> to <code >dst</code>.
* Adds a terminating NUL. * Adds a terminating NUL.
* If src is too long, then only <code>n-1</code> characters will be copied * If src is too long, then only <code>n-1</code> characters will be copied
* before the terminating NUL. * before the terminating NUL.
* If <code>n&lt;=0</code> then dst is not modified. * If <code>n&lt;=0</code> then dst is not modified.
* *
* @param dst The destination string. * @param dst The destination string.
* @param src The source string. * @param src The source string.
* @param n The maximum number of characters to compare. * @param n The maximum number of characters to append.
* @return A pointer to <code>dst</code>. * @return A pointer to <code>dst</code>.
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
U_STABLE UChar* U_EXPORT2 U_STABLE UChar* U_EXPORT2
u_strncat(UChar *dst, u_strncat(UChar *dst,
const UChar *src, const UChar *src,
int32_t n); int32_t n);
/** /**
* Find the first occurrence of a substring in a string. * Find the first occurrence of a substring in a string.
skipping to change at line 970 skipping to change at line 970
* \\Uhhhhhhhh 8 hex digits * \\Uhhhhhhhh 8 hex digits
* \\xhh 1-2 hex digits * \\xhh 1-2 hex digits
* \\x{h...} 1-8 hex digits * \\x{h...} 1-8 hex digits
* \\ooo 1-3 octal digits; o in [0-7] * \\ooo 1-3 octal digits; o in [0-7]
* \\cX control-X; X is masked with 0x1F * \\cX control-X; X is masked with 0x1F
* *
* as well as the standard ANSI C escapes: * as well as the standard ANSI C escapes:
* *
* \\a => U+0007, \\b => U+0008, \\t => U+0009, \\n => U+000A, * \\a => U+0007, \\b => U+0008, \\t => U+0009, \\n => U+000A,
* \\v => U+000B, \\f => U+000C, \\r => U+000D, \\e => U+001B, * \\v => U+000B, \\f => U+000C, \\r => U+000D, \\e => U+001B,
* \\" => U+0022, \\' => U+0027, \\? => U+003F, \\\\ => U+005C * \\&quot; => U+0022, \\' => U+0027, \\? => U+003F, \\\\ => U+005C
* *
* Anything else following a backslash is generically escaped. For * Anything else following a backslash is generically escaped. For
* example, "[a\\-z]" returns "[a-z]". * example, "[a\\-z]" returns "[a-z]".
* *
* If an escape sequence is ill-formed, this method returns an empty * If an escape sequence is ill-formed, this method returns an empty
* string. An example of an ill-formed sequence is "\\u" followed by * string. An example of an ill-formed sequence is "\\u" followed by
* fewer than 4 hex digits. * fewer than 4 hex digits.
* *
* The above characters are recognized in the compiler's codepage, * The above characters are recognized in the compiler's codepage,
* that is, they are coded as 'u', '\\', etc. Characters that are * that is, they are coded as 'u', '\\', etc. Characters that are
skipping to change at line 1549 skipping to change at line 1549
* @param pNumSubstitutions Output parameter receiving the number of substi tutions if subchar>=0. * @param pNumSubstitutions Output parameter receiving the number of substi tutions if subchar>=0.
* Set to 0 if no substitutions occur or subchar<0. * Set to 0 if no substitutions occur or subchar<0.
* pNumSubstitutions can be NULL. * pNumSubstitutions can be NULL.
* @param pErrorCode Pointer to a standard ICU error code. Its input val ue must * @param pErrorCode Pointer to a standard ICU error code. Its input val ue must
* pass the U_SUCCESS() test, or else the function ret urns * pass the U_SUCCESS() test, or else the function ret urns
* immediately. Check for U_FAILURE() on output or use with * immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.) * function chaining. (See User Guide for details.)
* @return The pointer to destination buffer. * @return The pointer to destination buffer.
* @see u_strToUTF32 * @see u_strToUTF32
* @see u_strFromUTF32WithSub * @see u_strFromUTF32WithSub
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE UChar32* U_EXPORT2 U_STABLE UChar32* U_EXPORT2
u_strToUTF32WithSub(UChar32 *dest, u_strToUTF32WithSub(UChar32 *dest,
int32_t destCapacity, int32_t destCapacity,
int32_t *pDestLength, int32_t *pDestLength,
const UChar *src, const UChar *src,
int32_t srcLength, int32_t srcLength,
UChar32 subchar, int32_t *pNumSubstitutions, UChar32 subchar, int32_t *pNumSubstitutions,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
skipping to change at line 1594 skipping to change at line 1594
* @param pNumSubstitutions Output parameter receiving the number of substi tutions if subchar>=0. * @param pNumSubstitutions Output parameter receiving the number of substi tutions if subchar>=0.
* Set to 0 if no substitutions occur or subchar<0. * Set to 0 if no substitutions occur or subchar<0.
* pNumSubstitutions can be NULL. * pNumSubstitutions can be NULL.
* @param pErrorCode Pointer to a standard ICU error code. Its input val ue must * @param pErrorCode Pointer to a standard ICU error code. Its input val ue must
* pass the U_SUCCESS() test, or else the function ret urns * pass the U_SUCCESS() test, or else the function ret urns
* immediately. Check for U_FAILURE() on output or use with * immediately. Check for U_FAILURE() on output or use with
* function chaining. (See User Guide for details.) * function chaining. (See User Guide for details.)
* @return The pointer to destination buffer. * @return The pointer to destination buffer.
* @see u_strFromUTF32 * @see u_strFromUTF32
* @see u_strToUTF32WithSub * @see u_strToUTF32WithSub
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE UChar* U_EXPORT2 U_STABLE UChar* U_EXPORT2
u_strFromUTF32WithSub(UChar *dest, u_strFromUTF32WithSub(UChar *dest,
int32_t destCapacity, int32_t destCapacity,
int32_t *pDestLength, int32_t *pDestLength,
const UChar32 *src, const UChar32 *src,
int32_t srcLength, int32_t srcLength,
UChar32 subchar, int32_t *pNumSubstitutions, UChar32 subchar, int32_t *pNumSubstitutions,
UErrorCode *pErrorCode); UErrorCode *pErrorCode);
 End of changes. 4 change blocks. 
4 lines changed or deleted 4 lines changed or added


 usystem.h   usystem.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* Copyright (C) 2004-2009, International Business Machines * Copyright (C) 2004-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
*************************************************************************** **** *************************************************************************** ****
* *
* file name: * file name: usystem.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: genheaders.pl, a perl script written by Ram Viswanadha * Created by: genheaders.pl, a perl script written by Ram Viswanadha
* *
* Contains data for commenting out APIs. * Contains data for commenting out APIs.
* Gets included by umachine.h * Gets included by umachine.h
* *
* THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHA T * THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHA T
skipping to change at line 35 skipping to change at line 35
# if U_DISABLE_RENAMING # if U_DISABLE_RENAMING
# define u_cleanup u_cleanup_SYSTEM_API_DO_NOT_USE # define u_cleanup u_cleanup_SYSTEM_API_DO_NOT_USE
# define u_setAtomicIncDecFunctions u_setAtomicIncDecFunctions_SYSTE M_API_DO_NOT_USE # define u_setAtomicIncDecFunctions u_setAtomicIncDecFunctions_SYSTE M_API_DO_NOT_USE
# define u_setMemoryFunctions u_setMemoryFunctions_SYSTEM_API_DO_NOT _USE # define u_setMemoryFunctions u_setMemoryFunctions_SYSTEM_API_DO_NOT _USE
# define u_setMutexFunctions u_setMutexFunctions_SYSTEM_API_DO_NOT_U SE # define u_setMutexFunctions u_setMutexFunctions_SYSTEM_API_DO_NOT_U SE
# define ucnv_setDefaultName ucnv_setDefaultName_SYSTEM_API_DO_NOT_U SE # define ucnv_setDefaultName ucnv_setDefaultName_SYSTEM_API_DO_NOT_U SE
# define uloc_getDefault uloc_getDefault_SYSTEM_API_DO_NOT_USE # define uloc_getDefault uloc_getDefault_SYSTEM_API_DO_NOT_USE
# define uloc_setDefault uloc_setDefault_SYSTEM_API_DO_NOT_USE # define uloc_setDefault uloc_setDefault_SYSTEM_API_DO_NOT_USE
# else # else
# define u_cleanup_4_2 u_cleanup_SYSTEM_API_DO_NOT_USE # define u_cleanup_4_4 u_cleanup_SYSTEM_API_DO_NOT_USE
# define u_setAtomicIncDecFunctions_4_2 u_setAtomicIncDecFunctions_S # define u_setAtomicIncDecFunctions_4_4 u_setAtomicIncDecFunctions_S
YSTEM_API_DO_NOT_USE YSTEM_API_DO_NOT_USE
# define u_setMemoryFunctions_4_2 u_setMemoryFunctions_SYSTEM_API_DO # define u_setMemoryFunctions_4_4 u_setMemoryFunctions_SYSTEM_API_DO
_NOT_USE _NOT_USE
# define u_setMutexFunctions_4_2 u_setMutexFunctions_SYSTEM_API_DO_N # define u_setMutexFunctions_4_4 u_setMutexFunctions_SYSTEM_API_DO_N
OT_USE OT_USE
# define ucnv_setDefaultName_4_2 ucnv_setDefaultName_SYSTEM_API_DO_N # define ucnv_setDefaultName_4_4 ucnv_setDefaultName_SYSTEM_API_DO_N
OT_USE OT_USE
# define uloc_getDefault_4_2 uloc_getDefault_SYSTEM_API_DO_NOT_USE # define uloc_getDefault_4_4 uloc_getDefault_SYSTEM_API_DO_NOT_USE
# define uloc_setDefault_4_2 uloc_setDefault_SYSTEM_API_DO_NOT_USE # define uloc_setDefault_4_4 uloc_setDefault_SYSTEM_API_DO_NOT_USE
# endif /* U_DISABLE_RENAMING */ # endif /* U_DISABLE_RENAMING */
#endif /* U_HIDE_SYSTEM_API */ #endif /* U_HIDE_SYSTEM_API */
#endif /* USYSTEM_H */ #endif /* USYSTEM_H */
 End of changes. 3 change blocks. 
13 lines changed or deleted 13 lines changed or added


 utext.h   utext.h 
/* /*
*************************************************************************** **** *************************************************************************** ****
* *
* Copyright (C) 2004-2009, International Business Machines * Copyright (C) 2004-2010, International Business Machines
* Corporation and others. All Rights Reserved. * Corporation and others. All Rights Reserved.
* *
*************************************************************************** **** *************************************************************************** ****
* file name: utext.h * file name: utext.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* created on: 2004oct06 * created on: 2004oct06
* created by: Markus W. Scherer * created by: Markus W. Scherer
skipping to change at line 137 skipping to change at line 137
* \endcode * \endcode
* *
* Any existing UText passed to an open function _must_ have been initializ ed, * Any existing UText passed to an open function _must_ have been initializ ed,
* either by the UTEXT_INITIALIZER, or by having been originally heap-alloc ated * either by the UTEXT_INITIALIZER, or by having been originally heap-alloc ated
* by an open function. Passing NULL will cause the open function to * by an open function. Passing NULL will cause the open function to
* heap-allocate and fully initialize a new UText. * heap-allocate and fully initialize a new UText.
* *
*/ */
#include "unicode/utypes.h" #include "unicode/utypes.h"
#include "unicode/uchar.h"
#if U_SHOW_CPLUSPLUS_API #if U_SHOW_CPLUSPLUS_API
#include "unicode/localpointer.h" #include "unicode/localpointer.h"
#include "unicode/rep.h" #include "unicode/rep.h"
#include "unicode/unistr.h" #include "unicode/unistr.h"
#include "unicode/chariter.h" #include "unicode/chariter.h"
#endif #endif
U_CDECL_BEGIN U_CDECL_BEGIN
struct UText; struct UText;
skipping to change at line 657 skipping to change at line 658
* @return Number of UChars in the data to be extracted. Does not include a trailing NUL. * @return Number of UChars in the data to be extracted. Does not include a trailing NUL.
* *
* @stable ICU 3.4 * @stable ICU 3.4
*/ */
U_STABLE int32_t U_EXPORT2 U_STABLE int32_t U_EXPORT2
utext_extract(UText *ut, utext_extract(UText *ut,
int64_t nativeStart, int64_t nativeLimit, int64_t nativeStart, int64_t nativeLimit,
UChar *dest, int32_t destCapacity, UChar *dest, int32_t destCapacity,
UErrorCode *status); UErrorCode *status);
/**
* Compare two UTexts (binary order). The comparison begins at each source
text's
* iteration position. The iteration position of each UText will be left fo
llowing
* the last character compared.
*
* The comparison is done in code point order; unlike u_strCompare, you
* cannot choose to use code unit order. This is because the characters
* in a UText are accessed one code point at a time, and may not be from a
UTF-16
* context.
*
* This functions works with strings of different explicitly specified leng
ths
* unlike the ANSI C-like u_strcmp() and u_memcmp() etc.
* A length argument of -1 signifies that as much of the string should be u
sed as
* is necessary to compare with the other string. If both length arguments
are -1,
* the entire remaining portionss of both strings are used.
*
* @param s1 First source string.
* @param length1 Length of first source string in UTF-32 code points.
*
* @param s2 Second source string.
* @param length2 Length of second source string in UTF-32 code points.
*
* @return <0 or 0 or >0 as usual for string comparisons
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL int32_t U_EXPORT2
utext_compare(UText *s1, int32_t length1,
UText *s2, int32_t length2);
/**
* Compare two UTexts (binary order). The comparison begins at each source
text's
* iteration position. The iteration position of each UText will be left fo
llowing
* the last character compared. This method differs from utext_compare in t
hat
* it accepts native limits rather than lengths for each string.
*
* The comparison is done in code point order; unlike u_strCompare, you
* cannot choose to use code unit order. This is because the characters
* in a UText are accessed one code point at a time, and may not be from a
UTF-16
* context.
*
* This functions works with strings of different explicitly specified leng
ths
* unlike the ANSI C-like u_strcmp() and u_memcmp() etc.
* A limit argument of -1 signifies that as much of the string should be us
ed as
* is necessary to compare with the other string. If both limit arguments a
re -1,
* the entire remaining portionss of both strings are used.
*
* @param s1 First source string.
* @param limit1 Native index of the last character in the first source str
ing to be considered.
*
* @param s2 Second source string.
* @param limit2 Native index of the last character in the second source st
ring to be considered.
*
* @return <0 or 0 or >0 as usual for string comparisons
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL int32_t U_EXPORT2
utext_compareNativeLimit(UText *s1, int64_t limit1,
UText *s2, int64_t limit2);
/**
* Compare two UTexts case-insensitively using full case folding. The compa
rison
* begins at each source text's iteration position. The iteration position
of each
* UText will be left following the last character compared.
*
* The comparison is done in code point order; this is because the characte
rs
* in a UText are accessed one code point at a time, and may not be from a
UTF-16
* context.
*
* This functions works with strings of different explicitly specified leng
ths
* unlike the ANSI C-like u_strcmp() and u_memcmp() etc.
* A length argument of -1 signifies that as much of the string should be u
sed as
* is necessary to compare with the other string. If both length arguments
are -1,
* the entire remaining portionss of both strings are used.
*
* @param s1 First source string.
* @param length1 Length of first source string in UTF-32 code points.
*
* @param s2 Second source string.
* @param length2 Length of second source string in UTF-32 code points.
*
* @param options A bit set of options:
* - U_FOLD_CASE_DEFAULT or 0 is used for default options:
* Comparison in code point order with default case folding.
*
* - U_FOLD_CASE_EXCLUDE_SPECIAL_I
*
* @param pErrorCode Must be a valid pointer to an error code value,
* which must not indicate a failure before the function c
all.
*
* @return <0 or 0 or >0 as usual for string comparisons
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL int32_t U_EXPORT2
utext_caseCompare(UText *s1, int32_t length1,
UText *s2, int32_t length2,
uint32_t options, UErrorCode *pErrorCode);
/**
* Compare two UTexts case-insensitively using full case folding. The compa
rison
* begins at each source text's iteration position. The iteration position
of each
* UText will be left following the last character compared. This method di
ffers from
* utext_caseCompare in that it accepts native limits rather than lengths f
or each
* string.
*
* The comparison is done in code point order; this is because the characte
rs
* in a UText are accessed one code point at a time, and may not be from a
UTF-16
* context.
*
* This functions works with strings of different explicitly specified leng
ths
* unlike the ANSI C-like u_strcmp() and u_memcmp() etc.
* A limit argument of -1 signifies that as much of the string should be us
ed as
* is necessary to compare with the other string. If both length arguments
are -1,
* the entire remaining portionss of both strings are used.
*
* @param s1 First source string.
* @param limit1 Native index of the last character in the first source str
ing to be considered.
*
* @param s2 Second source string.
* @param limit2 Native index of the last character in the second source st
ring to be considered.
*
* @param options A bit set of options:
* - U_FOLD_CASE_DEFAULT or 0 is used for default options:
* Comparison in code point order with default case folding.
*
* - U_FOLD_CASE_EXCLUDE_SPECIAL_I
*
* @param pErrorCode Must be a valid pointer to an error code value,
* which must not indicate a failure before the function c
all.
*
* @return <0 or 0 or >0 as usual for string comparisons
*
* @internal ICU 4.4 technology preview
*/
U_INTERNAL int32_t U_EXPORT2
utext_caseCompareNativeLimit(UText *s1, int64_t limit1,
UText *s2, int64_t limit2,
uint32_t options, UErrorCode *pErrorCode);
/************************************************************************** ********** /************************************************************************** **********
* *
* #define inline versions of selected performance-critical text access fu nctions * #define inline versions of selected performance-critical text access fu nctions
* Caution: do not use auto increment++ or decrement-- expression s * Caution: do not use auto increment++ or decrement-- expression s
* as parameters to these macros. * as parameters to these macros.
* *
* For most use, where there is no extreme performance constraint, the * For most use, where there is no extreme performance constraint, the
* normal, non-inline functions are a better choice. The resultin g code * normal, non-inline functions are a better choice. The resultin g code
* will be smaller, and, if the need ever arises, easier to debug. * will be smaller, and, if the need ever arises, easier to debug.
* *
* These are implemented as #defines rather than real functions * These are implemented as #defines rather than real functions
* because there is no fully portable way to do inline functions i n plain C. * because there is no fully portable way to do inline functions i n plain C.
* *
************************************************************************** **********/ ************************************************************************** **********/
/** /**
* inline version of utext_current32(), for performance-critical situations
.
*
* Get the code point at the current iteration position of the UText.
* Returns U_SENTINEL (-1) if the position is at the end of the
* text.
*
* @internal ICU 4.4 technology preview
*/
#define UTEXT_CURRENT32(ut) \
((ut)->chunkOffset < (ut)->chunkLength && ((ut)->chunkContents)[(ut)->c
hunkOffset]<0xd800 ? \
((ut)->chunkContents)[((ut)->chunkOffset)] : utext_current32(ut))
/**
* inline version of utext_next32(), for performance-critical situations. * inline version of utext_next32(), for performance-critical situations.
* *
* Get the code point at the current iteration position of the UText, and * Get the code point at the current iteration position of the UText, and
* advance the position to the first index following the character. * advance the position to the first index following the character.
* This is a post-increment operation. * This is a post-increment operation.
* Returns U_SENTINEL (-1) if the position is at the end of the * Returns U_SENTINEL (-1) if the position is at the end of the
* text. * text.
* *
* @stable ICU 3.4 * @stable ICU 3.4
*/ */
 End of changes. 4 change blocks. 
1 lines changed or deleted 193 lines changed or added


 utypes.h   utypes.h 
skipping to change at line 50 skipping to change at line 50
/*! /*!
* \file * \file
* \brief Basic definitions for ICU, for both C and C++ APIs * \brief Basic definitions for ICU, for both C and C++ APIs
* *
* This file defines basic types, constants, and enumerations directly or * This file defines basic types, constants, and enumerations directly or
* indirectly by including other header files, especially utf.h for the * indirectly by including other header files, especially utf.h for the
* basic character and string definitions and umachine.h for consistent * basic character and string definitions and umachine.h for consistent
* integer and other types. * integer and other types.
*/ */
/**
* \def U_SHOW_CPLUSPLUS_API
* @internal
*/
#ifdef XP_CPLUSPLUS #ifdef XP_CPLUSPLUS
# ifndef U_SHOW_CPLUSPLUS_API # ifndef U_SHOW_CPLUSPLUS_API
# define U_SHOW_CPLUSPLUS_API 1 # define U_SHOW_CPLUSPLUS_API 1
# endif # endif
#else #else
# undef U_SHOW_CPLUSPLUS_API # undef U_SHOW_CPLUSPLUS_API
# define U_SHOW_CPLUSPLUS_API 0 # define U_SHOW_CPLUSPLUS_API 0
#endif #endif
/** @{ API visibility control */ /** @{ API visibility control */
skipping to change at line 228 skipping to change at line 232
# define U_ICUDATA_TYPE_LETTER "l" # define U_ICUDATA_TYPE_LETTER "l"
# define U_ICUDATA_TYPE_LITLETTER l # define U_ICUDATA_TYPE_LITLETTER l
# endif # endif
#endif #endif
/** /**
* A single string literal containing the icudata stub name. i.e. 'icudt18e ' for * A single string literal containing the icudata stub name. i.e. 'icudt18e ' for
* ICU 1.8.x on EBCDIC, etc.. * ICU 1.8.x on EBCDIC, etc..
* @stable ICU 2.0 * @stable ICU 2.0
*/ */
#define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER #define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
#define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER /**< @internal */
#define U_USE_USRDATA 1 #define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
/**< @internal */
#define U_USE_USRDATA 1 /**< @internal */
/** /**
* U_ICU_ENTRY_POINT is the name of the DLL entry point to the ICU data li brary. * U_ICU_ENTRY_POINT is the name of the DLL entry point to the ICU data li brary.
* Defined as a literal, not a string. * Defined as a literal, not a string.
* Tricky Preprocessor use - ## operator replaces macro paramters with t he literal string * Tricky Preprocessor use - ## operator replaces macro paramters with t he literal string
* from the corresponding macro invocation, _b efore_ other macro substitutions. * from the corresponding macro invocation, _b efore_ other macro substitutions.
* Need a nested \#defines to get the actual v ersion numbers rather than * Need a nested \#defines to get the actual v ersion numbers rather than
* the literal text U_ICU_VERSION_MAJOR_NUM in to the name. * the literal text U_ICU_VERSION_MAJOR_NUM in to the name.
* The net result will be something of the for m * The net result will be something of the for m
* \#define U_ICU_ENTRY_POINT icudt19_dat * \#define U_ICU_ENTRY_POINT icudt19_dat
skipping to change at line 733 skipping to change at line 737
U_MULTIPLE_PERCENT_SYMBOLS, /**< More than one percent symbol in number pattern */ U_MULTIPLE_PERCENT_SYMBOLS, /**< More than one percent symbol in number pattern */
U_MULTIPLE_PERMILL_SYMBOLS, /**< More than one permill symbol in number pattern */ U_MULTIPLE_PERMILL_SYMBOLS, /**< More than one permill symbol in number pattern */
U_MULTIPLE_PAD_SPECIFIERS, /**< More than one pad symbol in numb er pattern */ U_MULTIPLE_PAD_SPECIFIERS, /**< More than one pad symbol in numb er pattern */
U_PATTERN_SYNTAX_ERROR, /**< Syntax error in format pattern * / U_PATTERN_SYNTAX_ERROR, /**< Syntax error in format pattern * /
U_ILLEGAL_PAD_POSITION, /**< Pad symbol misplaced in number p attern */ U_ILLEGAL_PAD_POSITION, /**< Pad symbol misplaced in number p attern */
U_UNMATCHED_BRACES, /**< Braces do not match in message p attern */ U_UNMATCHED_BRACES, /**< Braces do not match in message p attern */
U_UNSUPPORTED_PROPERTY, /**< UNUSED as of ICU 2.4 */ U_UNSUPPORTED_PROPERTY, /**< UNUSED as of ICU 2.4 */
U_UNSUPPORTED_ATTRIBUTE, /**< UNUSED as of ICU 2.4 */ U_UNSUPPORTED_ATTRIBUTE, /**< UNUSED as of ICU 2.4 */
U_ARGUMENT_TYPE_MISMATCH, /**< Argument name and argument index mismatch in MessageFormat functions */ U_ARGUMENT_TYPE_MISMATCH, /**< Argument name and argument index mismatch in MessageFormat functions */
U_DUPLICATE_KEYWORD, /**< Duplicate keyword in PluralForma t */ U_DUPLICATE_KEYWORD, /**< Duplicate keyword in PluralForma t */
U_UNDEFINED_KEYWORD, /**< Undefined Pluarl keyword */ U_UNDEFINED_KEYWORD, /**< Undefined Plural keyword */
U_DEFAULT_KEYWORD_MISSING, /**< Missing DEFAULT rule in plural r ules */ U_DEFAULT_KEYWORD_MISSING, /**< Missing DEFAULT rule in plural r ules */
U_DECIMAL_NUMBER_SYNTAX_ERROR, /**< Decimal number syntax error */
U_FMT_PARSE_ERROR_LIMIT, /**< The limit for format library err ors */ U_FMT_PARSE_ERROR_LIMIT, /**< The limit for format library err ors */
/* /*
* the error code range 0x10200 0x102ff are reserved for Break Iterator related error * the error code range 0x10200 0x102ff are reserved for Break Iterator related error
*/ */
U_BRK_INTERNAL_ERROR=0x10200, /**< An internal error (bug) was detected. */ U_BRK_INTERNAL_ERROR=0x10200, /**< An internal error (bug) was detected. */
U_BRK_ERROR_START=0x10200, /**< Start of codes indicating B reak Iterator failures */ U_BRK_ERROR_START=0x10200, /**< Start of codes indicating B reak Iterator failures */
U_BRK_HEX_DIGITS_EXPECTED, /**< Hex digits expected as part of a escaped char in a rule. */ U_BRK_HEX_DIGITS_EXPECTED, /**< Hex digits expected as part of a escaped char in a rule. */
U_BRK_SEMICOLON_EXPECTED, /**< Missing ';' at the end of a RBBI rule. */ U_BRK_SEMICOLON_EXPECTED, /**< Missing ';' at the end of a RBBI rule. */
U_BRK_RULE_SYNTAX, /**< Syntax error in RBBI rule. */ U_BRK_RULE_SYNTAX, /**< Syntax error in RBBI rule. */
 End of changes. 4 change blocks. 
4 lines changed or deleted 11 lines changed or added


 uvernum.h   uvernum.h 
skipping to change at line 15 skipping to change at line 15
*************************************************************************** **** *************************************************************************** ****
* *
* file name: uvernum.h * file name: uvernum.h
* encoding: US-ASCII * encoding: US-ASCII
* tab size: 8 (not used) * tab size: 8 (not used)
* indentation:4 * indentation:4
* *
* Created by: Vladimir Weinstein * Created by: Vladimir Weinstein
* Updated by: Steven R. Loomis * Updated by: Steven R. Loomis
* *
* Gets included by utypes.h and Windows .rc files * Gets included by uversion.h and other files.
*
* IMPORTANT: When updating version, the following things need to be done:
* source/common/unicode/uvernum.h - this file: update major, minor,
* patchlevel, suffix, version, short version constants, namespace,
* renaming macro, and copyright
*
* The following files need to be updated as well, which can be done
* by running the UNIX makefile target 'update-windows-makefiles' in icu/so
urce.
*
*
* source/common/common.vcproj - update 'Output file name' on the link tab s
o
* that it contains the new major/minor combination
* source/i18n/i18n.vcproj - same as for the common.vcproj
* source/layout/layout.vcproj - same as for the common.vcproj
* source/layoutex/layoutex.vcproj - same
* source/stubdata/stubdata.vcproj - same as for the common.vcproj
* source/io/io.vcproj - same as for the common.vcproj
* source/data/makedata.mak - change U_ICUDATA_NAME so that it contains
* the new major/minor combination and the Unicod
e version.
*/ */
#ifndef UVERNUM_H #ifndef UVERNUM_H
#define UVERNUM_H #define UVERNUM_H
/** The standard copyright notice that gets compiled into each library. /** The standard copyright notice that gets compiled into each library.
* 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_COPYRIGHT_STRING \ #define U_COPYRIGHT_STRING \
" Copyright (C) 2009, International Business Machines Corporation and oth ers. All Rights Reserved. " " Copyright (C) 2010, International Business Machines Corporation and oth ers. All Rights Reserved. "
/** 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 3 #define U_ICU_VERSION_MINOR_NUM 4
/** 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 4 #define U_ICU_VERSION_PATCHLEVEL_NUM 0
/** 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 _43 #define U_ICU_VERSION_SUFFIX _44
/** Glued version suffix function for renamers /** Glued version suffix function for renamers
* This value will change in the subsequent releases of ICU. * This value will change in the subsequent releases of ICU.
* If a custom suffix (such as matching library suffixes) is desired, this can be modified. * If a custom suffix (such as matching library suffixes) is desired, this can be modified.
* Note that if present, platform.h may contain an earlier definition of t his macro. * Note that if present, platform.h may contain an earlier definition of t his macro.
* @draft ICU 4.2 * @draft ICU 4.2
*/ */
#ifndef U_ICU_ENTRY_POINT_RENAME #ifndef U_ICU_ENTRY_POINT_RENAME
#define U_ICU_ENTRY_POINT_RENAME(x) x ## _43 #define U_ICU_ENTRY_POINT_RENAME(x) x ## _44
#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.3.4" #define U_ICU_VERSION "4.4"
/** 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 "43" #define U_ICU_VERSION_SHORT "44"
/** 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.3.4" #define U_ICU_DATA_VERSION "4.4"
/*========================================================================= == /*========================================================================= ==
* 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
 End of changes. 9 change blocks. 
9 lines changed or deleted 31 lines changed or added


 uversion.h   uversion.h 
skipping to change at line 28 skipping to change at line 28
* \file * \file
* \brief C API: API for accessing ICU version numbers. * \brief C API: API for accessing ICU version numbers.
*/ */
/*========================================================================= ==*/ /*========================================================================= ==*/
/* Main ICU version information */ /* Main ICU version information */
/*========================================================================= ==*/ /*========================================================================= ==*/
#ifndef UVERSION_H #ifndef UVERSION_H
#define UVERSION_H #define UVERSION_H
/**
* IMPORTANT: When updating version, the following things need to be done:
* source/common/unicode/uversion.h - this file: update major, minor,
* patchlevel, suffix, version, short version constants, namespace,
* and copyrigh
t
* source/common/common.vcproj - update 'Output file name' on the link tab
so
* that it contains the new major/minor combination
* source/i18n/i18n.vcproj - same as for the common.vcproj
* source/layout/layout.vcproj - same as for the common.vcproj
* source/layoutex/layoutex.vcproj - same
* source/stubdata/stubdata.vcproj - same as for the common.vcproj
* source/io/io.vcproj - same as for the common.vcproj
* source/data/makedata.mak - change U_ICUDATA_NAME so that it contains
* the new major/minor combination
* source/tools/genren/genren.pl - use this script according to the README
* in that folder
*/
#include "unicode/umachine.h" #include "unicode/umachine.h"
/* Actual version info lives in uvernum.h */ /* Actual version info lives in uvernum.h */
#include "unicode/uvernum.h" #include "unicode/uvernum.h"
/** Maximum length of the copyright string. /** Maximum length of the copyright string.
* @stable ICU 2.4 * @stable ICU 2.4
*/ */
#define U_COPYRIGHT_STRING_LENGTH 128 #define U_COPYRIGHT_STRING_LENGTH 128
skipping to change at line 182 skipping to change at line 164
/** /**
* Parse a Unicode string with dotted-decimal version information and * Parse a Unicode string with dotted-decimal version information and
* fill in a UVersionInfo structure with the result. * fill in a UVersionInfo structure with the result.
* Definition of this function lives in putil.c * Definition of this function lives in putil.c
* *
* @param versionArray The destination structure for the version informatio n. * @param versionArray The destination structure for the version informatio n.
* @param versionString A Unicode string with dotted-decimal version * @param versionString A Unicode string with dotted-decimal version
* information, with up to four non-negative number * information, with up to four non-negative number
* fields with values of up to 255 each. * fields with values of up to 255 each.
* @stable ICU 4.4 * @stable ICU 4.2
*/ */
U_STABLE void U_EXPORT2 U_STABLE void U_EXPORT2
u_versionFromUString(UVersionInfo versionArray, const UChar *versionString) ; u_versionFromUString(UVersionInfo versionArray, const UChar *versionString) ;
/** /**
* Write a string with dotted-decimal version information according * Write a string with dotted-decimal version information according
* to the input UVersionInfo. * to the input UVersionInfo.
* Definition of this function lives in putil.c * Definition of this function lives in putil.c
* *
* @param versionArray The version information to be written as a string. * @param versionArray The version information to be written as a string.
 End of changes. 2 change blocks. 
21 lines changed or deleted 1 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/