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 <source> to <target> for a
- * transliterator with ID <source>-<target>. For a transliterator
- * opened using a rule, it means forward direction rules, e.g.,
- * "A > B".
- */
- UTRANS_FORWARD,
-
- /**
- * UTRANS_REVERSE means from <target> to <source> for a
- * transliterator with ID <source>-<target>. 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 " % & ' ( ) * + , - . / : ; < = > ? _
- * \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