You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by be...@apache.org on 2014/02/13 19:12:00 UTC

[02/57] [abbrv] remove couch_collate

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/utrace.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/utrace.h b/apps/couch_collate/platform/osx/icu/unicode/utrace.h
deleted file mode 100644
index 3c8be9f..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/utrace.h
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
-*******************************************************************************
-*
-*   Copyright (C) 2003-2006, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-*
-*******************************************************************************
-*   file name:  utrace.h
-*   encoding:   US-ASCII
-*   tab size:   8 (not used)
-*   indentation:4
-*
-*   created on: 2003aug06
-*   created by: Markus W. Scherer
-*
-*   Definitions for ICU tracing/logging.
-*
-*/
-
-#ifndef __UTRACE_H__
-#define __UTRACE_H__
-
-#include <stdarg.h>
-#include "unicode/utypes.h"
-
-/**
- * \file
- * \brief C API:  Definitions for ICU tracing/logging. 
- *
- * This provides API for debugging the internals of ICU without the use of
- * a traditional debugger.
- *
- * By default, tracing is disabled in ICU. If you need to debug ICU with 
- * tracing, please compile ICU with the --enable-tracing configure option.
- */
- 
-U_CDECL_BEGIN
-
-/**
- * Trace severity levels.  Higher levels increase the verbosity of the trace output.
- * @see utrace_setLevel
- * @stable ICU 2.8
- */
-typedef enum UTraceLevel {
-    /** Disable all tracing  @stable ICU 2.8*/
-    UTRACE_OFF=-1,
-    /** Trace error conditions only  @stable ICU 2.8*/
-    UTRACE_ERROR=0,
-    /** Trace errors and warnings  @stable ICU 2.8*/
-    UTRACE_WARNING=3,
-    /** Trace opens and closes of ICU services  @stable ICU 2.8*/
-    UTRACE_OPEN_CLOSE=5,
-    /** Trace an intermediate number of ICU operations  @stable ICU 2.8*/
-    UTRACE_INFO=7,
-    /** Trace the maximum number of ICU operations  @stable ICU 2.8*/
-    UTRACE_VERBOSE=9
-} UTraceLevel;
-
-/**
- *  These are the ICU functions that will be traced when tracing is enabled.
- *  @stable ICU 2.8
- */
-typedef enum UTraceFunctionNumber {
-    UTRACE_FUNCTION_START=0,
-    UTRACE_U_INIT=UTRACE_FUNCTION_START,
-    UTRACE_U_CLEANUP,
-    UTRACE_FUNCTION_LIMIT,
-
-    UTRACE_CONVERSION_START=0x1000,
-    UTRACE_UCNV_OPEN=UTRACE_CONVERSION_START,
-    UTRACE_UCNV_OPEN_PACKAGE,
-    UTRACE_UCNV_OPEN_ALGORITHMIC,
-    UTRACE_UCNV_CLONE,
-    UTRACE_UCNV_CLOSE,
-    UTRACE_UCNV_FLUSH_CACHE,
-    UTRACE_UCNV_LOAD,
-    UTRACE_UCNV_UNLOAD,
-    UTRACE_CONVERSION_LIMIT,
-
-    UTRACE_COLLATION_START=0x2000,
-    UTRACE_UCOL_OPEN=UTRACE_COLLATION_START,
-    UTRACE_UCOL_CLOSE,
-    UTRACE_UCOL_STRCOLL,
-    UTRACE_UCOL_GET_SORTKEY,
-    UTRACE_UCOL_GETLOCALE,
-    UTRACE_UCOL_NEXTSORTKEYPART,
-    UTRACE_UCOL_STRCOLLITER,
-    UTRACE_UCOL_OPEN_FROM_SHORT_STRING,
-    UTRACE_COLLATION_LIMIT
-} UTraceFunctionNumber;
-
-/**
- * Setter for the trace level.
- * @param traceLevel A UTraceLevel value.
- * @stable ICU 2.8
- */
-U_STABLE void U_EXPORT2
-utrace_setLevel(int32_t traceLevel);
-
-/**
- * Getter for the trace level.
- * @return The UTraceLevel value being used by ICU.
- * @stable ICU 2.8
- */
-U_STABLE int32_t U_EXPORT2
-utrace_getLevel(void);
-
-/* Trace function pointers types  ----------------------------- */
-
-/**
-  *  Type signature for the trace function to be called when entering a function.
-  *  @param context value supplied at the time the trace functions are set.
-  *  @param fnNumber Enum value indicating the ICU function being entered.
-  *  @stable ICU 2.8
-  */
-typedef void U_CALLCONV
-UTraceEntry(const void *context, int32_t fnNumber);
-
-/**
-  *  Type signature for the trace function to be called when exiting from a function.
-  *  @param context value supplied at the time the trace functions are set.
-  *  @param fnNumber Enum value indicating the ICU function being exited.
-  *  @param fmt     A formatting string that describes the number and types
-  *                 of arguments included with the variable args.  The fmt
-  *                 string has the same form as the utrace_vformat format
-  *                 string.
-  *  @param args    A variable arguments list.  Contents are described by
-  *                 the fmt parameter.
-  *  @see   utrace_vformat
-  *  @stable ICU 2.8
-  */
-typedef void U_CALLCONV
-UTraceExit(const void *context, int32_t fnNumber, 
-           const char *fmt, va_list args);
-
-/**
-  *  Type signature for the trace function to be called from within an ICU function
-  *  to display data or messages.
-  *  @param context  value supplied at the time the trace functions are set.
-  *  @param fnNumber Enum value indicating the ICU function being exited.
-  *  @param level    The current tracing level
-  *  @param fmt      A format string describing the tracing data that is supplied
-  *                  as variable args
-  *  @param args     The data being traced, passed as variable args.
-  *  @stable ICU 2.8
-  */
-typedef void U_CALLCONV
-UTraceData(const void *context, int32_t fnNumber, int32_t level,
-           const char *fmt, va_list args);
-
-/**
-  *  Set ICU Tracing functions.  Installs application-provided tracing
-  *  functions into ICU.  After doing this, subsequent ICU operations
-  *  will call back to the installed functions, providing a trace
-  *  of the use of ICU.  Passing a NULL pointer for a tracing function
-  *  is allowed, and inhibits tracing action at points where that function
-  *  would be called.
-  *  <p>
-  *  Tracing and Threads:  Tracing functions are global to a process, and
-  *  will be called in response to ICU operations performed by any
-  *  thread.  If tracing of an individual thread is desired, the
-  *  tracing functions must themselves filter by checking that the
-  *  current thread is the desired thread.
-  *
-  *  @param context an uninterpretted pointer.  Whatever is passed in
-  *                 here will in turn be passed to each of the tracing
-  *                 functions UTraceEntry, UTraceExit and UTraceData.
-  *                 ICU does not use or alter this pointer.
-  *  @param e       Callback function to be called on entry to a 
-  *                 a traced ICU function.
-  *  @param x       Callback function to be called on exit from a
-  *                 traced ICU function.
-  *  @param d       Callback function to be called from within a 
-  *                 traced ICU function, for the purpose of providing
-  *                 data to the trace.
-  *
-  *  @stable ICU 2.8
-  */
-U_STABLE void U_EXPORT2
-utrace_setFunctions(const void *context,
-                    UTraceEntry *e, UTraceExit *x, UTraceData *d);
-
-/**
-  * Get the currently installed ICU tracing functions.   Note that a null function
-  *   pointer will be returned if no trace function has been set.
-  *
-  * @param context  The currently installed tracing context.
-  * @param e        The currently installed UTraceEntry function.
-  * @param x        The currently installed UTraceExit function.
-  * @param d        The currently installed UTraceData function.
-  * @stable ICU 2.8
-  */
-U_STABLE void U_EXPORT2
-utrace_getFunctions(const void **context,
-                    UTraceEntry **e, UTraceExit **x, UTraceData **d);
-
-
-
-/*
- *
- * ICU trace format string syntax
- *
- * Format Strings are passed to UTraceData functions, and define the
- * number and types of the trace data being passed on each call.
- *
- * The UTraceData function, which is supplied by the application,
- * not by ICU, can either forward the trace data (passed via
- * varargs) and the format string back to ICU for formatting into
- * a displayable string, or it can interpret the format itself,
- * and do as it wishes with the trace data.
- *
- *
- * Goals for the format string
- * - basic data output
- * - easy to use for trace programmer
- * - sufficient provision for data types for trace output readability
- * - well-defined types and binary portable APIs
- *
- * Non-goals
- * - printf compatibility
- * - fancy formatting
- * - argument reordering and other internationalization features
- *
- * ICU trace format strings contain plain text with argument inserts,
- * much like standard printf format strings.
- * Each insert begins with a '%', then optionally contains a 'v',
- * then exactly one type character.
- * Two '%' in a row represent a '%' instead of an insert.
- * The trace format strings need not have \n at the end.
- *
- *
- * Types
- * -----
- *
- * Type characters:
- * - c A char character in the default codepage.
- * - s A NUL-terminated char * string in the default codepage.
- * - S A UChar * string.  Requires two params, (ptr, length).  Length=-1 for nul term.
- * - b A byte (8-bit integer).
- * - h A 16-bit integer.  Also a 16 bit Unicode code unit.
- * - d A 32-bit integer.  Also a 20 bit Unicode code point value. 
- * - l A 64-bit integer.
- * - p A data pointer.
- *
- * Vectors
- * -------
- *
- * If the 'v' is not specified, then one item of the specified type
- * is passed in.
- * If the 'v' (for "vector") is specified, then a vector of items of the
- * specified type is passed in, via a pointer to the first item
- * and an int32_t value for the length of the vector.
- * Length==-1 means zero or NUL termination.  Works for vectors of all types.
- *
- * Note:  %vS is a vector of (UChar *) strings.  The strings must
- *        be nul terminated as there is no way to provide a
- *        separate length parameter for each string.  The length
- *        parameter (required for all vectors) is the number of
- *        strings, not the length of the strings.
- *
- * Examples
- * --------
- *
- * These examples show the parameters that will be passed to an application's
- *   UTraceData() function for various formats.
- *
- * - the precise formatting is up to the application!
- * - the examples use type casts for arguments only to _show_ the types of
- *   arguments without needing variable declarations in the examples;
- *   the type casts will not be necessary in actual code
- *
- * UTraceDataFunc(context, fnNumber, level,
- *              "There is a character %c in the string %s.",   // Format String 
- *              (char)c, (const char *)s);                     // varargs parameters
- * ->   There is a character 0x42 'B' in the string "Bravo".
- *
- * UTraceDataFunc(context, fnNumber, level,
- *              "Vector of bytes %vb vector of chars %vc",
- *              (const uint8_t *)bytes, (int32_t)bytesLength,
- *              (const char *)chars, (int32_t)charsLength);
- * ->  Vector of bytes
- *      42 63 64 3f [4]
- *     vector of chars
- *      "Bcd?"[4]
- *
- * UTraceDataFunc(context, fnNumber, level,
- *              "An int32_t %d and a whole bunch of them %vd",
- *              (int32_t)-5, (const int32_t *)ints, (int32_t)intsLength);
- * ->   An int32_t 0xfffffffb and a whole bunch of them
- *      fffffffb 00000005 0000010a [3]
- *
- */
-
-
-
-/**
-  *  Trace output Formatter.  An application's UTraceData tracing functions may call
-  *                 back to this function to format the trace output in a
-  *                 human readable form.  Note that a UTraceData function may choose
-  *                 to not format the data;  it could, for example, save it in
-  *                 in the raw form it was received (more compact), leaving
-  *                 formatting for a later trace analyis tool.
-  *  @param outBuf  pointer to a buffer to receive the formatted output.  Output
-  *                 will be nul terminated if there is space in the buffer -
-  *                 if the length of the requested output < the output buffer size.
-  *  @param capacity  Length of the output buffer.
-  *  @param indent  Number of spaces to indent the output.  Intended to allow
-  *                 data displayed from nested functions to be indented for readability.
-  *  @param fmt     Format specification for the data to output
-  *  @param args    Data to be formatted.
-  *  @return        Length of formatted output, including the terminating NUL.
-  *                 If buffer capacity is insufficient, the required capacity is returned. 
-  *  @stable ICU 2.8
-  */
-U_STABLE int32_t U_EXPORT2
-utrace_vformat(char *outBuf, int32_t capacity,
-              int32_t indent, const char *fmt,  va_list args);
-
-/**
-  *  Trace output Formatter.  An application's UTraceData tracing functions may call
-  *                 this function to format any additional trace data, beyond that
-  *                 provided by default, in human readable form with the same
-  *                 formatting conventions used by utrace_vformat().
-  *  @param outBuf  pointer to a buffer to receive the formatted output.  Output
-  *                 will be nul terminated if there is space in the buffer -
-  *                 if the length of the requested output < the output buffer size.
-  *  @param capacity  Length of the output buffer.
-  *  @param indent  Number of spaces to indent the output.  Intended to allow
-  *                 data displayed from nested functions to be indented for readability.
-  *  @param fmt     Format specification for the data to output
-  *  @param ...     Data to be formatted.
-  *  @return        Length of formatted output, including the terminating NUL.
-  *                 If buffer capacity is insufficient, the required capacity is returned. 
-  *  @stable ICU 2.8
-  */
-U_STABLE int32_t U_EXPORT2
-utrace_format(char *outBuf, int32_t capacity,
-              int32_t indent, const char *fmt,  ...);
-
-
-
-/* Trace function numbers --------------------------------------------------- */
-
-/**
- * Get the name of a function from its trace function number.
- *
- * @param fnNumber The trace number for an ICU function.
- * @return The name string for the function.
- *
- * @see UTraceFunctionNumber
- * @stable ICU 2.8
- */
-U_STABLE const char * U_EXPORT2
-utrace_functionName(int32_t fnNumber);
-
-U_CDECL_END
-
-#endif

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/utrans.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/utrans.h b/apps/couch_collate/platform/osx/icu/unicode/utrans.h
deleted file mode 100644
index a460a34..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/utrans.h
+++ /dev/null
@@ -1,583 +0,0 @@
-/*
-*******************************************************************************
-*   Copyright (C) 1997-2005, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-*******************************************************************************
-*   Date        Name        Description
-*   06/21/00    aliu        Creation.
-*******************************************************************************
-*/
-
-#ifndef UTRANS_H
-#define UTRANS_H
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_TRANSLITERATION
-
-#include "unicode/urep.h"
-#include "unicode/parseerr.h"
-#include "unicode/uenum.h"
-
-/********************************************************************
- * General Notes
- ********************************************************************
- */
-/**
- * \file
- * \brief C API: Transliterator
- *
- * <h2> Transliteration </h2>
- * The data structures and functions described in this header provide
- * transliteration services.  Transliteration services are implemented
- * as C++ classes.  The comments and documentation in this header
- * assume the reader is familiar with the C++ headers translit.h and
- * associated documentation.
- *
- * A significant but incomplete subset of the C++ transliteration
- * services are available to C code through this header.  In order to
- * access more complex transliteration services, refer to the C++
- * headers and documentation.
- *
- * There are two sets of functions for working with transliterator IDs:
- *
- * An old, deprecated set uses char * IDs, which works for true and pure
- * identifiers that these APIs were designed for,
- * for example "Cyrillic-Latin".
- * It does not work when the ID contains filters ("[:Script=Cyrl:]")
- * or even a complete set of rules because then the ID string contains more
- * than just "invariant" characters (see utypes.h).
- *
- * A new set of functions replaces the old ones and uses UChar * IDs,
- * paralleling the UnicodeString IDs in the C++ API. (New in ICU 2.8.)
- */
-
-/********************************************************************
- * Data Structures
- ********************************************************************/
-
-/**
- * An opaque transliterator for use in C.  Open with utrans_openxxx()
- * and close with utrans_close() when done.  Equivalent to the C++ class
- * Transliterator and its subclasses.
- * @see Transliterator
- * @stable ICU 2.0
- */
-typedef void* UTransliterator;
-
-/**
- * Direction constant indicating the direction in a transliterator,
- * e.g., the forward or reverse rules of a RuleBasedTransliterator.
- * Specified when a transliterator is opened.  An "A-B" transliterator
- * transliterates A to B when operating in the forward direction, and
- * B to A when operating in the reverse direction.
- * @stable ICU 2.0
- */
-typedef enum UTransDirection {
-    
-    /**
-     * UTRANS_FORWARD means from &lt;source&gt; to &lt;target&gt; for a
-     * transliterator with ID &lt;source&gt;-&lt;target&gt;.  For a transliterator
-     * opened using a rule, it means forward direction rules, e.g.,
-     * "A > B".
-     */
-    UTRANS_FORWARD,
-
-    /**
-     * UTRANS_REVERSE means from &lt;target&gt; to &lt;source&gt; for a
-     * transliterator with ID &lt;source&gt;-&lt;target&gt;.  For a transliterator
-     * opened using a rule, it means reverse direction rules, e.g.,
-     * "A < B".
-     */
-    UTRANS_REVERSE
-
-} UTransDirection;
-
-/**
- * Position structure for utrans_transIncremental() incremental
- * transliteration.  This structure defines two substrings of the text
- * being transliterated.  The first region, [contextStart,
- * contextLimit), defines what characters the transliterator will read
- * as context.  The second region, [start, limit), defines what
- * characters will actually be transliterated.  The second region
- * should be a subset of the first.
- *
- * <p>After a transliteration operation, some of the indices in this
- * structure will be modified.  See the field descriptions for
- * details.
- *
- * <p>contextStart <= start <= limit <= contextLimit
- *
- * <p>Note: All index values in this structure must be at code point
- * boundaries.  That is, none of them may occur between two code units
- * of a surrogate pair.  If any index does split a surrogate pair,
- * results are unspecified.
- *
- * @stable ICU 2.0
- */
-typedef struct UTransPosition {
-
-    /**
-     * Beginning index, inclusive, of the context to be considered for
-     * a transliteration operation.  The transliterator will ignore
-     * anything before this index.  INPUT/OUTPUT parameter: This parameter
-     * is updated by a transliteration operation to reflect the maximum
-     * amount of antecontext needed by a transliterator.
-     * @stable ICU 2.4
-     */
-    int32_t contextStart;
-    
-    /**
-     * Ending index, exclusive, of the context to be considered for a
-     * transliteration operation.  The transliterator will ignore
-     * anything at or after this index.  INPUT/OUTPUT parameter: This
-     * parameter is updated to reflect changes in the length of the
-     * text, but points to the same logical position in the text.
-     * @stable ICU 2.4
-     */
-    int32_t contextLimit;
-    
-    /**
-     * Beginning index, inclusive, of the text to be transliteratd.
-     * INPUT/OUTPUT parameter: This parameter is advanced past
-     * characters that have already been transliterated by a
-     * transliteration operation.
-     * @stable ICU 2.4
-     */
-    int32_t start;
-    
-    /**
-     * Ending index, exclusive, of the text to be transliteratd.
-     * INPUT/OUTPUT parameter: This parameter is updated to reflect
-     * changes in the length of the text, but points to the same
-     * logical position in the text.
-     * @stable ICU 2.4
-     */
-    int32_t limit;
-
-} UTransPosition;
-
-/********************************************************************
- * General API
- ********************************************************************/
-
-/**
- * Open a custom transliterator, given a custom rules string 
- * OR 
- * a system transliterator, given its ID.  
- * Any non-NULL result from this function should later be closed with
- * utrans_close().
- *
- * @param id a valid transliterator ID
- * @param idLength the length of the ID string, or -1 if NUL-terminated
- * @param dir the desired direction
- * @param rules the transliterator rules.  See the C++ header rbt.h for
- *              rules syntax. If NULL then a system transliterator matching
- *              the ID is returned.
- * @param rulesLength the length of the rules, or -1 if the rules
- *                    are NUL-terminated.
- * @param parseError a pointer to a UParseError struct to receive the details
- *                   of any parsing errors. This parameter may be NULL if no
- *                   parsing error details are desired.
- * @param pErrorCode a pointer to the UErrorCode
- * @return a transliterator pointer that may be passed to other
- *         utrans_xxx() functions, or NULL if the open call fails.
- * @stable ICU 2.8
- */
-U_STABLE UTransliterator* U_EXPORT2
-utrans_openU(const UChar *id,
-             int32_t idLength,
-             UTransDirection dir,
-             const UChar *rules,
-             int32_t rulesLength,
-             UParseError *parseError,
-             UErrorCode *pErrorCode);
-
-/**
- * Open an inverse of an existing transliterator.  For this to work,
- * the inverse must be registered with the system.  For example, if
- * the Transliterator "A-B" is opened, and then its inverse is opened,
- * the result is the Transliterator "B-A", if such a transliterator is
- * registered with the system.  Otherwise the result is NULL and a
- * failing UErrorCode is set.  Any non-NULL result from this function
- * should later be closed with utrans_close().
- *
- * @param trans the transliterator to open the inverse of.
- * @param status a pointer to the UErrorCode
- * @return a pointer to a newly-opened transliterator that is the
- * inverse of trans, or NULL if the open call fails.
- * @stable ICU 2.0
- */
-U_STABLE UTransliterator* U_EXPORT2 
-utrans_openInverse(const UTransliterator* trans,
-                   UErrorCode* status);
-
-/**
- * Create a copy of a transliterator.  Any non-NULL result from this
- * function should later be closed with utrans_close().
- *
- * @param trans the transliterator to be copied.
- * @param status a pointer to the UErrorCode
- * @return a transliterator pointer that may be passed to other
- * utrans_xxx() functions, or NULL if the clone call fails.
- * @stable ICU 2.0
- */
-U_STABLE UTransliterator* U_EXPORT2 
-utrans_clone(const UTransliterator* trans,
-             UErrorCode* status);
-
-/**
- * Close a transliterator.  Any non-NULL pointer returned by
- * utrans_openXxx() or utrans_clone() should eventually be closed.
- * @param trans the transliterator to be closed.
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2 
-utrans_close(UTransliterator* trans);
-
-/**
- * Return the programmatic identifier for this transliterator.
- * If this identifier is passed to utrans_openU(), it will open
- * a transliterator equivalent to this one, if the ID has been
- * registered.
- *
- * @param trans the transliterator to return the ID of.
- * @param resultLength pointer to an output variable receiving the length
- *        of the ID string; can be NULL
- * @return the NUL-terminated ID string. This pointer remains
- * valid until utrans_close() is called on this transliterator.
- *
- * @stable ICU 2.8
- */
-U_STABLE const UChar * U_EXPORT2
-utrans_getUnicodeID(const UTransliterator *trans,
-                    int32_t *resultLength);
-
-/**
- * Register an open transliterator with the system.  When
- * utrans_open() is called with an ID string that is equal to that
- * returned by utrans_getID(adoptedTrans,...), then
- * utrans_clone(adoptedTrans,...) is returned.
- *
- * <p>NOTE: After this call the system owns the adoptedTrans and will
- * close it.  The user must not call utrans_close() on adoptedTrans.
- *
- * @param adoptedTrans a transliterator, typically the result of
- * utrans_openRules(), to be registered with the system.
- * @param status a pointer to the UErrorCode
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2 
-utrans_register(UTransliterator* adoptedTrans,
-                UErrorCode* status);
-
-/**
- * Unregister a transliterator from the system.  After this call the
- * system will no longer recognize the given ID when passed to
- * utrans_open(). If the ID is invalid then nothing is done.
- *
- * @param id an ID to unregister
- * @param idLength the length of id, or -1 if id is zero-terminated
- * @stable ICU 2.8
- */
-U_STABLE void U_EXPORT2
-utrans_unregisterID(const UChar* id, int32_t idLength);
-
-/**
- * Set the filter used by a transliterator.  A filter can be used to
- * make the transliterator pass certain characters through untouched.
- * The filter is expressed using a UnicodeSet pattern.  If the
- * filterPattern is NULL or the empty string, then the transliterator
- * will be reset to use no filter.
- *
- * @param trans the transliterator
- * @param filterPattern a pattern string, in the form accepted by
- * UnicodeSet, specifying which characters to apply the
- * transliteration to.  May be NULL or the empty string to indicate no
- * filter.
- * @param filterPatternLen the length of filterPattern, or -1 if
- * filterPattern is zero-terminated
- * @param status a pointer to the UErrorCode
- * @see UnicodeSet
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2 
-utrans_setFilter(UTransliterator* trans,
-                 const UChar* filterPattern,
-                 int32_t filterPatternLen,
-                 UErrorCode* status);
-
-/**
- * Return the number of system transliterators.
- * It is recommended to use utrans_openIDs() instead.
- *
- * @return the number of system transliterators.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2 
-utrans_countAvailableIDs(void);
-
-/**
- * Return a UEnumeration for the available transliterators.
- *
- * @param pErrorCode Pointer to the UErrorCode in/out parameter.
- * @return UEnumeration for the available transliterators.
- *         Close with uenum_close().
- *
- * @stable ICU 2.8
- */
-U_STABLE UEnumeration * U_EXPORT2
-utrans_openIDs(UErrorCode *pErrorCode);
-
-/********************************************************************
- * Transliteration API
- ********************************************************************/
-
-/**
- * Transliterate a segment of a UReplaceable string.  The string is
- * passed in as a UReplaceable pointer rep and a UReplaceableCallbacks
- * function pointer struct repFunc.  Functions in the repFunc struct
- * will be called in order to modify the rep string.
- *
- * @param trans the transliterator
- * @param rep a pointer to the string.  This will be passed to the
- * repFunc functions.
- * @param repFunc a set of function pointers that will be used to
- * modify the string pointed to by rep.
- * @param start the beginning index, inclusive; <code>0 <= start <=
- * limit</code>.
- * @param limit pointer to the ending index, exclusive; <code>start <=
- * limit <= repFunc->length(rep)</code>.  Upon return, *limit will
- * contain the new limit index.  The text previously occupying
- * <code>[start, limit)</code> has been transliterated, possibly to a
- * string of a different length, at <code>[start,
- * </code><em>new-limit</em><code>)</code>, where <em>new-limit</em>
- * is the return value.
- * @param status a pointer to the UErrorCode
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2 
-utrans_trans(const UTransliterator* trans,
-             UReplaceable* rep,
-             UReplaceableCallbacks* repFunc,
-             int32_t start,
-             int32_t* limit,
-             UErrorCode* status);
-
-/**
- * Transliterate the portion of the UReplaceable text buffer that can
- * be transliterated unambiguosly.  This method is typically called
- * after new text has been inserted, e.g. as a result of a keyboard
- * event.  The transliterator will try to transliterate characters of
- * <code>rep</code> between <code>index.cursor</code> and
- * <code>index.limit</code>.  Characters before
- * <code>index.cursor</code> will not be changed.
- *
- * <p>Upon return, values in <code>index</code> will be updated.
- * <code>index.start</code> will be advanced to the first
- * character that future calls to this method will read.
- * <code>index.cursor</code> and <code>index.limit</code> will
- * be adjusted to delimit the range of text that future calls to
- * this method may change.
- *
- * <p>Typical usage of this method begins with an initial call
- * with <code>index.start</code> and <code>index.limit</code>
- * set to indicate the portion of <code>text</code> to be
- * transliterated, and <code>index.cursor == index.start</code>.
- * Thereafter, <code>index</code> can be used without
- * modification in future calls, provided that all changes to
- * <code>text</code> are made via this method.
- *
- * <p>This method assumes that future calls may be made that will
- * insert new text into the buffer.  As a result, it only performs
- * unambiguous transliterations.  After the last call to this method,
- * there may be untransliterated text that is waiting for more input
- * to resolve an ambiguity.  In order to perform these pending
- * transliterations, clients should call utrans_trans() with a start
- * of index.start and a limit of index.end after the last call to this
- * method has been made.
- *
- * @param trans the transliterator
- * @param rep a pointer to the string.  This will be passed to the
- * repFunc functions.
- * @param repFunc a set of function pointers that will be used to
- * modify the string pointed to by rep.
- * @param pos a struct containing the start and limit indices of the
- * text to be read and the text to be transliterated
- * @param status a pointer to the UErrorCode
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2 
-utrans_transIncremental(const UTransliterator* trans,
-                        UReplaceable* rep,
-                        UReplaceableCallbacks* repFunc,
-                        UTransPosition* pos,
-                        UErrorCode* status);
-
-/**
- * Transliterate a segment of a UChar* string.  The string is passed
- * in in a UChar* buffer.  The string is modified in place.  If the
- * result is longer than textCapacity, it is truncated.  The actual
- * length of the result is returned in *textLength, if textLength is
- * non-NULL. *textLength may be greater than textCapacity, but only
- * textCapacity UChars will be written to *text, including the zero
- * terminator.
- *
- * @param trans the transliterator
- * @param text a pointer to a buffer containing the text to be
- * transliterated on input and the result text on output.
- * @param textLength a pointer to the length of the string in text.
- * If the length is -1 then the string is assumed to be
- * zero-terminated.  Upon return, the new length is stored in
- * *textLength.  If textLength is NULL then the string is assumed to
- * be zero-terminated.
- * @param textCapacity a pointer to the length of the text buffer.
- * Upon return, 
- * @param start the beginning index, inclusive; <code>0 <= start <=
- * limit</code>.
- * @param limit pointer to the ending index, exclusive; <code>start <=
- * limit <= repFunc->length(rep)</code>.  Upon return, *limit will
- * contain the new limit index.  The text previously occupying
- * <code>[start, limit)</code> has been transliterated, possibly to a
- * string of a different length, at <code>[start,
- * </code><em>new-limit</em><code>)</code>, where <em>new-limit</em>
- * is the return value.
- * @param status a pointer to the UErrorCode
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2 
-utrans_transUChars(const UTransliterator* trans,
-                   UChar* text,
-                   int32_t* textLength,
-                   int32_t textCapacity,
-                   int32_t start,
-                   int32_t* limit,
-                   UErrorCode* status);
-
-/**
- * Transliterate the portion of the UChar* text buffer that can be
- * transliterated unambiguosly.  See utrans_transIncremental().  The
- * string is passed in in a UChar* buffer.  The string is modified in
- * place.  If the result is longer than textCapacity, it is truncated.
- * The actual length of the result is returned in *textLength, if
- * textLength is non-NULL. *textLength may be greater than
- * textCapacity, but only textCapacity UChars will be written to
- * *text, including the zero terminator.  See utrans_transIncremental()
- * for usage details.
- *
- * @param trans the transliterator
- * @param text a pointer to a buffer containing the text to be
- * transliterated on input and the result text on output.
- * @param textLength a pointer to the length of the string in text.
- * If the length is -1 then the string is assumed to be
- * zero-terminated.  Upon return, the new length is stored in
- * *textLength.  If textLength is NULL then the string is assumed to
- * be zero-terminated.
- * @param textCapacity the length of the text buffer
- * @param pos a struct containing the start and limit indices of the
- * text to be read and the text to be transliterated
- * @param status a pointer to the UErrorCode
- * @see utrans_transIncremental
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2 
-utrans_transIncrementalUChars(const UTransliterator* trans,
-                              UChar* text,
-                              int32_t* textLength,
-                              int32_t textCapacity,
-                              UTransPosition* pos,
-                              UErrorCode* status);
-
-/* deprecated API ----------------------------------------------------------- */
-
-/* see utrans.h documentation for why these functions are deprecated */
-
-/**
- * Deprecated, use utrans_openU() instead.
- * Open a custom transliterator, given a custom rules string 
- * OR 
- * a system transliterator, given its ID.  
- * Any non-NULL result from this function should later be closed with
- * utrans_close().
- *
- * @param id a valid ID, as returned by utrans_getAvailableID()
- * @param dir the desired direction
- * @param rules the transliterator rules.  See the C++ header rbt.h
- * for rules syntax. If NULL then a system transliterator matching 
- * the ID is returned.
- * @param rulesLength the length of the rules, or -1 if the rules
- * are zero-terminated.
- * @param parseError a pointer to a UParseError struct to receive the
- * details of any parsing errors. This parameter may be NULL if no
- * parsing error details are desired.
- * @param status a pointer to the UErrorCode
- * @return a transliterator pointer that may be passed to other
- * utrans_xxx() functions, or NULL if the open call fails.
- * @deprecated ICU 2.8 Use utrans_openU() instead, see utrans.h
- */
-U_DEPRECATED UTransliterator* U_EXPORT2 
-utrans_open(const char* id,
-            UTransDirection dir,
-            const UChar* rules,         /* may be Null */
-            int32_t rulesLength,        /* -1 if null-terminated */ 
-            UParseError* parseError,    /* may be Null */
-            UErrorCode* status);
-
-/**
- * Deprecated, use utrans_getUnicodeID() instead.
- * Return the programmatic identifier for this transliterator.
- * If this identifier is passed to utrans_open(), it will open
- * a transliterator equivalent to this one, if the ID has been
- * registered.
- * @param trans the transliterator to return the ID of.
- * @param buf the buffer in which to receive the ID.  This may be
- * NULL, in which case no characters are copied.
- * @param bufCapacity the capacity of the buffer.  Ignored if buf is
- * NULL.
- * @return the actual length of the ID, not including
- * zero-termination.  This may be greater than bufCapacity.
- * @deprecated ICU 2.8 Use utrans_getUnicodeID() instead, see utrans.h
- */
-U_DEPRECATED int32_t U_EXPORT2 
-utrans_getID(const UTransliterator* trans,
-             char* buf,
-             int32_t bufCapacity);
-
-/**
- * Deprecated, use utrans_unregisterID() instead.
- * Unregister a transliterator from the system.  After this call the
- * system will no longer recognize the given ID when passed to
- * utrans_open().  If the id is invalid then nothing is done.
- *
- * @param id a zero-terminated ID
- * @deprecated ICU 2.8 Use utrans_unregisterID() instead, see utrans.h
- */
-U_DEPRECATED void U_EXPORT2 
-utrans_unregister(const char* id);
-
-/**
- * Deprecated, use utrans_openIDs() instead.
- * Return the ID of the index-th system transliterator.  The result
- * is placed in the given buffer.  If the given buffer is too small,
- * the initial substring is copied to buf.  The result in buf is
- * always zero-terminated.
- *
- * @param index the number of the transliterator to return.  Must
- * satisfy 0 <= index < utrans_countAvailableIDs().  If index is out
- * of range then it is treated as if it were 0.
- * @param buf the buffer in which to receive the ID.  This may be
- * NULL, in which case no characters are copied.
- * @param bufCapacity the capacity of the buffer.  Ignored if buf is
- * NULL.
- * @return the actual length of the index-th ID, not including
- * zero-termination.  This may be greater than bufCapacity.
- * @deprecated ICU 2.8 Use utrans_openIDs() instead, see utrans.h
- */
-U_DEPRECATED int32_t U_EXPORT2 
-utrans_getAvailableID(int32_t index,
-                      char* buf,
-                      int32_t bufCapacity);
-
-#endif /* #if !UCONFIG_NO_TRANSLITERATION */
-
-#endif

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/utypes.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/utypes.h b/apps/couch_collate/platform/osx/icu/unicode/utypes.h
deleted file mode 100644
index 12977ed..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/utypes.h
+++ /dev/null
@@ -1,801 +0,0 @@
-/*
-**********************************************************************
-*   Copyright (C) 1996-2008, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-**********************************************************************
-*
-*  FILE NAME : UTYPES.H (formerly ptypes.h)
-*
-*   Date        Name        Description
-*   12/11/96    helena      Creation.
-*   02/27/97    aliu        Added typedefs for UClassID, int8, int16, int32,
-*                           uint8, uint16, and uint32.
-*   04/01/97    aliu        Added XP_CPLUSPLUS and modified to work under C as
-*                            well as C++.
-*                           Modified to use memcpy() for uprv_arrayCopy() fns.
-*   04/14/97    aliu        Added TPlatformUtilities.
-*   05/07/97    aliu        Added import/export specifiers (replacing the old
-*                           broken EXT_CLASS).  Added version number for our
-*                           code.  Cleaned up header.
-*    6/20/97    helena      Java class name change.
-*   08/11/98    stephen     UErrorCode changed from typedef to enum
-*   08/12/98    erm         Changed T_ANALYTIC_PACKAGE_VERSION to 3
-*   08/14/98    stephen     Added uprv_arrayCopy() for int8_t, int16_t, int32_t
-*   12/09/98    jfitz       Added BUFFER_OVERFLOW_ERROR (bug 1100066)
-*   04/20/99    stephen     Cleaned up & reworked for autoconf.
-*                           Renamed to utypes.h.
-*   05/05/99    stephen     Changed to use <inttypes.h>
-*   12/07/99    helena      Moved copyright notice string from ucnv_bld.h here.
-*******************************************************************************
-*/
-
-#ifndef UTYPES_H
-#define UTYPES_H
-
-
-#include "unicode/umachine.h"
-#include "unicode/utf.h"
-#include "unicode/uversion.h"
-#include "unicode/uconfig.h"
-
-#if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
-#define U_HIDE_DRAFT_API 1
-#endif
-
-#ifdef U_HIDE_DRAFT_API
-#include "unicode/udraft.h"
-#endif
-
-#ifdef U_HIDE_DEPRECATED_API
-#include "unicode/udeprctd.h"
-#endif
-
-#ifdef U_HIDE_DEPRECATED_API
-#include "unicode/uobslete.h"
-#endif
-
-#ifdef U_HIDE_INTERNAL_API
-#include "unicode/uintrnal.h"
-#endif
-
-#ifdef U_HIDE_SYSTEM_API
-#include "unicode/usystem.h"
-#endif
-
-/*!
- * \file
- * \brief Basic definitions for ICU, for both C and C++ APIs
- *
- * This file defines basic types, constants, and enumerations directly or
- * indirectly by including other header files, especially utf.h for the
- * basic character and string definitions and umachine.h for consistent
- * integer and other types.
- */
-
-/*===========================================================================*/
-/* char Character set family                                                 */
-/*===========================================================================*/
-
-/**
- * U_CHARSET_FAMILY is equal to this value when the platform is an ASCII based platform.
- * @stable ICU 2.0
- */
-#define U_ASCII_FAMILY 0
-
-/**
- * U_CHARSET_FAMILY is equal to this value when the platform is an EBCDIC based platform.
- * @stable ICU 2.0
- */
-#define U_EBCDIC_FAMILY 1
-
-/**
- * \def U_CHARSET_FAMILY
- *
- * <p>These definitions allow to specify the encoding of text
- * in the char data type as defined by the platform and the compiler.
- * It is enough to determine the code point values of "invariant characters",
- * which are the ones shared by all encodings that are in use
- * on a given platform.</p>
- *
- * <p>Those "invariant characters" should be all the uppercase and lowercase
- * latin letters, the digits, the space, and "basic punctuation".
- * Also, '\\n', '\\r', '\\t' should be available.</p>
- *
- * <p>The list of "invariant characters" is:<br>
- * \code
- *    A-Z  a-z  0-9  SPACE  "  %  &amp;  '  (  )  *  +  ,  -  .  /  :  ;  <  =  >  ?  _
- * \endcode
- * <br>
- * (52 letters + 10 numbers + 20 punc/sym/space = 82 total)</p>
- *
- * <p>This matches the IBM Syntactic Character Set (CS 640).</p>
- *
- * <p>In other words, all the graphic characters in 7-bit ASCII should
- * be safely accessible except the following:</p>
- *
- * \code
- *    '\' <backslash>
- *    '[' <left bracket>
- *    ']' <right bracket>
- *    '{' <left brace>
- *    '}' <right brace>
- *    '^' <circumflex>
- *    '~' <tilde>
- *    '!' <exclamation mark>
- *    '#' <number sign>
- *    '|' <vertical line>
- *    '$' <dollar sign>
- *    '@' <commercial at>
- *    '`' <grave accent>
- * \endcode
- * @stable ICU 2.0
- */
-
-#ifndef U_CHARSET_FAMILY
-#   define U_CHARSET_FAMILY 0
-#endif
-
-/*===========================================================================*/
-/* ICUDATA naming scheme                                                     */
-/*===========================================================================*/
-
-/**
- * \def U_ICUDATA_TYPE_LETTER
- *
- * This is a platform-dependent string containing one letter:
- * - b for big-endian, ASCII-family platforms
- * - l for little-endian, ASCII-family platforms
- * - e for big-endian, EBCDIC-family platforms
- * This letter is part of the common data file name.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_ICUDATA_TYPE_LITLETTER
- * The non-string form of U_ICUDATA_TYPE_LETTER
- * @stable ICU 2.0
- */
-#if U_CHARSET_FAMILY
-#   if U_IS_BIG_ENDIAN
-   /* EBCDIC - should always be BE */
-#     define U_ICUDATA_TYPE_LETTER "e"
-#     define U_ICUDATA_TYPE_LITLETTER e
-#   else
-#     error "Don't know what to do with little endian EBCDIC!"
-#     define U_ICUDATA_TYPE_LETTER "x"
-#     define U_ICUDATA_TYPE_LITLETTER x
-#   endif
-#else
-#   if U_IS_BIG_ENDIAN
-      /* Big-endian ASCII */
-#     define U_ICUDATA_TYPE_LETTER "b"
-#     define U_ICUDATA_TYPE_LITLETTER b
-#   else
-      /* Little-endian ASCII */
-#     define U_ICUDATA_TYPE_LETTER "l"
-#     define U_ICUDATA_TYPE_LITLETTER l
-#   endif
-#endif
-
-/**
- * A single string literal containing the icudata stub name. i.e. 'icudt18e' for
- * ICU 1.8.x on EBCDIC, etc..
- * @stable ICU 2.0
- */
-#define U_ICUDATA_NAME    "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER
-
-
-/**
- *  U_ICU_ENTRY_POINT is the name of the DLL entry point to the ICU data library.
- *    Defined as a literal, not a string.
- *    Tricky Preprocessor use - ## operator replaces macro paramters with the literal string
- *                              from the corresponding macro invocation, _before_ other macro substitutions.
- *                              Need a nested \#defines to get the actual version numbers rather than
- *                              the literal text U_ICU_VERSION_MAJOR_NUM into the name.
- *                              The net result will be something of the form
- *                                  \#define U_ICU_ENTRY_POINT icudt19_dat
- * @stable ICU 2.4
- */
-#define U_ICUDATA_ENTRY_POINT  U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM)
-
-/**
- * Do not use.
- * @internal
- */
-#define U_DEF2_ICUDATA_ENTRY_POINT(major, minor) U_DEF_ICUDATA_ENTRY_POINT(major, minor)
-/**
- * Do not use.
- * @internal
- */
-#define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat
-
-/**
- * \def U_CALLCONV
- * Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary
- * in callback function typedefs to make sure that the calling convention
- * is compatible.
- *
- * This is only used for non-ICU-API functions.
- * When a function is a public ICU API,
- * you must use the U_CAPI and U_EXPORT2 qualifiers.
- * @stable ICU 2.0
- */
-#if defined(OS390) && (__COMPILER_VER__ < 0x41020000) && defined(XP_CPLUSPLUS)
-#    define U_CALLCONV __cdecl
-#else
-#    define U_CALLCONV U_EXPORT2
-#endif
-
-/**
- * \def NULL
- * Define NULL if necessary, to 0 for C++ and to ((void *)0) for C.
- * @stable ICU 2.0
- */
-#ifndef NULL
-#ifdef XP_CPLUSPLUS
-#define NULL    0
-#else
-#define NULL    ((void *)0)
-#endif
-#endif
-
-/*===========================================================================*/
-/* Calendar/TimeZone data types                                              */
-/*===========================================================================*/
-
-/**
- * Date and Time data type.
- * This is a primitive data type that holds the date and time
- * as the number of milliseconds since 1970-jan-01, 00:00 UTC.
- * UTC leap seconds are ignored.
- * @stable ICU 2.0
- */
-typedef double UDate;
-
-/** The number of milliseconds per second @stable ICU 2.0 */
-#define U_MILLIS_PER_SECOND        (1000)
-/** The number of milliseconds per minute @stable ICU 2.0 */
-#define U_MILLIS_PER_MINUTE       (60000)
-/** The number of milliseconds per hour @stable ICU 2.0 */
-#define U_MILLIS_PER_HOUR       (3600000)
-/** The number of milliseconds per day @stable ICU 2.0 */
-#define U_MILLIS_PER_DAY       (86400000)
-
-
-/*===========================================================================*/
-/* UClassID-based RTTI */
-/*===========================================================================*/
-
-/**
- * UClassID is used to identify classes without using RTTI, since RTTI
- * is not yet supported by all C++ compilers.  Each class hierarchy which needs
- * to implement polymorphic clone() or operator==() defines two methods,
- * described in detail below.  UClassID values can be compared using
- * operator==(). Nothing else should be done with them.
- *
- * \par
- * getDynamicClassID() is declared in the base class of the hierarchy as
- * a pure virtual.  Each concrete subclass implements it in the same way:
- *
- * \code
- *      class Base {
- *      public:
- *          virtual UClassID getDynamicClassID() const = 0;
- *      }
- *
- *      class Derived {
- *      public:
- *          virtual UClassID getDynamicClassID() const
- *            { return Derived::getStaticClassID(); }
- *      }
- * \endcode
- *
- * Each concrete class implements getStaticClassID() as well, which allows
- * clients to test for a specific type.
- *
- * \code
- *      class Derived {
- *      public:
- *          static UClassID U_EXPORT2 getStaticClassID();
- *      private:
- *          static char fgClassID;
- *      }
- *
- *      // In Derived.cpp:
- *      UClassID Derived::getStaticClassID()
- *        { return (UClassID)&Derived::fgClassID; }
- *      char Derived::fgClassID = 0; // Value is irrelevant
- * \endcode
- * @stable ICU 2.0
- */
-typedef void* UClassID;
-
-/*===========================================================================*/
-/* Shared library/DLL import-export API control                              */
-/*===========================================================================*/
-
-/*
- * Control of symbol import/export.
- * ICU is separated into three libraries.
- */
-
-/*
- * \def U_COMBINED_IMPLEMENTATION
- * Set to export library symbols from inside the ICU library
- * when all of ICU is in a single library.
- * This can be set as a compiler option while building ICU, and it
- * needs to be the first one tested to override U_COMMON_API, U_I18N_API, etc.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_DATA_API
- * Set to export library symbols from inside the stubdata library,
- * and to import them from outside.
- * @stable ICU 3.0
- */
-
-/**
- * \def U_COMMON_API
- * Set to export library symbols from inside the common library,
- * and to import them from outside.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_I18N_API
- * Set to export library symbols from inside the i18n library,
- * and to import them from outside.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_LAYOUT_API
- * Set to export library symbols from inside the layout engine library,
- * and to import them from outside.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_LAYOUTEX_API
- * Set to export library symbols from inside the layout extensions library,
- * and to import them from outside.
- * @stable ICU 2.6
- */
-
-/**
- * \def U_IO_API
- * Set to export library symbols from inside the ustdio library,
- * and to import them from outside.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_TOOLUTIL_API
- * Set to export library symbols from inside the toolutil library,
- * and to import them from outside.
- * @stable ICU 3.4
- */
-
-#if defined(U_COMBINED_IMPLEMENTATION)
-#define U_DATA_API     U_EXPORT
-#define U_COMMON_API   U_EXPORT
-#define U_I18N_API     U_EXPORT
-#define U_LAYOUT_API   U_EXPORT
-#define U_LAYOUTEX_API U_EXPORT
-#define U_IO_API       U_EXPORT
-#define U_TOOLUTIL_API U_EXPORT
-#elif defined(U_STATIC_IMPLEMENTATION)
-#define U_DATA_API
-#define U_COMMON_API
-#define U_I18N_API
-#define U_LAYOUT_API
-#define U_LAYOUTEX_API
-#define U_IO_API
-#define U_TOOLUTIL_API
-#elif defined(U_COMMON_IMPLEMENTATION)
-#define U_DATA_API     U_IMPORT
-#define U_COMMON_API   U_EXPORT
-#define U_I18N_API     U_IMPORT
-#define U_LAYOUT_API   U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API       U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_I18N_IMPLEMENTATION)
-#define U_DATA_API     U_IMPORT
-#define U_COMMON_API   U_IMPORT
-#define U_I18N_API     U_EXPORT
-#define U_LAYOUT_API   U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API       U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_LAYOUT_IMPLEMENTATION)
-#define U_DATA_API     U_IMPORT
-#define U_COMMON_API   U_IMPORT
-#define U_I18N_API     U_IMPORT
-#define U_LAYOUT_API   U_EXPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API       U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_LAYOUTEX_IMPLEMENTATION)
-#define U_DATA_API     U_IMPORT
-#define U_COMMON_API   U_IMPORT
-#define U_I18N_API     U_IMPORT
-#define U_LAYOUT_API   U_IMPORT
-#define U_LAYOUTEX_API U_EXPORT
-#define U_IO_API       U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_IO_IMPLEMENTATION)
-#define U_DATA_API     U_IMPORT
-#define U_COMMON_API   U_IMPORT
-#define U_I18N_API     U_IMPORT
-#define U_LAYOUT_API   U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API       U_EXPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_TOOLUTIL_IMPLEMENTATION)
-#define U_DATA_API     U_IMPORT
-#define U_COMMON_API   U_IMPORT
-#define U_I18N_API     U_IMPORT
-#define U_LAYOUT_API   U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API       U_IMPORT
-#define U_TOOLUTIL_API U_EXPORT
-#else
-#define U_DATA_API     U_IMPORT
-#define U_COMMON_API   U_IMPORT
-#define U_I18N_API     U_IMPORT
-#define U_LAYOUT_API   U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API       U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#endif
-
-/**
- * \def U_STANDARD_CPP_NAMESPACE
- * Control of C++ Namespace
- * @stable ICU 2.0
- */
-#ifdef __cplusplus
-#define U_STANDARD_CPP_NAMESPACE        ::
-#else
-#define U_STANDARD_CPP_NAMESPACE
-#endif
-
-
-/*===========================================================================*/
-/* Global delete operator                                                    */
-/*===========================================================================*/
-
-/*
- * The ICU4C library must not use the global new and delete operators.
- * These operators here are defined to enable testing for this.
- * See Jitterbug 2581 for details of why this is necessary.
- *
- * Verification that ICU4C's memory usage is correct, i.e.,
- * that global new/delete are not used:
- *
- * a) Check for imports of global new/delete (see uobject.cpp for details)
- * b) Verify that new is never imported.
- * c) Verify that delete is only imported from object code for interface/mixin classes.
- * d) Add global delete and delete[] only for the ICU4C library itself
- *    and define them in a way that crashes or otherwise easily shows a problem.
- *
- * The following implements d).
- * The operator implementations crash; this is intentional and used for library debugging.
- *
- * Note: This is currently only done on Windows because
- * some Linux/Unix compilers have problems with defining global new/delete.
- * On Windows, U_WINDOWS is defined, and it is _MSC_VER>=1200 for MSVC 6.0 and higher.
- */
-#if defined(XP_CPLUSPLUS) && defined(U_WINDOWS) && U_DEBUG && U_OVERRIDE_CXX_ALLOCATION && (_MSC_VER>=1200) && !defined(U_STATIC_IMPLEMENTATION) && (defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION))
-
-#ifndef U_HIDE_INTERNAL_API
-/**
- * Global operator new, defined only inside ICU4C, must not be used.
- * Crashes intentionally.
- * @internal
- */
-inline void *
-operator new(size_t /*size*/) {
-    char *q=NULL;
-    *q=5; /* break it */
-    return q;
-}
-
-#ifdef _Ret_bytecap_
-/* This is only needed to suppress a Visual C++ 2008 warning for operator new[]. */
-_Ret_bytecap_(_Size)
-#endif
-/**
- * Global operator new[], defined only inside ICU4C, must not be used.
- * Crashes intentionally.
- * @internal
- */
-inline void *
-operator new[](size_t /*size*/) {
-    char *q=NULL;
-    *q=5; /* break it */
-    return q;
-}
-
-/**
- * Global operator delete, defined only inside ICU4C, must not be used.
- * Crashes intentionally.
- * @internal
- */
-inline void
-operator delete(void * /*p*/) {
-    char *q=NULL;
-    *q=5; /* break it */
-}
-
-/**
- * Global operator delete[], defined only inside ICU4C, must not be used.
- * Crashes intentionally.
- * @internal
- */
-inline void
-operator delete[](void * /*p*/) {
-    char *q=NULL;
-    *q=5; /* break it */
-}
-
-#endif /* U_HIDE_INTERNAL_API */
-#endif
-
-/*===========================================================================*/
-/* UErrorCode */
-/*===========================================================================*/
-
-/**
- * Error code to replace exception handling, so that the code is compatible with all C++ compilers,
- * and to use the same mechanism for C and C++.
- *
- * \par
- * ICU functions that take a reference (C++) or a pointer (C) to a UErrorCode
- * first test if(U_FAILURE(errorCode)) { return immediately; }
- * so that in a chain of such functions the first one that sets an error code
- * causes the following ones to not perform any operations.
- *
- * \par
- * Error codes should be tested using U_FAILURE() and U_SUCCESS().
- * @stable ICU 2.0
- */
-typedef enum UErrorCode {
-    /* The ordering of U_ERROR_INFO_START Vs U_USING_FALLBACK_WARNING looks weird
-     * and is that way because VC++ debugger displays first encountered constant,
-     * which is not the what the code is used for
-     */
-
-    U_USING_FALLBACK_WARNING  = -128,   /**< A resource bundle lookup returned a fallback result (not an error) */
-
-    U_ERROR_WARNING_START     = -128,   /**< Start of information results (semantically successful) */
-
-    U_USING_DEFAULT_WARNING   = -127,   /**< A resource bundle lookup returned a result from the root locale (not an error) */
-
-    U_SAFECLONE_ALLOCATED_WARNING = -126, /**< A SafeClone operation required allocating memory (informational only) */
-
-    U_STATE_OLD_WARNING       = -125,   /**< ICU has to use compatibility layer to construct the service. Expect performance/memory usage degradation. Consider upgrading */
-
-    U_STRING_NOT_TERMINATED_WARNING = -124,/**< An output string could not be NUL-terminated because output length==destCapacity. */
-
-    U_SORT_KEY_TOO_SHORT_WARNING = -123, /**< Number of levels requested in getBound is higher than the number of levels in the sort key */
-
-    U_AMBIGUOUS_ALIAS_WARNING = -122,   /**< This converter alias can go to different converter implementations */
-
-    U_DIFFERENT_UCA_VERSION = -121,     /**< ucol_open encountered a mismatch between UCA version and collator image version, so the collator was constructed from rules. No impact to further function */
-
-    U_ERROR_WARNING_LIMIT,              /**< This must always be the last warning value to indicate the limit for UErrorCode warnings (last warning code +1) */
-
-
-    U_ZERO_ERROR              =  0,     /**< No error, no warning. */
-
-    U_ILLEGAL_ARGUMENT_ERROR  =  1,     /**< Start of codes indicating failure */
-    U_MISSING_RESOURCE_ERROR  =  2,     /**< The requested resource cannot be found */
-    U_INVALID_FORMAT_ERROR    =  3,     /**< Data format is not what is expected */
-    U_FILE_ACCESS_ERROR       =  4,     /**< The requested file cannot be found */
-    U_INTERNAL_PROGRAM_ERROR  =  5,     /**< Indicates a bug in the library code */
-    U_MESSAGE_PARSE_ERROR     =  6,     /**< Unable to parse a message (message format) */
-    U_MEMORY_ALLOCATION_ERROR =  7,     /**< Memory allocation error */
-    U_INDEX_OUTOFBOUNDS_ERROR =  8,     /**< Trying to access the index that is out of bounds */
-    U_PARSE_ERROR             =  9,     /**< Equivalent to Java ParseException */
-    U_INVALID_CHAR_FOUND      = 10,     /**< Character conversion: Unmappable input sequence. In other APIs: Invalid character. */
-    U_TRUNCATED_CHAR_FOUND    = 11,     /**< Character conversion: Incomplete input sequence. */
-    U_ILLEGAL_CHAR_FOUND      = 12,     /**< Character conversion: Illegal input sequence/combination of input units. */
-    U_INVALID_TABLE_FORMAT    = 13,     /**< Conversion table file found, but corrupted */
-    U_INVALID_TABLE_FILE      = 14,     /**< Conversion table file not found */
-    U_BUFFER_OVERFLOW_ERROR   = 15,     /**< A result would not fit in the supplied buffer */
-    U_UNSUPPORTED_ERROR       = 16,     /**< Requested operation not supported in current context */
-    U_RESOURCE_TYPE_MISMATCH  = 17,     /**< an operation is requested over a resource that does not support it */
-    U_ILLEGAL_ESCAPE_SEQUENCE = 18,     /**< ISO-2022 illlegal escape sequence */
-    U_UNSUPPORTED_ESCAPE_SEQUENCE = 19, /**< ISO-2022 unsupported escape sequence */
-    U_NO_SPACE_AVAILABLE      = 20,     /**< No space available for in-buffer expansion for Arabic shaping */
-    U_CE_NOT_FOUND_ERROR      = 21,     /**< Currently used only while setting variable top, but can be used generally */
-    U_PRIMARY_TOO_LONG_ERROR  = 22,     /**< User tried to set variable top to a primary that is longer than two bytes */
-    U_STATE_TOO_OLD_ERROR     = 23,     /**< ICU cannot construct a service from this state, as it is no longer supported */
-    U_TOO_MANY_ALIASES_ERROR  = 24,     /**< There are too many aliases in the path to the requested resource.
-                                             It is very possible that a circular alias definition has occured */
-    U_ENUM_OUT_OF_SYNC_ERROR  = 25,     /**< UEnumeration out of sync with underlying collection */
-    U_INVARIANT_CONVERSION_ERROR = 26,  /**< Unable to convert a UChar* string to char* with the invariant converter. */
-    U_INVALID_STATE_ERROR     = 27,     /**< Requested operation can not be completed with ICU in its current state */
-    U_COLLATOR_VERSION_MISMATCH = 28,   /**< Collator version is not compatible with the base version */
-    U_USELESS_COLLATOR_ERROR  = 29,     /**< Collator is options only and no base is specified */
-    U_NO_WRITE_PERMISSION     = 30,     /**< Attempt to modify read-only or constant data. */
-
-    U_STANDARD_ERROR_LIMIT,             /**< This must always be the last value to indicate the limit for standard errors */
-    /*
-     * the error code range 0x10000 0x10100 are reserved for Transliterator
-     */
-    U_BAD_VARIABLE_DEFINITION=0x10000,/**< Missing '$' or duplicate variable name */
-    U_PARSE_ERROR_START = 0x10000,    /**< Start of Transliterator errors */
-    U_MALFORMED_RULE,                 /**< Elements of a rule are misplaced */
-    U_MALFORMED_SET,                  /**< A UnicodeSet pattern is invalid*/
-    U_MALFORMED_SYMBOL_REFERENCE,     /**< UNUSED as of ICU 2.4 */
-    U_MALFORMED_UNICODE_ESCAPE,       /**< A Unicode escape pattern is invalid*/
-    U_MALFORMED_VARIABLE_DEFINITION,  /**< A variable definition is invalid */
-    U_MALFORMED_VARIABLE_REFERENCE,   /**< A variable reference is invalid */
-    U_MISMATCHED_SEGMENT_DELIMITERS,  /**< UNUSED as of ICU 2.4 */
-    U_MISPLACED_ANCHOR_START,         /**< A start anchor appears at an illegal position */
-    U_MISPLACED_CURSOR_OFFSET,        /**< A cursor offset occurs at an illegal position */
-    U_MISPLACED_QUANTIFIER,           /**< A quantifier appears after a segment close delimiter */
-    U_MISSING_OPERATOR,               /**< A rule contains no operator */
-    U_MISSING_SEGMENT_CLOSE,          /**< UNUSED as of ICU 2.4 */
-    U_MULTIPLE_ANTE_CONTEXTS,         /**< More than one ante context */
-    U_MULTIPLE_CURSORS,               /**< More than one cursor */
-    U_MULTIPLE_POST_CONTEXTS,         /**< More than one post context */
-    U_TRAILING_BACKSLASH,             /**< A dangling backslash */
-    U_UNDEFINED_SEGMENT_REFERENCE,    /**< A segment reference does not correspond to a defined segment */
-    U_UNDEFINED_VARIABLE,             /**< A variable reference does not correspond to a defined variable */
-    U_UNQUOTED_SPECIAL,               /**< A special character was not quoted or escaped */
-    U_UNTERMINATED_QUOTE,             /**< A closing single quote is missing */
-    U_RULE_MASK_ERROR,                /**< A rule is hidden by an earlier more general rule */
-    U_MISPLACED_COMPOUND_FILTER,      /**< A compound filter is in an invalid location */
-    U_MULTIPLE_COMPOUND_FILTERS,      /**< More than one compound filter */
-    U_INVALID_RBT_SYNTAX,             /**< A "::id" rule was passed to the RuleBasedTransliterator parser */
-    U_INVALID_PROPERTY_PATTERN,       /**< UNUSED as of ICU 2.4 */
-    U_MALFORMED_PRAGMA,               /**< A 'use' pragma is invlalid */
-    U_UNCLOSED_SEGMENT,               /**< A closing ')' is missing */
-    U_ILLEGAL_CHAR_IN_SEGMENT,        /**< UNUSED as of ICU 2.4 */
-    U_VARIABLE_RANGE_EXHAUSTED,       /**< Too many stand-ins generated for the given variable range */
-    U_VARIABLE_RANGE_OVERLAP,         /**< The variable range overlaps characters used in rules */
-    U_ILLEGAL_CHARACTER,              /**< A special character is outside its allowed context */
-    U_INTERNAL_TRANSLITERATOR_ERROR,  /**< Internal transliterator system error */
-    U_INVALID_ID,                     /**< A "::id" rule specifies an unknown transliterator */
-    U_INVALID_FUNCTION,               /**< A "&fn()" rule specifies an unknown transliterator */
-    U_PARSE_ERROR_LIMIT,              /**< The limit for Transliterator errors */
-
-    /*
-     * the error code range 0x10100 0x10200 are reserved for formatting API parsing error
-     */
-    U_UNEXPECTED_TOKEN=0x10100,       /**< Syntax error in format pattern */
-    U_FMT_PARSE_ERROR_START=0x10100,  /**< Start of format library errors */
-    U_MULTIPLE_DECIMAL_SEPARATORS,    /**< More than one decimal separator in number pattern */
-    U_MULTIPLE_DECIMAL_SEPERATORS = U_MULTIPLE_DECIMAL_SEPARATORS, /**< Typo: kept for backward compatibility. Use U_MULTIPLE_DECIMAL_SEPARATORS */
-    U_MULTIPLE_EXPONENTIAL_SYMBOLS,   /**< More than one exponent symbol in number pattern */
-    U_MALFORMED_EXPONENTIAL_PATTERN,  /**< Grouping symbol in exponent 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_PAD_SPECIFIERS,        /**< More than one pad symbol in number pattern */
-    U_PATTERN_SYNTAX_ERROR,           /**< Syntax error in format pattern */
-    U_ILLEGAL_PAD_POSITION,           /**< Pad symbol misplaced in number pattern */
-    U_UNMATCHED_BRACES,               /**< Braces do not match in message pattern */
-    U_UNSUPPORTED_PROPERTY,           /**< 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_DUPLICATE_KEYWORD,              /**< Duplicate keyword in PluralFormat */
-    U_UNDEFINED_KEYWORD,              /**< Undefined Pluarl keyword */
-    U_DEFAULT_KEYWORD_MISSING,        /**< Missing DEFAULT rule in plural rules */
-    U_FMT_PARSE_ERROR_LIMIT,          /**< The limit for format library errors */
-
-    /*
-     * 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_ERROR_START=0x10200,             /**< Start of codes indicating Break Iterator failures */
-    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_RULE_SYNTAX,                     /**< Syntax error in RBBI rule.                        */
-    U_BRK_UNCLOSED_SET,                    /**< UnicodeSet witing an RBBI rule missing a closing ']'.  */
-    U_BRK_ASSIGN_ERROR,                    /**< Syntax error in RBBI rule assignment statement.   */
-    U_BRK_VARIABLE_REDFINITION,            /**< RBBI rule $Variable redefined.                    */
-    U_BRK_MISMATCHED_PAREN,                /**< Mis-matched parentheses in an RBBI rule.          */
-    U_BRK_NEW_LINE_IN_QUOTED_STRING,       /**< Missing closing quote in an RBBI rule.            */
-    U_BRK_UNDEFINED_VARIABLE,              /**< Use of an undefined $Variable in an RBBI rule.    */
-    U_BRK_INIT_ERROR,                      /**< Initialization failure.  Probable missing ICU Data. */
-    U_BRK_RULE_EMPTY_SET,                  /**< Rule contains an empty Unicode Set.               */
-    U_BRK_UNRECOGNIZED_OPTION,             /**< !!option in RBBI rules not recognized.            */
-    U_BRK_MALFORMED_RULE_TAG,              /**< The {nnn} tag on a rule is mal formed             */
-    U_BRK_ERROR_LIMIT,                     /**< This must always be the last value to indicate the limit for Break Iterator failures */
-
-    /*
-     * The error codes in the range 0x10300-0x103ff are reserved for regular expression related errrs
-     */
-    U_REGEX_INTERNAL_ERROR=0x10300,       /**< An internal error (bug) was detected.              */
-    U_REGEX_ERROR_START=0x10300,          /**< Start of codes indicating Regexp failures          */
-    U_REGEX_RULE_SYNTAX,                  /**< Syntax error in regexp pattern.                    */
-    U_REGEX_INVALID_STATE,                /**< RegexMatcher in invalid state for requested operation */
-    U_REGEX_BAD_ESCAPE_SEQUENCE,          /**< Unrecognized backslash escape sequence in pattern  */
-    U_REGEX_PROPERTY_SYNTAX,              /**< Incorrect Unicode property                         */
-    U_REGEX_UNIMPLEMENTED,                /**< Use of regexp feature that is not yet implemented. */
-    U_REGEX_MISMATCHED_PAREN,             /**< Incorrectly nested parentheses in regexp pattern.  */
-    U_REGEX_NUMBER_TOO_BIG,               /**< Decimal number is too large.                       */
-    U_REGEX_BAD_INTERVAL,                 /**< Error in {min,max} interval                        */
-    U_REGEX_MAX_LT_MIN,                   /**< In {min,max}, max is less than min.                */
-    U_REGEX_INVALID_BACK_REF,             /**< Back-reference to a non-existent capture group.    */
-    U_REGEX_INVALID_FLAG,                 /**< Invalid value for match mode flags.                */
-    U_REGEX_LOOK_BEHIND_LIMIT,            /**< Look-Behind pattern matches must have a bounded maximum length.    */
-    U_REGEX_SET_CONTAINS_STRING,          /**< Regexps cannot have UnicodeSets containing strings.*/
-    U_REGEX_OCTAL_TOO_BIG,                /**< Octal character constants must be <= 0377.         */
-    U_REGEX_MISSING_CLOSE_BRACKET,        /**< Missing closing bracket on a bracket expression.   */
-    U_REGEX_INVALID_RANGE,                /**< In a character range [x-y], x is greater than y.   */
-    U_REGEX_STACK_OVERFLOW,               /**< Regular expression backtrack stack overflow.       */
-    U_REGEX_TIME_OUT,                     /**< Maximum allowed match time exceeded                */
-    U_REGEX_STOPPED_BY_CALLER,            /**< Matching operation aborted by user callback fn.    */
-    U_REGEX_ERROR_LIMIT,                  /**< This must always be the last value to indicate the limit for regexp errors */
-
-    /*
-     * The error code in the range 0x10400-0x104ff are reserved for IDNA related error codes
-     */
-    U_IDNA_PROHIBITED_ERROR=0x10400,
-    U_IDNA_ERROR_START=0x10400,
-    U_IDNA_UNASSIGNED_ERROR,
-    U_IDNA_CHECK_BIDI_ERROR,
-    U_IDNA_STD3_ASCII_RULES_ERROR,
-    U_IDNA_ACE_PREFIX_ERROR,
-    U_IDNA_VERIFICATION_ERROR,
-    U_IDNA_LABEL_TOO_LONG_ERROR,
-    U_IDNA_ZERO_LENGTH_LABEL_ERROR,
-    U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR,
-    U_IDNA_ERROR_LIMIT,
-    /*
-     * Aliases for StringPrep
-     */
-    U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR,
-    U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR,
-    U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR,
-
-
-    U_ERROR_LIMIT=U_IDNA_ERROR_LIMIT      /**< This must always be the last value to indicate the limit for UErrorCode (last error code +1) */
-} UErrorCode;
-
-/* Use the following to determine if an UErrorCode represents */
-/* operational success or failure. */
-
-#ifdef XP_CPLUSPLUS
-    /**
-     * Does the error code indicate success?
-     * @stable ICU 2.0
-     */
-    static
-    inline UBool U_SUCCESS(UErrorCode code) { return (UBool)(code<=U_ZERO_ERROR); }
-    /**
-     * Does the error code indicate a failure?
-     * @stable ICU 2.0
-     */
-    static
-    inline UBool U_FAILURE(UErrorCode code) { return (UBool)(code>U_ZERO_ERROR); }
-#else
-    /**
-     * Does the error code indicate success?
-     * @stable ICU 2.0
-     */
-#   define U_SUCCESS(x) ((x)<=U_ZERO_ERROR)
-    /**
-     * Does the error code indicate a failure?
-     * @stable ICU 2.0
-     */
-#   define U_FAILURE(x) ((x)>U_ZERO_ERROR)
-#endif
-
-/**
- * Return a string for a UErrorCode value.
- * The string will be the same as the name of the error code constant
- * in the UErrorCode enum above.
- * @stable ICU 2.0
- */
-U_STABLE const char * U_EXPORT2
-u_errorName(UErrorCode code);
-
-
-#endif /* _UTYPES */

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/uversion.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/uversion.h b/apps/couch_collate/platform/osx/icu/unicode/uversion.h
deleted file mode 100644
index 5bf7fda..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/uversion.h
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
-*******************************************************************************
-*   Copyright (C) 2000-2008, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-*******************************************************************************
-*
-*   file name:  uversion.h
-*   encoding:   US-ASCII
-*   tab size:   8 (not used)
-*   indentation:4
-*
-*   Created by: Vladimir Weinstein
-*
-*  Contains all the important version numbers for ICU. 
-*  Gets included by utypes.h and Windows .rc files
-*/
-
-/**
- * \file
- * \brief C API: Contains all the important version numbers for ICU. 
- */
-/*===========================================================================*/
-/* Main ICU version information                                              */
-/*===========================================================================*/
-
-#ifndef 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 copyright
- * 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"
-
-/** The standard copyright notice that gets compiled into each library. 
- *  This value will change in the subsequent releases of ICU
- *  @stable ICU 2.4
- */
-#define U_COPYRIGHT_STRING \
-  " Copyright (C) 2008, International Business Machines Corporation and others. All Rights Reserved. "
-
-/** Maximum length of the copyright string.
- *  @stable ICU 2.4
- */
-#define U_COPYRIGHT_STRING_LENGTH  128
-
-/** The current ICU major version as an integer. 
- *  This value will change in the subsequent releases of ICU
- *  @stable ICU 2.4
- */
-#define U_ICU_VERSION_MAJOR_NUM 4
-
-/** The current ICU minor version as an integer. 
- *  This value will change in the subsequent releases of ICU
- *  @stable ICU 2.6
- */
-#define U_ICU_VERSION_MINOR_NUM 0
-
-/** The current ICU patchlevel version as an integer.  
- *  This value will change in the subsequent releases of ICU
- *  @stable ICU 2.4
- */
-#define U_ICU_VERSION_PATCHLEVEL_NUM 0
-
-/** The current ICU build level version as an integer.  
- *  This value is for use by ICU clients. It defaults to 0.
- *  @draft ICU 4.0
- */
-#ifndef U_ICU_VERSION_BUILDLEVEL_NUM
-#define U_ICU_VERSION_BUILDLEVEL_NUM 0
-#endif
-
-/** Glued version suffix for renamers 
- *  This value will change in the subsequent releases of ICU
- *  @stable ICU 2.6
- */
-#define U_ICU_VERSION_SUFFIX _4_0
-
-/** The current ICU library version as a dotted-decimal string. The patchlevel
- *  only appears in this string if it non-zero. 
- *  This value will change in the subsequent releases of ICU
- *  @stable ICU 2.4
- */
-#define U_ICU_VERSION "4.0"
-
-/** The current ICU library major/minor version as a string without dots, for library name suffixes. 
- *  This value will change in the subsequent releases of ICU
- *  @stable ICU 2.6
- */
-#define U_ICU_VERSION_SHORT "40"
-
-/** An ICU version consists of up to 4 numbers from 0..255.
- *  @stable ICU 2.4
- */
-#define U_MAX_VERSION_LENGTH 4
-
-/** In a string, ICU version fields are delimited by dots.
- *  @stable ICU 2.4
- */
-#define U_VERSION_DELIMITER '.'
-
-/** The maximum length of an ICU version string.
- *  @stable ICU 2.4
- */
-#define U_MAX_VERSION_STRING_LENGTH 20
-
-/** The binary form of a version on ICU APIs is an array of 4 uint8_t.
- *  @stable ICU 2.4
- */
-typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
-
-/*===========================================================================*/
-/* C++ namespace if supported. Versioned unless versioning is disabled.      */
-/*===========================================================================*/
-
-/**
- * \def U_NAMESPACE_BEGIN
- * This is used to begin a declaration of a public ICU C++ API.
- * If the compiler doesn't support namespaces, this does nothing.
- * @stable ICU 2.4
- */
-
-/**
- * \def U_NAMESPACE_END
- * This is used to end a declaration of a public ICU C++ API 
- * If the compiler doesn't support namespaces, this does nothing.
- * @stable ICU 2.4
- */
-
-/**
- * \def U_NAMESPACE_USE
- * This is used to specify that the rest of the code uses the
- * public ICU C++ API namespace.
- * If the compiler doesn't support namespaces, this does nothing.
- * @stable ICU 2.4
- */
-
-/**
- * \def U_NAMESPACE_QUALIFIER
- * This is used to qualify that a function or class is part of
- * the public ICU C++ API namespace.
- * If the compiler doesn't support namespaces, this does nothing.
- * @stable ICU 2.4
- */
-
-/* Define namespace symbols if the compiler supports it. */
-#if U_HAVE_NAMESPACE && defined(XP_CPLUSPLUS)
-#   if U_DISABLE_RENAMING
-#       define U_ICU_NAMESPACE icu
-        namespace U_ICU_NAMESPACE { }
-#   else
-#       define U_ICU_NAMESPACE icu_4_0
-        namespace U_ICU_NAMESPACE { }
-        namespace icu = U_ICU_NAMESPACE;
-#   endif
-
-#   define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE {
-#   define U_NAMESPACE_END  }
-#   define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
-#   define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
-
-#   ifndef U_USING_ICU_NAMESPACE
-#       define U_USING_ICU_NAMESPACE 1
-#   endif
-#   if U_USING_ICU_NAMESPACE
-        U_NAMESPACE_USE
-#   endif
-#else
-#   define U_NAMESPACE_BEGIN
-#   define U_NAMESPACE_END
-#   define U_NAMESPACE_USE
-#   define U_NAMESPACE_QUALIFIER
-#endif
-
-
-/*===========================================================================*/
-/* General version helper functions. Definitions in putil.c                  */
-/*===========================================================================*/
-
-/**
- * Parse a string with dotted-decimal version information and
- * fill in a UVersionInfo structure with the result.
- * Definition of this function lives in putil.c
- *
- * @param versionArray The destination structure for the version information.
- * @param versionString A string with dotted-decimal version information,
- *                      with up to four non-negative number fields with
- *                      values of up to 255 each.
- * @stable ICU 2.4
- */
-U_STABLE void U_EXPORT2
-u_versionFromString(UVersionInfo versionArray, const char *versionString);
-
-/**
- * Write a string with dotted-decimal version information according
- * to the input UVersionInfo.
- * Definition of this function lives in putil.c
- *
- * @param versionArray The version information to be written as a string.
- * @param versionString A string buffer that will be filled in with
- *                      a string corresponding to the numeric version
- *                      information in versionArray.
- *                      The buffer size must be at least U_MAX_VERSION_STRING_LENGTH.
- * @stable ICU 2.4
- */
-U_STABLE void U_EXPORT2
-u_versionToString(UVersionInfo versionArray, char *versionString);
-
-/**
- * Gets the ICU release version.  The version array stores the version information
- * for ICU.  For example, release "1.3.31.2" is then represented as 0x01031F02.
- * Definition of this function lives in putil.c
- *
- * @param versionArray the version # information, the result will be filled in
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2
-u_getVersion(UVersionInfo versionArray);
-
-
-/*===========================================================================
- * ICU collation framework version information                               
- * 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
- *===========================================================================
- */
-
-/** Collation runtime version (sort key generator, strcoll). 
- * If the version is different, sortkeys for the same string could be different 
- * version 2 was in ICU 1.8.1. changed is: compression intervals, French secondary 
- * compression, generating quad level always when strength is quad or more 
- * version 4 - ICU 2.2 - tracking UCA changes, ignore completely ignorables 
- * in contractions, ignore primary ignorables after shifted 
- * version 5 - ICU 2.8 - changed implicit generation code
- * version 6 - ICU 3.4 - with the UCA 4.1, Thai tag is no longer generated or used
- * This value may change in the subsequent releases of ICU
- * @stable ICU 2.4
- */
-#define UCOL_RUNTIME_VERSION 6
-
-/** Builder code version. When this is different, same tailoring might result
- * in assigning different collation elements to code points                  
- * version 2 was in ICU 1.8.1. added support for prefixes, tweaked canonical 
- * closure. However, the tailorings should probably get same CEs assigned    
- * version 5 - ICU 2.2 - fixed some bugs, renamed some indirect values.      
- * version 6 - ICU 2.8 - fixed bug in builder that allowed 0xFF in primary values
- * version 7 - ICU 3.4 - with the UCA 4.1 Thai tag is no longer processed, complete ignorables
- *                       now break contractions
- * Backward compatible with the old rules. 
- * This value may change in the subsequent releases of ICU
- * @stable ICU 2.4
- */
-#define UCOL_BUILDER_VERSION 7
-
-/** This is the version of the tailorings 
- *  This value may change in the subsequent releases of ICU
- *  @stable ICU 2.4
- */
-#define UCOL_TAILORINGS_VERSION 1
-
-#endif