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:37 UTC

[39/57] [abbrv] remove couch_collate

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/coll.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/coll.h b/apps/couch_collate/platform/osx/icu/unicode/coll.h
deleted file mode 100644
index 5733f58..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/coll.h
+++ /dev/null
@@ -1,1035 +0,0 @@
-/*
-******************************************************************************
-*   Copyright (C) 1996-2008, International Business Machines                 *
-*   Corporation and others.  All Rights Reserved.                            *
-******************************************************************************
-*/
-
-/**
- * \file 
- * \brief C++ API: Collation Service.
- */
- 
-/**
-* File coll.h
-*
-* Created by: Helena Shih
-*
-* Modification History:
-*
-*  Date        Name        Description
-* 02/5/97      aliu        Modified createDefault to load collation data from
-*                          binary files when possible.  Added related methods
-*                          createCollationFromFile, chopLocale, createPathName.
-* 02/11/97     aliu        Added members addToCache, findInCache, and fgCache.
-* 02/12/97     aliu        Modified to create objects from RuleBasedCollator cache.
-*                          Moved cache out of Collation class.
-* 02/13/97     aliu        Moved several methods out of this class and into
-*                          RuleBasedCollator, with modifications.  Modified
-*                          createDefault() to call new RuleBasedCollator(Locale&)
-*                          constructor.  General clean up and documentation.
-* 02/20/97     helena      Added clone, operator==, operator!=, operator=, copy
-*                          constructor and getDynamicClassID.
-* 03/25/97     helena      Updated with platform independent data types.
-* 05/06/97     helena      Added memory allocation error detection.
-* 06/20/97     helena      Java class name change.
-* 09/03/97     helena      Added createCollationKeyValues().
-* 02/10/98     damiba      Added compare() with length as parameter.
-* 04/23/99     stephen     Removed EDecompositionMode, merged with
-*                          Normalizer::EMode.
-* 11/02/99     helena      Collator performance enhancements.  Eliminates the
-*                          UnicodeString construction and special case for NO_OP.
-* 11/23/99     srl         More performance enhancements. Inlining of
-*                          critical accessors.
-* 05/15/00     helena      Added version information API.
-* 01/29/01     synwee      Modified into a C++ wrapper which calls C apis
-*                          (ucoll.h).
-*/
-
-#ifndef COLL_H
-#define COLL_H
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_COLLATION
-
-#include "unicode/uobject.h"
-#include "unicode/ucol.h"
-#include "unicode/normlzr.h"
-#include "unicode/locid.h"
-#include "unicode/uniset.h"
-#include "unicode/umisc.h"
-
-U_NAMESPACE_BEGIN
-
-class StringEnumeration;
-
-#if !UCONFIG_NO_SERVICE
-/**
- * @stable ICU 2.6
- */
-class CollatorFactory;
-#endif
-
-/**
-* @stable ICU 2.0
-*/
-class CollationKey;
-
-/**
-* The <code>Collator</code> class performs locale-sensitive string
-* comparison.<br>
-* You use this class to build searching and sorting routines for natural
-* language text.<br>
-* <em>Important: </em>The ICU collation service has been reimplemented
-* in order to achieve better performance and UCA compliance.
-* For details, see the
-* <a href="http://source.icu-project.org/repos/icu/icuhtml/trunk/design/collation/ICU_collation_design.htm">
-* collation design document</a>.
-* <p>
-* <code>Collator</code> is an abstract base class. Subclasses implement
-* specific collation strategies. One subclass,
-* <code>RuleBasedCollator</code>, is currently provided and is applicable
-* to a wide set of languages. Other subclasses may be created to handle more
-* specialized needs.
-* <p>
-* Like other locale-sensitive classes, you can use the static factory method,
-* <code>createInstance</code>, to obtain the appropriate
-* <code>Collator</code> object for a given locale. You will only need to
-* look at the subclasses of <code>Collator</code> if you need to
-* understand the details of a particular collation strategy or if you need to
-* modify that strategy.
-* <p>
-* The following example shows how to compare two strings using the
-* <code>Collator</code> for the default locale.
-* \htmlonly<blockquote>\endhtmlonly
-* <pre>
-* \code
-* // Compare two strings in the default locale
-* UErrorCode success = U_ZERO_ERROR;
-* Collator* myCollator = Collator::createInstance(success);
-* if (myCollator->compare("abc", "ABC") < 0)
-*   cout << "abc is less than ABC" << endl;
-* else
-*   cout << "abc is greater than or equal to ABC" << endl;
-* \endcode
-* </pre>
-* \htmlonly</blockquote>\endhtmlonly
-* <p>
-* You can set a <code>Collator</code>'s <em>strength</em> property to
-* determine the level of difference considered significant in comparisons.
-* Five strengths are provided: <code>PRIMARY</code>, <code>SECONDARY</code>,
-* <code>TERTIARY</code>, <code>QUATERNARY</code> and <code>IDENTICAL</code>.
-* The exact assignment of strengths to language features is locale dependant.
-* For example, in Czech, "e" and "f" are considered primary differences,
-* while "e" and "\u00EA" are secondary differences, "e" and "E" are tertiary
-* differences and "e" and "e" are identical. The following shows how both case
-* and accents could be ignored for US English.
-* \htmlonly<blockquote>\endhtmlonly
-* <pre>
-* \code
-* //Get the Collator for US English and set its strength to PRIMARY
-* UErrorCode success = U_ZERO_ERROR;
-* Collator* usCollator = Collator::createInstance(Locale::US, success);
-* usCollator->setStrength(Collator::PRIMARY);
-* if (usCollator->compare("abc", "ABC") == 0)
-*     cout << "'abc' and 'ABC' strings are equivalent with strength PRIMARY" << endl;
-* \endcode
-* </pre>
-* \htmlonly</blockquote>\endhtmlonly
-* <p>
-* For comparing strings exactly once, the <code>compare</code> method
-* provides the best performance. When sorting a list of strings however, it
-* is generally necessary to compare each string multiple times. In this case,
-* sort keys provide better performance. The <code>getSortKey</code> methods
-* convert a string to a series of bytes that can be compared bitwise against
-* other sort keys using <code>strcmp()</code>. Sort keys are written as
-* zero-terminated byte strings. They consist of several substrings, one for
-* each collation strength level, that are delimited by 0x01 bytes.
-* If the string code points are appended for UCOL_IDENTICAL, then they are
-* processed for correct code point order comparison and may contain 0x01
-* bytes but not zero bytes.
-* </p>
-* <p>
-* An older set of APIs returns a <code>CollationKey</code> object that wraps
-* the sort key bytes instead of returning the bytes themselves.
-* Its use is deprecated, but it is still available for compatibility with
-* Java.
-* </p>
-* <p>
-* <strong>Note:</strong> <code>Collator</code>s with different Locale,
-* and CollationStrength settings will return different sort
-* orders for the same set of strings. Locales have specific collation rules,
-* and the way in which secondary and tertiary differences are taken into
-* account, for example, will result in a different sorting order for same
-* strings.
-* </p>
-* @see         RuleBasedCollator
-* @see         CollationKey
-* @see         CollationElementIterator
-* @see         Locale
-* @see         Normalizer
-* @version     2.0 11/15/01
-*/
-
-class U_I18N_API Collator : public UObject {
-public:
-
-    // Collator public enums -----------------------------------------------
-
-    /**
-     * Base letter represents a primary difference. Set comparison level to
-     * PRIMARY to ignore secondary and tertiary differences.<br>
-     * Use this to set the strength of a Collator object.<br>
-     * Example of primary difference, "abc" &lt; "abd"
-     *
-     * Diacritical differences on the same base letter represent a secondary
-     * difference. Set comparison level to SECONDARY to ignore tertiary
-     * differences. Use this to set the strength of a Collator object.<br>
-     * Example of secondary difference, "&auml;" >> "a".
-     *
-     * Uppercase and lowercase versions of the same character represents a
-     * tertiary difference.  Set comparison level to TERTIARY to include all
-     * comparison differences. Use this to set the strength of a Collator
-     * object.<br>
-     * Example of tertiary difference, "abc" &lt;&lt;&lt; "ABC".
-     *
-     * Two characters are considered "identical" when they have the same unicode
-     * spellings.<br>
-     * For example, "&auml;" == "&auml;".
-     *
-     * UCollationStrength is also used to determine the strength of sort keys
-     * generated from Collator objects.
-     * @stable ICU 2.0
-     */
-    enum ECollationStrength
-    {
-        PRIMARY    = 0,
-        SECONDARY  = 1,
-        TERTIARY   = 2,
-        QUATERNARY = 3,
-        IDENTICAL  = 15
-    };
-
-    /**
-     * LESS is returned if source string is compared to be less than target
-     * string in the compare() method.
-     * EQUAL is returned if source string is compared to be equal to target
-     * string in the compare() method.
-     * GREATER is returned if source string is compared to be greater than
-     * target string in the compare() method.
-     * @see Collator#compare
-     * @deprecated ICU 2.6. Use C enum UCollationResult defined in ucol.h
-     */
-    enum EComparisonResult
-    {
-        LESS = -1,
-        EQUAL = 0,
-        GREATER = 1
-    };
-
-    // Collator public destructor -----------------------------------------
-
-    /**
-     * Destructor
-     * @stable ICU 2.0
-     */
-    virtual ~Collator();
-
-    // Collator public methods --------------------------------------------
-
-    /**
-     * Returns true if "other" is the same as "this"
-     * @param other Collator object to be compared
-     * @return true if other is the same as this.
-     * @stable ICU 2.0
-     */
-    virtual UBool operator==(const Collator& other) const;
-
-    /**
-     * Returns true if "other" is not the same as "this".
-     * @param other Collator object to be compared
-     * @return true if other is not the same as this.
-     * @stable ICU 2.0
-     */
-    virtual UBool operator!=(const Collator& other) const;
-
-    /**
-     * Makes a shallow copy of the current object.
-     * @return a copy of this object
-     * @stable ICU 2.0
-     */
-    virtual Collator* clone(void) const = 0;
-
-    /**
-     * Creates the Collator object for the current default locale.
-     * The default locale is determined by Locale::getDefault.
-     * The UErrorCode& err parameter is used to return status information to the user.
-     * To check whether the construction succeeded or not, you should check the
-     * value of U_SUCCESS(err).  If you wish more detailed information, you can
-     * check for informational error results which still indicate success.
-     * U_USING_FALLBACK_ERROR indicates that a fall back locale was used. For
-     * example, 'de_CH' was requested, but nothing was found there, so 'de' was
-     * used. U_USING_DEFAULT_ERROR indicates that the default locale data was
-     * used; neither the requested locale nor any of its fall back locales
-     * could be found.
-     * The caller owns the returned object and is responsible for deleting it.
-     *
-     * @param err    the error code status.
-     * @return       the collation object of the default locale.(for example, en_US)
-     * @see Locale#getDefault
-     * @stable ICU 2.0
-     */
-    static Collator* U_EXPORT2 createInstance(UErrorCode&  err);
-
-    /**
-     * Gets the table-based collation object for the desired locale. The
-     * resource of the desired locale will be loaded by ResourceLoader.
-     * Locale::ENGLISH is the base collation table and all other languages are
-     * built on top of it with additional language-specific modifications.
-     * The UErrorCode& err parameter is used to return status information to the user.
-     * To check whether the construction succeeded or not, you should check
-     * the value of U_SUCCESS(err).  If you wish more detailed information, you
-     * can check for informational error results which still indicate success.
-     * U_USING_FALLBACK_ERROR indicates that a fall back locale was used.  For
-     * example, 'de_CH' was requested, but nothing was found there, so 'de' was
-     * used.  U_USING_DEFAULT_ERROR indicates that the default locale data was
-     * used; neither the requested locale nor any of its fall back locales
-     * could be found.
-     * The caller owns the returned object and is responsible for deleting it.
-     * @param loc    The locale ID for which to open a collator.
-     * @param err    the error code status.
-     * @return       the created table-based collation object based on the desired
-     *               locale.
-     * @see Locale
-     * @see ResourceLoader
-     * @stable ICU 2.2
-     */
-    static Collator* U_EXPORT2 createInstance(const Locale& loc, UErrorCode& err);
-
-#ifdef U_USE_COLLATION_OBSOLETE_2_6
-    /**
-     * Create a Collator with a specific version.
-     * This is the same as createInstance(loc, err) except that getVersion() of
-     * the returned object is guaranteed to be the same as the version
-     * parameter.
-     * This is designed to be used to open the same collator for a given
-     * locale even when ICU is updated.
-     * The same locale and version guarantees the same sort keys and
-     * comparison results.
-     * <p>
-     * Note: this API will be removed in a future release.  Use
-     * <tt>createInstance(const Locale&, UErrorCode&) instead.</tt></p>
-     *
-     * @param loc The locale ID for which to open a collator.
-     * @param version The requested collator version.
-     * @param err A reference to a UErrorCode,
-     *            must not indicate a failure before calling this function.
-     * @return A pointer to a Collator, or 0 if an error occurred
-     *         or a collator with the requested version is not available.
-     *
-     * @see getVersion
-     * @obsolete ICU 2.6
-     */
-    static Collator *createInstance(const Locale &loc, UVersionInfo version, UErrorCode &err);
-#endif
-
-    /**
-     * The comparison function compares the character data stored in two
-     * different strings. Returns information about whether a string is less
-     * than, greater than or equal to another string.
-     * @param source the source string to be compared with.
-     * @param target the string that is to be compared with the source string.
-     * @return Returns a byte value. GREATER if source is greater
-     * than target; EQUAL if source is equal to target; LESS if source is less
-     * than target
-     * @deprecated ICU 2.6 use the overload with UErrorCode &
-     */
-    virtual EComparisonResult compare(const UnicodeString& source,
-                                      const UnicodeString& target) const;
-
-    /**
-     * The comparison function compares the character data stored in two
-     * different strings. Returns information about whether a string is less
-     * than, greater than or equal to another string.
-     * @param source the source string to be compared with.
-     * @param target the string that is to be compared with the source string.
-     * @param status possible error code
-     * @return Returns an enum value. UCOL_GREATER if source is greater
-     * than target; UCOL_EQUAL if source is equal to target; UCOL_LESS if source is less
-     * than target
-     * @stable ICU 2.6
-     */
-    virtual UCollationResult compare(const UnicodeString& source,
-                                      const UnicodeString& target,
-                                      UErrorCode &status) const = 0;
-
-    /**
-     * Does the same thing as compare but limits the comparison to a specified
-     * length
-     * @param source the source string to be compared with.
-     * @param target the string that is to be compared with the source string.
-     * @param length the length the comparison is limited to
-     * @return Returns a byte value. GREATER if source (up to the specified
-     *         length) is greater than target; EQUAL if source (up to specified
-     *         length) is equal to target; LESS if source (up to the specified
-     *         length) is less  than target.
-     * @deprecated ICU 2.6 use the overload with UErrorCode &
-     */
-    virtual EComparisonResult compare(const UnicodeString& source,
-                                      const UnicodeString& target,
-                                      int32_t length) const;
-
-    /**
-     * Does the same thing as compare but limits the comparison to a specified
-     * length
-     * @param source the source string to be compared with.
-     * @param target the string that is to be compared with the source string.
-     * @param length the length the comparison is limited to
-     * @param status possible error code
-     * @return Returns an enum value. UCOL_GREATER if source (up to the specified
-     *         length) is greater than target; UCOL_EQUAL if source (up to specified
-     *         length) is equal to target; UCOL_LESS if source (up to the specified
-     *         length) is less  than target.
-     * @stable ICU 2.6
-     */
-    virtual UCollationResult compare(const UnicodeString& source,
-                                      const UnicodeString& target,
-                                      int32_t length,
-                                      UErrorCode &status) const = 0;
-
-    /**
-     * The comparison function compares the character data stored in two
-     * different string arrays. Returns information about whether a string array
-     * is less than, greater than or equal to another string array.
-     * @param source the source string array to be compared with.
-     * @param sourceLength the length of the source string array.  If this value
-     *        is equal to -1, the string array is null-terminated.
-     * @param target the string that is to be compared with the source string.
-     * @param targetLength the length of the target string array.  If this value
-     *        is equal to -1, the string array is null-terminated.
-     * @return Returns a byte value. GREATER if source is greater than target;
-     *         EQUAL if source is equal to target; LESS if source is less than
-     *         target
-     * @deprecated ICU 2.6 use the overload with UErrorCode &
-     */
-    virtual EComparisonResult compare(const UChar* source, int32_t sourceLength,
-                                      const UChar* target, int32_t targetLength)
-                                      const;
-
-    /**
-     * The comparison function compares the character data stored in two
-     * different string arrays. Returns information about whether a string array
-     * is less than, greater than or equal to another string array.
-     * @param source the source string array to be compared with.
-     * @param sourceLength the length of the source string array.  If this value
-     *        is equal to -1, the string array is null-terminated.
-     * @param target the string that is to be compared with the source string.
-     * @param targetLength the length of the target string array.  If this value
-     *        is equal to -1, the string array is null-terminated.
-     * @param status possible error code
-     * @return Returns an enum value. UCOL_GREATER if source is greater
-     * than target; UCOL_EQUAL if source is equal to target; UCOL_LESS if source is less
-     * than target
-     * @stable ICU 2.6
-     */
-    virtual UCollationResult compare(const UChar* source, int32_t sourceLength,
-                                      const UChar* target, int32_t targetLength,
-                                      UErrorCode &status) const = 0;
-
-    /**
-     * Transforms the string into a series of characters that can be compared
-     * with CollationKey::compareTo. It is not possible to restore the original
-     * string from the chars in the sort key.  The generated sort key handles
-     * only a limited number of ignorable characters.
-     * <p>Use CollationKey::equals or CollationKey::compare to compare the
-     * generated sort keys.
-     * If the source string is null, a null collation key will be returned.
-     * @param source the source string to be transformed into a sort key.
-     * @param key the collation key to be filled in
-     * @param status the error code status.
-     * @return the collation key of the string based on the collation rules.
-     * @see CollationKey#compare
-     * @deprecated ICU 2.8 Use getSortKey(...) instead
-     */
-    virtual CollationKey& getCollationKey(const UnicodeString&  source,
-                                          CollationKey& key,
-                                          UErrorCode& status) const = 0;
-
-    /**
-     * Transforms the string into a series of characters that can be compared
-     * with CollationKey::compareTo. It is not possible to restore the original
-     * string from the chars in the sort key.  The generated sort key handles
-     * only a limited number of ignorable characters.
-     * <p>Use CollationKey::equals or CollationKey::compare to compare the
-     * generated sort keys.
-     * <p>If the source string is null, a null collation key will be returned.
-     * @param source the source string to be transformed into a sort key.
-     * @param sourceLength length of the collation key
-     * @param key the collation key to be filled in
-     * @param status the error code status.
-     * @return the collation key of the string based on the collation rules.
-     * @see CollationKey#compare
-     * @deprecated ICU 2.8 Use getSortKey(...) instead
-     */
-    virtual CollationKey& getCollationKey(const UChar*source,
-                                          int32_t sourceLength,
-                                          CollationKey& key,
-                                          UErrorCode& status) const = 0;
-    /**
-     * Generates the hash code for the collation object
-     * @stable ICU 2.0
-     */
-    virtual int32_t hashCode(void) const = 0;
-
-    /**
-     * Gets the locale of the Collator
-     *
-     * @param type can be either requested, valid or actual locale. For more
-     *             information see the definition of ULocDataLocaleType in
-     *             uloc.h
-     * @param status the error code status.
-     * @return locale where the collation data lives. If the collator
-     *         was instantiated from rules, locale is empty.
-     * @deprecated ICU 2.8 This API is under consideration for revision
-     * in ICU 3.0.
-     */
-    virtual const Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const = 0;
-
-    /**
-     * Convenience method for comparing two strings based on the collation rules.
-     * @param source the source string to be compared with.
-     * @param target the target string to be compared with.
-     * @return true if the first string is greater than the second one,
-     *         according to the collation rules. false, otherwise.
-     * @see Collator#compare
-     * @stable ICU 2.0
-     */
-    UBool greater(const UnicodeString& source, const UnicodeString& target)
-                  const;
-
-    /**
-     * Convenience method for comparing two strings based on the collation rules.
-     * @param source the source string to be compared with.
-     * @param target the target string to be compared with.
-     * @return true if the first string is greater than or equal to the second
-     *         one, according to the collation rules. false, otherwise.
-     * @see Collator#compare
-     * @stable ICU 2.0
-     */
-    UBool greaterOrEqual(const UnicodeString& source,
-                         const UnicodeString& target) const;
-
-    /**
-     * Convenience method for comparing two strings based on the collation rules.
-     * @param source the source string to be compared with.
-     * @param target the target string to be compared with.
-     * @return true if the strings are equal according to the collation rules.
-     *         false, otherwise.
-     * @see Collator#compare
-     * @stable ICU 2.0
-     */
-    UBool equals(const UnicodeString& source, const UnicodeString& target) const;
-
-    /**
-     * Determines the minimum strength that will be use in comparison or
-     * transformation.
-     * <p>E.g. with strength == SECONDARY, the tertiary difference is ignored
-     * <p>E.g. with strength == PRIMARY, the secondary and tertiary difference
-     * are ignored.
-     * @return the current comparison level.
-     * @see Collator#setStrength
-     * @deprecated ICU 2.6 Use getAttribute(UCOL_STRENGTH...) instead
-     */
-    virtual ECollationStrength getStrength(void) const = 0;
-
-    /**
-     * Sets the minimum strength to be used in comparison or transformation.
-     * <p>Example of use:
-     * <pre>
-     *  \code
-     *  UErrorCode status = U_ZERO_ERROR;
-     *  Collator*myCollation = Collator::createInstance(Locale::US, status);
-     *  if (U_FAILURE(status)) return;
-     *  myCollation->setStrength(Collator::PRIMARY);
-     *  // result will be "abc" == "ABC"
-     *  // tertiary differences will be ignored
-     *  Collator::ComparisonResult result = myCollation->compare("abc", "ABC");
-     * \endcode
-     * </pre>
-     * @see Collator#getStrength
-     * @param newStrength the new comparison level.
-     * @deprecated ICU 2.6 Use setAttribute(UCOL_STRENGTH...) instead
-     */
-    virtual void setStrength(ECollationStrength newStrength) = 0;
-
-    /**
-     * Get name of the object for the desired Locale, in the desired langauge
-     * @param objectLocale must be from getAvailableLocales
-     * @param displayLocale specifies the desired locale for output
-     * @param name the fill-in parameter of the return value
-     * @return display-able name of the object for the object locale in the
-     *         desired language
-     * @stable ICU 2.0
-     */
-    static UnicodeString& U_EXPORT2 getDisplayName(const Locale& objectLocale,
-                                         const Locale& displayLocale,
-                                         UnicodeString& name);
-
-    /**
-    * Get name of the object for the desired Locale, in the langauge of the
-    * default locale.
-    * @param objectLocale must be from getAvailableLocales
-    * @param name the fill-in parameter of the return value
-    * @return name of the object for the desired locale in the default language
-    * @stable ICU 2.0
-    */
-    static UnicodeString& U_EXPORT2 getDisplayName(const Locale& objectLocale,
-                                         UnicodeString& name);
-
-    /**
-     * Get the set of Locales for which Collations are installed.
-     *
-     * <p>Note this does not include locales supported by registered collators.
-     * If collators might have been registered, use the overload of getAvailableLocales
-     * that returns a StringEnumeration.</p>
-     *
-     * @param count the output parameter of number of elements in the locale list
-     * @return the list of available locales for which collations are installed
-     * @stable ICU 2.0
-     */
-    static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
-
-    /**
-     * Return a StringEnumeration over the locales available at the time of the call,
-     * including registered locales.  If a severe error occurs (such as out of memory
-     * condition) this will return null. If there is no locale data, an empty enumeration
-     * will be returned.
-     * @return a StringEnumeration over the locales available at the time of the call
-     * @stable ICU 2.6
-     */
-    static StringEnumeration* U_EXPORT2 getAvailableLocales(void);
-
-    /**
-     * Create a string enumerator of all possible keywords that are relevant to
-     * collation. At this point, the only recognized keyword for this
-     * service is "collation".
-     * @param status input-output error code
-     * @return a string enumeration over locale strings. The caller is
-     * responsible for closing the result.
-     * @stable ICU 3.0
-     */
-    static StringEnumeration* U_EXPORT2 getKeywords(UErrorCode& status);
-
-    /**
-     * Given a keyword, create a string enumeration of all values
-     * for that keyword that are currently in use.
-     * @param keyword a particular keyword as enumerated by
-     * ucol_getKeywords. If any other keyword is passed in, status is set
-     * to U_ILLEGAL_ARGUMENT_ERROR.
-     * @param status input-output error code
-     * @return a string enumeration over collation keyword values, or NULL
-     * upon error. The caller is responsible for deleting the result.
-     * @stable ICU 3.0
-     */
-    static StringEnumeration* U_EXPORT2 getKeywordValues(const char *keyword, UErrorCode& status);
-
-    /**
-     * Return the functionally equivalent locale for the given
-     * requested locale, with respect to given keyword, for the
-     * collation service.  If two locales return the same result, then
-     * collators instantiated for these locales will behave
-     * equivalently.  The converse is not always true; two collators
-     * may in fact be equivalent, but return different results, due to
-     * internal details.  The return result has no other meaning than
-     * that stated above, and implies nothing as to the relationship
-     * between the two locales.  This is intended for use by
-     * applications who wish to cache collators, or otherwise reuse
-     * collators when possible.  The functional equivalent may change
-     * over time.  For more information, please see the <a
-     * href="http://icu-project.org/userguide/locale.html#services">
-     * Locales and Services</a> section of the ICU User Guide.
-     * @param keyword a particular keyword as enumerated by
-     * ucol_getKeywords.
-     * @param locale the requested locale
-     * @param isAvailable reference to a fillin parameter that
-     * indicates whether the requested locale was 'available' to the
-     * collation service. A locale is defined as 'available' if it
-     * physically exists within the collation locale data.
-     * @param status reference to input-output error code
-     * @return the functionally equivalent collation locale, or the root
-     * locale upon error.
-     * @stable ICU 3.0
-     */
-    static Locale U_EXPORT2 getFunctionalEquivalent(const char* keyword, const Locale& locale,
-                                          UBool& isAvailable, UErrorCode& status);
-
-#if !UCONFIG_NO_SERVICE
-    /**
-     * Register a new Collator.  The collator will be adopted.
-     * @param toAdopt the Collator instance to be adopted
-     * @param locale the locale with which the collator will be associated
-     * @param status the in/out status code, no special meanings are assigned
-     * @return a registry key that can be used to unregister this collator
-     * @stable ICU 2.6
-     */
-    static URegistryKey U_EXPORT2 registerInstance(Collator* toAdopt, const Locale& locale, UErrorCode& status);
-
-    /**
-     * Register a new CollatorFactory.  The factory will be adopted.
-     * @param toAdopt the CollatorFactory instance to be adopted
-     * @param status the in/out status code, no special meanings are assigned
-     * @return a registry key that can be used to unregister this collator
-     * @stable ICU 2.6
-     */
-    static URegistryKey U_EXPORT2 registerFactory(CollatorFactory* toAdopt, UErrorCode& status);
-
-    /**
-     * Unregister a previously-registered Collator or CollatorFactory
-     * using the key returned from the register call.  Key becomes
-     * invalid after a successful call and should not be used again.
-     * The object corresponding to the key will be deleted.
-     * @param key the registry key returned by a previous call to registerInstance
-     * @param status the in/out status code, no special meanings are assigned
-     * @return TRUE if the collator for the key was successfully unregistered
-     * @stable ICU 2.6
-     */
-    static UBool U_EXPORT2 unregister(URegistryKey key, UErrorCode& status);
-#endif /* UCONFIG_NO_SERVICE */
-
-    /**
-     * Gets the version information for a Collator.
-     * @param info the version # information, the result will be filled in
-     * @stable ICU 2.0
-     */
-    virtual void getVersion(UVersionInfo info) const = 0;
-
-    /**
-     * Returns a unique class ID POLYMORPHICALLY. Pure virtual method.
-     * This method is to implement a simple version of RTTI, since not all C++
-     * compilers support genuine RTTI. Polymorphic operator==() and clone()
-     * methods call this method.
-     * @return The class ID for this object. All objects of a given class have
-     *         the same class ID.  Objects of other classes have different class
-     *         IDs.
-     * @stable ICU 2.0
-     */
-    virtual UClassID getDynamicClassID(void) const = 0;
-
-    /**
-     * Universal attribute setter
-     * @param attr attribute type
-     * @param value attribute value
-     * @param status to indicate whether the operation went on smoothly or
-     *        there were errors
-     * @stable ICU 2.2
-     */
-    virtual void setAttribute(UColAttribute attr, UColAttributeValue value,
-                              UErrorCode &status) = 0;
-
-    /**
-     * Universal attribute getter
-     * @param attr attribute type
-     * @param status to indicate whether the operation went on smoothly or
-     *        there were errors
-     * @return attribute value
-     * @stable ICU 2.2
-     */
-    virtual UColAttributeValue getAttribute(UColAttribute attr,
-                                            UErrorCode &status) = 0;
-
-    /**
-     * Sets the variable top to a collation element value of a string supplied.
-     * @param varTop one or more (if contraction) UChars to which the variable top should be set
-     * @param len length of variable top string. If -1 it is considered to be zero terminated.
-     * @param status error code. If error code is set, the return value is undefined. Errors set by this function are: <br>
-     *    U_CE_NOT_FOUND_ERROR if more than one character was passed and there is no such a contraction<br>
-     *    U_PRIMARY_TOO_LONG_ERROR if the primary for the variable top has more than two bytes
-     * @return a 32 bit value containing the value of the variable top in upper 16 bits. Lower 16 bits are undefined
-     * @stable ICU 2.0
-     */
-    virtual uint32_t setVariableTop(const UChar *varTop, int32_t len, UErrorCode &status) = 0;
-
-    /**
-     * Sets the variable top to a collation element value of a string supplied.
-     * @param varTop an UnicodeString size 1 or more (if contraction) of UChars to which the variable top should be set
-     * @param status error code. If error code is set, the return value is undefined. Errors set by this function are: <br>
-     *    U_CE_NOT_FOUND_ERROR if more than one character was passed and there is no such a contraction<br>
-     *    U_PRIMARY_TOO_LONG_ERROR if the primary for the variable top has more than two bytes
-     * @return a 32 bit value containing the value of the variable top in upper 16 bits. Lower 16 bits are undefined
-     * @stable ICU 2.0
-     */
-    virtual uint32_t setVariableTop(const UnicodeString varTop, UErrorCode &status) = 0;
-
-    /**
-     * Sets the variable top to a collation element value supplied. Variable top is set to the upper 16 bits.
-     * Lower 16 bits are ignored.
-     * @param varTop CE value, as returned by setVariableTop or ucol)getVariableTop
-     * @param status error code (not changed by function)
-     * @stable ICU 2.0
-     */
-    virtual void setVariableTop(const uint32_t varTop, UErrorCode &status) = 0;
-
-    /**
-     * Gets the variable top value of a Collator.
-     * Lower 16 bits are undefined and should be ignored.
-     * @param status error code (not changed by function). If error code is set, the return value is undefined.
-     * @stable ICU 2.0
-     */
-    virtual uint32_t getVariableTop(UErrorCode &status) const = 0;
-
-    /**
-     * Get an UnicodeSet that contains all the characters and sequences
-     * tailored in this collator.
-     * @param status      error code of the operation
-     * @return a pointer to a UnicodeSet object containing all the
-     *         code points and sequences that may sort differently than
-     *         in the UCA. The object must be disposed of by using delete
-     * @stable ICU 2.4
-     */
-    virtual UnicodeSet *getTailoredSet(UErrorCode &status) const;
-
-
-    /**
-     * Thread safe cloning operation
-     * @return pointer to the new clone, user should remove it.
-     * @stable ICU 2.2
-     */
-    virtual Collator* safeClone(void) = 0;
-
-    /**
-     * Get the sort key as an array of bytes from an UnicodeString.
-     * Sort key byte arrays are zero-terminated and can be compared using
-     * strcmp().
-     * @param source string to be processed.
-     * @param result buffer to store result in. If NULL, number of bytes needed
-     *        will be returned.
-     * @param resultLength length of the result buffer. If if not enough the
-     *        buffer will be filled to capacity.
-     * @return Number of bytes needed for storing the sort key
-     * @stable ICU 2.2
-     */
-    virtual int32_t getSortKey(const UnicodeString& source,
-                              uint8_t* result,
-                              int32_t resultLength) const = 0;
-
-    /**
-     * Get the sort key as an array of bytes from an UChar buffer.
-     * Sort key byte arrays are zero-terminated and can be compared using
-     * strcmp().
-     * @param source string to be processed.
-     * @param sourceLength length of string to be processed.
-     *        If -1, the string is 0 terminated and length will be decided by the
-     *        function.
-     * @param result buffer to store result in. If NULL, number of bytes needed
-     *        will be returned.
-     * @param resultLength length of the result buffer. If if not enough the
-     *        buffer will be filled to capacity.
-     * @return Number of bytes needed for storing the sort key
-     * @stable ICU 2.2
-     */
-    virtual int32_t getSortKey(const UChar*source, int32_t sourceLength,
-                               uint8_t*result, int32_t resultLength) const = 0;
-
-    /**
-     * Produce a bound for a given sortkey and a number of levels.
-     * Return value is always the number of bytes needed, regardless of
-     * whether the result buffer was big enough or even valid.<br>
-     * Resulting bounds can be used to produce a range of strings that are
-     * between upper and lower bounds. For example, if bounds are produced
-     * for a sortkey of string "smith", strings between upper and lower
-     * bounds with one level would include "Smith", "SMITH", "sMiTh".<br>
-     * There are two upper bounds that can be produced. If UCOL_BOUND_UPPER
-     * is produced, strings matched would be as above. However, if bound
-     * produced using UCOL_BOUND_UPPER_LONG is used, the above example will
-     * also match "Smithsonian" and similar.<br>
-     * For more on usage, see example in cintltst/capitst.c in procedure
-     * TestBounds.
-     * Sort keys may be compared using <TT>strcmp</TT>.
-     * @param source The source sortkey.
-     * @param sourceLength The length of source, or -1 if null-terminated.
-     *                     (If an unmodified sortkey is passed, it is always null
-     *                      terminated).
-     * @param boundType Type of bound required. It can be UCOL_BOUND_LOWER, which
-     *                  produces a lower inclusive bound, UCOL_BOUND_UPPER, that
-     *                  produces upper bound that matches strings of the same length
-     *                  or UCOL_BOUND_UPPER_LONG that matches strings that have the
-     *                  same starting substring as the source string.
-     * @param noOfLevels  Number of levels required in the resulting bound (for most
-     *                    uses, the recommended value is 1). See users guide for
-     *                    explanation on number of levels a sortkey can have.
-     * @param result A pointer to a buffer to receive the resulting sortkey.
-     * @param resultLength The maximum size of result.
-     * @param status Used for returning error code if something went wrong. If the
-     *               number of levels requested is higher than the number of levels
-     *               in the source key, a warning (U_SORT_KEY_TOO_SHORT_WARNING) is
-     *               issued.
-     * @return The size needed to fully store the bound.
-     * @see ucol_keyHashCode
-     * @stable ICU 2.1
-     */
-    static int32_t U_EXPORT2 getBound(const uint8_t       *source,
-            int32_t             sourceLength,
-            UColBoundMode       boundType,
-            uint32_t            noOfLevels,
-            uint8_t             *result,
-            int32_t             resultLength,
-            UErrorCode          &status);
-
-
-protected:
-
-    // Collator protected constructors -------------------------------------
-
-    /**
-    * Default constructor.
-    * Constructor is different from the old default Collator constructor.
-    * The task for determing the default collation strength and normalization
-    * mode is left to the child class.
-    * @stable ICU 2.0
-    */
-    Collator();
-
-    /**
-    * Constructor.
-    * Empty constructor, does not handle the arguments.
-    * This constructor is done for backward compatibility with 1.7 and 1.8.
-    * The task for handling the argument collation strength and normalization
-    * mode is left to the child class.
-    * @param collationStrength collation strength
-    * @param decompositionMode
-    * @deprecated ICU 2.4. Subclasses should use the default constructor
-    * instead and handle the strength and normalization mode themselves.
-    */
-    Collator(UCollationStrength collationStrength,
-             UNormalizationMode decompositionMode);
-
-    /**
-    * Copy constructor.
-    * @param other Collator object to be copied from
-    * @stable ICU 2.0
-    */
-    Collator(const Collator& other);
-
-    // Collator protected methods -----------------------------------------
-
-
-   /**
-    * Used internally by registraton to define the requested and valid locales.
-    * @param requestedLocale the requsted locale
-    * @param validLocale the valid locale
-    * @internal
-    */
-    virtual void setLocales(const Locale& requestedLocale, const Locale& validLocale, const Locale& actualLocale);
-
-public:
-#if !UCONFIG_NO_SERVICE
-    /**
-     * used only by ucol_open, not for public use
-     * @internal
-     */
-    static UCollator* createUCollator(const char* loc, UErrorCode* status);
-#endif
-private:
-    /**
-     * Assignment operator. Private for now.
-     * @internal
-     */
-    Collator& operator=(const Collator& other);
-
-    friend class CFactory;
-    friend class SimpleCFactory;
-    friend class ICUCollatorFactory;
-    friend class ICUCollatorService;
-    static Collator* makeInstance(const Locale& desiredLocale,
-                                  UErrorCode& status);
-
-    // Collator private data members ---------------------------------------
-
-    /*
-    synwee : removed as attributes to be handled by child class
-    UCollationStrength  strength;
-    Normalizer::EMode  decmp;
-    */
-    /* This is useless information */
-/*  static const UVersionInfo fVersion;*/
-};
-
-#if !UCONFIG_NO_SERVICE
-/**
- * A factory, used with registerFactory, the creates multiple collators and provides
- * display names for them.  A factory supports some number of locales-- these are the
- * locales for which it can create collators.  The factory can be visible, in which
- * case the supported locales will be enumerated by getAvailableLocales, or invisible,
- * in which they are not.  Invisible locales are still supported, they are just not
- * listed by getAvailableLocales.
- * <p>
- * If standard locale display names are sufficient, Collator instances can
- * be registered using registerInstance instead.</p>
- * <p>
- * Note: if the collators are to be used from C APIs, they must be instances
- * of RuleBasedCollator.</p>
- *
- * @stable ICU 2.6
- */
-class U_I18N_API CollatorFactory : public UObject {
-public:
-
-    /**
-     * Destructor
-     * @stable ICU 3.0
-     */
-    virtual ~CollatorFactory();
-
-    /**
-     * Return true if this factory is visible.  Default is true.
-     * If not visible, the locales supported by this factory will not
-     * be listed by getAvailableLocales.
-     * @return true if the factory is visible.
-     * @stable ICU 2.6
-     */
-    virtual UBool visible(void) const;
-
-    /**
-     * Return a collator for the provided locale.  If the locale
-     * is not supported, return NULL.
-     * @param loc the locale identifying the collator to be created.
-     * @return a new collator if the locale is supported, otherwise NULL.
-     * @stable ICU 2.6
-     */
-    virtual Collator* createCollator(const Locale& loc) = 0;
-
-    /**
-     * Return the name of the collator for the objectLocale, localized for the displayLocale.
-     * If objectLocale is not supported, or the factory is not visible, set the result string
-     * to bogus.
-     * @param objectLocale the locale identifying the collator
-     * @param displayLocale the locale for which the display name of the collator should be localized
-     * @param result an output parameter for the display name, set to bogus if not supported.
-     * @return the display name
-     * @stable ICU 2.6
-     */
-    virtual  UnicodeString& getDisplayName(const Locale& objectLocale,
-                                           const Locale& displayLocale,
-                                           UnicodeString& result);
-
-    /**
-     * Return an array of all the locale names directly supported by this factory.
-     * The number of names is returned in count.  This array is owned by the factory.
-     * Its contents must never change.
-     * @param count output parameter for the number of locales supported by the factory
-     * @param status the in/out error code
-     * @return a pointer to an array of count UnicodeStrings.
-     * @stable ICU 2.6
-     */
-    virtual const UnicodeString * getSupportedIDs(int32_t &count, UErrorCode& status) = 0;
-};
-#endif /* UCONFIG_NO_SERVICE */
-
-// Collator inline methods -----------------------------------------------
-
-U_NAMESPACE_END
-
-#endif /* #if !UCONFIG_NO_COLLATION */
-
-#endif

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/curramt.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/curramt.h b/apps/couch_collate/platform/osx/icu/unicode/curramt.h
deleted file mode 100644
index c33e6f1..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/curramt.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-**********************************************************************
-* Copyright (c) 2004-2006, International Business Machines
-* Corporation and others.  All Rights Reserved.
-**********************************************************************
-* Author: Alan Liu
-* Created: April 26, 2004
-* Since: ICU 3.0
-**********************************************************************
-*/
-#ifndef __CURRENCYAMOUNT_H__
-#define __CURRENCYAMOUNT_H__
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/measure.h"
-#include "unicode/currunit.h"
-
-/**
- * \file 
- * \brief C++ API: Currency Amount Object.
- */
- 
-U_NAMESPACE_BEGIN
-
-/**
- *
- * A currency together with a numeric amount, such as 200 USD.
- *
- * @author Alan Liu
- * @stable ICU 3.0
- */
-class U_I18N_API CurrencyAmount: public Measure {
- public:
-    /**
-     * Construct an object with the given numeric amount and the given
-     * ISO currency code.
-     * @param amount a numeric object; amount.isNumeric() must be TRUE
-     * @param isoCode the 3-letter ISO 4217 currency code; must not be
-     * NULL and must have length 3
-     * @param ec input-output error code. If the amount or the isoCode
-     * is invalid, then this will be set to a failing value.
-     * @stable ICU 3.0
-     */
-    CurrencyAmount(const Formattable& amount, const UChar* isoCode,
-                   UErrorCode &ec);
-
-    /**
-     * Construct an object with the given numeric amount and the given
-     * ISO currency code.
-     * @param amount the amount of the given currency
-     * @param isoCode the 3-letter ISO 4217 currency code; must not be
-     * NULL and must have length 3
-     * @param ec input-output error code. If the isoCode is invalid,
-     * then this will be set to a failing value.
-     * @stable ICU 3.0
-     */
-    CurrencyAmount(double amount, const UChar* isoCode,
-                   UErrorCode &ec);
-
-    /**
-     * Copy constructor
-     * @stable ICU 3.0
-     */
-    CurrencyAmount(const CurrencyAmount& other);
- 
-    /**
-     * Assignment operator
-     * @stable ICU 3.0
-     */
-    CurrencyAmount& operator=(const CurrencyAmount& other);
-
-    /**
-     * Return a polymorphic clone of this object.  The result will
-     * have the same class as returned by getDynamicClassID().
-     * @stable ICU 3.0
-     */
-    virtual UObject* clone() const;
-
-    /**
-     * Destructor
-     * @stable ICU 3.0
-     */
-    virtual ~CurrencyAmount();
-    
-    /**
-     * Returns a unique class ID for this object POLYMORPHICALLY.
-     * This method implements a simple form of RTTI used by ICU.
-     * @return The class ID for this object. All objects of a given
-     * class have the same class ID.  Objects of other classes have
-     * different class IDs.
-     * @stable ICU 3.0
-     */
-    virtual UClassID getDynamicClassID() const;
-
-    /**
-     * Returns the class ID for this class. This is used to compare to
-     * the return value of getDynamicClassID().
-     * @return The class ID for all objects of this class.
-     * @stable ICU 3.0
-     */
-    static UClassID U_EXPORT2 getStaticClassID();
-
-    /**
-     * Return the currency unit object of this object.
-     * @stable ICU 3.0
-     */
-    inline const CurrencyUnit& getCurrency() const;
-
-    /**
-     * Return the ISO currency code of this object.
-     * @stable ICU 3.0
-     */
-    inline const UChar* getISOCurrency() const;
-};
-
-inline const CurrencyUnit& CurrencyAmount::getCurrency() const {
-    return (const CurrencyUnit&) getUnit();
-}
-
-inline const UChar* CurrencyAmount::getISOCurrency() const {
-    return getCurrency().getISOCurrency();
-}
-
-U_NAMESPACE_END
-
-#endif // !UCONFIG_NO_FORMATTING
-#endif // __CURRENCYAMOUNT_H__

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/currunit.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/currunit.h b/apps/couch_collate/platform/osx/icu/unicode/currunit.h
deleted file mode 100644
index ecd9411..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/currunit.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
-**********************************************************************
-* Copyright (c) 2004-2006, International Business Machines
-* Corporation and others.  All Rights Reserved.
-**********************************************************************
-* Author: Alan Liu
-* Created: April 26, 2004
-* Since: ICU 3.0
-**********************************************************************
-*/
-#ifndef __CURRENCYUNIT_H__
-#define __CURRENCYUNIT_H__
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/measunit.h"
-
-/**
- * \file 
- * \brief C++ API: Currency Unit Information.
- */
- 
-U_NAMESPACE_BEGIN
-
-/**
- * A unit of currency, such as USD (U.S. dollars) or JPY (Japanese
- * yen).  This class is a thin wrapper over a UChar string that
- * subclasses MeasureUnit, for use with Measure and MeasureFormat.
- *
- * @author Alan Liu
- * @stable ICU 3.0
- */
-class U_I18N_API CurrencyUnit: public MeasureUnit {
- public:
-    /**
-     * Construct an object with the given ISO currency code.
-     * @param isoCode the 3-letter ISO 4217 currency code; must not be
-     * NULL and must have length 3
-     * @param ec input-output error code. If the isoCode is invalid,
-     * then this will be set to a failing value.
-     * @stable ICU 3.0
-     */
-    CurrencyUnit(const UChar* isoCode, UErrorCode &ec);
-
-    /**
-     * Copy constructor
-     * @stable ICU 3.0
-     */
-    CurrencyUnit(const CurrencyUnit& other);
-
-    /**
-     * Assignment operator
-     * @stable ICU 3.0
-     */
-    CurrencyUnit& operator=(const CurrencyUnit& other);
-
-    /**
-     * Return a polymorphic clone of this object.  The result will
-     * have the same class as returned by getDynamicClassID().
-     * @stable ICU 3.0
-     */
-    virtual UObject* clone() const;
-
-    /**
-     * Destructor
-     * @stable ICU 3.0
-     */
-    virtual ~CurrencyUnit();
-
-    /**
-     * Equality operator.  Return true if this object is equal
-     * to the given object.
-     * @stable ICU 3.0
-     */
-    UBool operator==(const UObject& other) const;
-
-    /**
-     * Returns a unique class ID for this object POLYMORPHICALLY.
-     * This method implements a simple form of RTTI used by ICU.
-     * @return The class ID for this object. All objects of a given
-     * class have the same class ID.  Objects of other classes have
-     * different class IDs.
-     * @stable ICU 3.0
-     */
-    virtual UClassID getDynamicClassID() const;
-
-    /**
-     * Returns the class ID for this class. This is used to compare to
-     * the return value of getDynamicClassID().
-     * @return The class ID for all objects of this class.
-     * @stable ICU 3.0
-     */
-    static UClassID U_EXPORT2 getStaticClassID();
-
-    /**
-     * Return the ISO currency code of this object.
-     * @stable ICU 3.0
-     */
-    inline const UChar* getISOCurrency() const;
-
- private:
-    /**
-     * The ISO 4217 code of this object.
-     */
-    UChar isoCode[4];
-};
-
-inline const UChar* CurrencyUnit::getISOCurrency() const {
-    return isoCode;
-}
-
-U_NAMESPACE_END
-
-#endif // !UCONFIG_NO_FORMATTING
-#endif // __CURRENCYUNIT_H__

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/datefmt.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/datefmt.h b/apps/couch_collate/platform/osx/icu/unicode/datefmt.h
deleted file mode 100644
index 7aeab2c..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/datefmt.h
+++ /dev/null
@@ -1,700 +0,0 @@
-/*
- ********************************************************************************
- *   Copyright (C) 1997-2008, International Business Machines
- *   Corporation and others.  All Rights Reserved.
- ********************************************************************************
- *
- * File DATEFMT.H
- *
- * Modification History:
- *
- *   Date        Name        Description
- *   02/19/97    aliu        Converted from java.
- *   04/01/97    aliu        Added support for centuries.
- *   07/23/98    stephen     JDK 1.2 sync
- *   11/15/99    weiv        Added support for week of year/day of week formatting
- ********************************************************************************
- */
-
-#ifndef DATEFMT_H
-#define DATEFMT_H
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/udat.h"
-#include "unicode/calendar.h"
-#include "unicode/numfmt.h"
-#include "unicode/format.h"
-#include "unicode/locid.h"
-
-/**
- * \file 
- * \brief C++ API: Abstract class for converting dates.
- */
-
-U_NAMESPACE_BEGIN
-
-class TimeZone;
-
-/**
- * DateFormat is an abstract class for a family of classes that convert dates and
- * times from their internal representations to textual form and back again in a
- * language-independent manner. Converting from the internal representation (milliseconds
- * since midnight, January 1, 1970) to text is known as "formatting," and converting
- * from text to millis is known as "parsing."  We currently define only one concrete
- * subclass of DateFormat: SimpleDateFormat, which can handle pretty much all normal
- * date formatting and parsing actions.
- * <P>
- * DateFormat helps you to format and parse dates for any locale. Your code can
- * be completely independent of the locale conventions for months, days of the
- * week, or even the calendar format: lunar vs. solar.
- * <P>
- * To format a date for the current Locale, use one of the static factory
- * methods:
- * <pre>
- * \code
- *      DateFormat* dfmt = DateFormat::createDateInstance();
- *      UDate myDate = Calendar::getNow();
- *      UnicodeString myString;
- *      myString = dfmt->format( myDate, myString );
- * \endcode
- * </pre>
- * If you are formatting multiple numbers, it is more efficient to get the
- * format and use it multiple times so that the system doesn't have to fetch the
- * information about the local language and country conventions multiple times.
- * <pre>
- * \code
- *      DateFormat* df = DateFormat::createDateInstance();
- *      UnicodeString myString;
- *      UDate myDateArr[] = { 0.0, 100000000.0, 2000000000.0 }; // test values
- *      for (int32_t i = 0; i < 3; ++i) {
- *          myString.remove();
- *          cout << df->format( myDateArr[i], myString ) << endl;
- *      }
- * \endcode
- * </pre>
- * To get specific fields of a date, you can use UFieldPosition to
- * get specific fields.
- * <pre>
- * \code
- *      DateFormat* dfmt = DateFormat::createDateInstance();
- *      FieldPosition pos(DateFormat::YEAR_FIELD);
- *      UnicodeString myString;
- *      myString = dfmt->format( myDate, myString );
- *      cout << myString << endl;
- *      cout << pos.getBeginIndex() << "," << pos. getEndIndex() << endl;
- * \endcode
- * </pre>
- * To format a date for a different Locale, specify it in the call to
- * createDateInstance().
- * <pre>
- * \code
- *       DateFormat* df =
- *           DateFormat::createDateInstance( DateFormat::SHORT, Locale::getFrance());
- * \endcode
- * </pre>
- * You can use a DateFormat to parse also.
- * <pre>
- * \code
- *       UErrorCode status = U_ZERO_ERROR;
- *       UDate myDate = df->parse(myString, status);
- * \endcode
- * </pre>
- * Use createDateInstance() to produce the normal date format for that country.
- * There are other static factory methods available. Use createTimeInstance()
- * to produce the normal time format for that country. Use createDateTimeInstance()
- * to produce a DateFormat that formats both date and time. You can pass in
- * different options to these factory methods to control the length of the
- * result; from SHORT to MEDIUM to LONG to FULL. The exact result depends on the
- * locale, but generally:
- * <ul type=round>
- *   <li>   SHORT is completely numeric, such as 12/13/52 or 3:30pm
- *   <li>   MEDIUM is longer, such as Jan 12, 1952
- *   <li>   LONG is longer, such as January 12, 1952 or 3:30:32pm
- *   <li>   FULL is pretty completely specified, such as
- *          Tuesday, April 12, 1952 AD or 3:30:42pm PST.
- * </ul>
- * You can also set the time zone on the format if you wish. If you want even
- * more control over the format or parsing, (or want to give your users more
- * control), you can try casting the DateFormat you get from the factory methods
- * to a SimpleDateFormat. This will work for the majority of countries; just
- * remember to chck getDynamicClassID() before carrying out the cast.
- * <P>
- * You can also use forms of the parse and format methods with ParsePosition and
- * FieldPosition to allow you to
- * <ul type=round>
- *   <li>   Progressively parse through pieces of a string.
- *   <li>   Align any particular field, or find out where it is for selection
- *          on the screen.
- * </ul>
- *
- * <p><em>User subclasses are not supported.</em> While clients may write
- * subclasses, such code will not necessarily work and will not be
- * guaranteed to work stably from release to release.
- */
-class U_I18N_API DateFormat : public Format {
-public:
-
-    /**
-     * Constants for various style patterns. These reflect the order of items in
-     * the DateTimePatterns resource. There are 4 time patterns, 4 date patterns,
-     * and then the date-time pattern. Each block of 4 values in the resource occurs
-     * in the order full, long, medium, short.
-     * @stable ICU 2.4
-     */
-    enum EStyle
-    {
-        kNone   = -1,
-
-        kFull   = 0,
-        kLong   = 1,
-        kMedium = 2,
-        kShort  = 3,
-
-        kDateOffset   = kShort + 1,
-     // kFull   + kDateOffset = 4
-     // kLong   + kDateOffset = 5
-     // kMedium + kDateOffset = 6
-     // kShort  + kDateOffset = 7
-
-        kDateTime             = 8,
-        
-
-        // relative dates
-        kRelative = (1 << 7),
-        
-        kFullRelative = (kFull | kRelative),
-            
-        kLongRelative = kLong | kRelative,
-        
-        kMediumRelative = kMedium | kRelative,
-        
-        kShortRelative = kShort | kRelative,
-        
-
-        kDefault      = kMedium,
-
-
-
-    /**
-     * These constants are provided for backwards compatibility only.
-     * Please use the C++ style constants defined above.
-     */
-        FULL        = kFull,
-        LONG        = kLong,
-        MEDIUM        = kMedium,
-        SHORT        = kShort,
-        DEFAULT        = kDefault,
-        DATE_OFFSET    = kDateOffset,
-        NONE        = kNone,
-        DATE_TIME    = kDateTime
-    };
-
-    /**
-     * Destructor.
-     * @stable ICU 2.0
-     */
-    virtual ~DateFormat();
-
-    /**
-     * Equality operator.  Returns true if the two formats have the same behavior.
-     * @stable ICU 2.0
-     */
-    virtual UBool operator==(const Format&) const;
-
-    /**
-     * Format an object to produce a string. This method handles Formattable
-     * objects with a UDate type. If a the Formattable object type is not a Date,
-     * then it returns a failing UErrorCode.
-     *
-     * @param obj       The object to format. Must be a Date.
-     * @param appendTo  Output parameter to receive result.
-     *                  Result is appended to existing contents.
-     * @param pos       On input: an alignment field, if desired.
-     *                  On output: the offsets of the alignment field.
-     * @param status    Output param filled with success/failure status.
-     * @return          Reference to 'appendTo' parameter.
-     * @stable ICU 2.0
-     */
-    virtual UnicodeString& format(const Formattable& obj,
-                                  UnicodeString& appendTo,
-                                  FieldPosition& pos,
-                                  UErrorCode& status) const;
-
-    /**
-     * Formats a date into a date/time string. This is an abstract method which
-     * concrete subclasses must implement.
-     * <P>
-     * On input, the FieldPosition parameter may have its "field" member filled with
-     * an enum value specifying a field.  On output, the FieldPosition will be filled
-     * in with the text offsets for that field.
-     * <P> For example, given a time text
-     * "1996.07.10 AD at 15:08:56 PDT", if the given fieldPosition.field is
-     * UDAT_YEAR_FIELD, the offsets fieldPosition.beginIndex and
-     * statfieldPositionus.getEndIndex will be set to 0 and 4, respectively.
-     * <P> Notice
-     * that if the same time field appears more than once in a pattern, the status will
-     * be set for the first occurence of that time field. For instance,
-     * formatting a UDate to the time string "1 PM PDT (Pacific Daylight Time)"
-     * using the pattern "h a z (zzzz)" and the alignment field
-     * DateFormat::TIMEZONE_FIELD, the offsets fieldPosition.beginIndex and
-     * fieldPosition.getEndIndex will be set to 5 and 8, respectively, for the first
-     * occurence of the timezone pattern character 'z'.
-     *
-     * @param cal           Calendar set to the date and time to be formatted
-     *                      into a date/time string.
-     * @param appendTo      Output parameter to receive result.
-     *                      Result is appended to existing contents.
-     * @param fieldPosition On input: an alignment field, if desired (see examples above)
-     *                      On output: the offsets of the alignment field (see examples above)
-     * @return              Reference to 'appendTo' parameter.
-     * @stable ICU 2.1
-     */
-    virtual UnicodeString& format(  Calendar& cal,
-                                    UnicodeString& appendTo,
-                                    FieldPosition& fieldPosition) const = 0;
-
-    /**
-     * Formats a UDate into a date/time string.
-     * <P>
-     * On input, the FieldPosition parameter may have its "field" member filled with
-     * an enum value specifying a field.  On output, the FieldPosition will be filled
-     * in with the text offsets for that field.
-     * <P> For example, given a time text
-     * "1996.07.10 AD at 15:08:56 PDT", if the given fieldPosition.field is
-     * UDAT_YEAR_FIELD, the offsets fieldPosition.beginIndex and
-     * statfieldPositionus.getEndIndex will be set to 0 and 4, respectively.
-     * <P> Notice
-     * that if the same time field appears more than once in a pattern, the status will
-     * be set for the first occurence of that time field. For instance,
-     * formatting a UDate to the time string "1 PM PDT (Pacific Daylight Time)"
-     * using the pattern "h a z (zzzz)" and the alignment field
-     * DateFormat::TIMEZONE_FIELD, the offsets fieldPosition.beginIndex and
-     * fieldPosition.getEndIndex will be set to 5 and 8, respectively, for the first
-     * occurence of the timezone pattern character 'z'.
-     *
-     * @param date          UDate to be formatted into a date/time string.
-     * @param appendTo      Output parameter to receive result.
-     *                      Result is appended to existing contents.
-     * @param fieldPosition On input: an alignment field, if desired (see examples above)
-     *                      On output: the offsets of the alignment field (see examples above)
-     * @return              Reference to 'appendTo' parameter.
-     * @stable ICU 2.0
-     */
-    UnicodeString& format(  UDate date,
-                            UnicodeString& appendTo,
-                            FieldPosition& fieldPosition) const;
-
-    /**
-     * Formats a UDate into a date/time string. If there is a problem, you won't
-     * know, using this method. Use the overloaded format() method which takes a
-     * FieldPosition& to detect formatting problems.
-     *
-     * @param date      The UDate value to be formatted into a string.
-     * @param appendTo  Output parameter to receive result.
-     *                  Result is appended to existing contents.
-     * @return          Reference to 'appendTo' parameter.
-     * @stable ICU 2.0
-     */
-    UnicodeString& format(UDate date, UnicodeString& appendTo) const;
-
-    /**
-     * Redeclared Format method.
-     *
-     * @param obj       The object to be formatted into a string.
-     * @param appendTo  Output parameter to receive result.
-     *                  Result is appended to existing contents.
-     * @param status    Output param filled with success/failure status.
-     * @return          Reference to 'appendTo' parameter.
-     * @stable ICU 2.0
-     */
-    UnicodeString& format(const Formattable& obj,
-                          UnicodeString& appendTo,
-                          UErrorCode& status) const;
-
-    /**
-     * Parse a date/time string.
-     *
-     * @param text      The string to be parsed into a UDate value.
-     * @param status    Output param to be set to success/failure code. If
-     *                  'text' cannot be parsed, it will be set to a failure
-     *                  code.
-     * @result          The parsed UDate value, if successful.
-     * @stable ICU 2.0
-     */
-    virtual UDate parse( const UnicodeString& text,
-                        UErrorCode& status) const;
-
-    /**
-     * Parse a date/time string beginning at the given parse position. For
-     * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date
-     * that is equivalent to Date(837039928046).
-     * <P>
-     * By default, parsing is lenient: If the input is not in the form used by
-     * this object's format method but can still be parsed as a date, then the
-     * parse succeeds. Clients may insist on strict adherence to the format by
-     * calling setLenient(false).
-     *
-     * @see DateFormat::setLenient(boolean)
-     *
-     * @param text  The date/time string to be parsed
-     * @param cal   a Calendar set to the date and time to be formatted
-     *              into a date/time string.
-     * @param pos   On input, the position at which to start parsing; on
-     *              output, the position at which parsing terminated, or the
-     *              start position if the parse failed.
-     * @return      A valid UDate if the input could be parsed.
-     * @stable ICU 2.1
-     */
-    virtual void parse( const UnicodeString& text,
-                        Calendar& cal,
-                        ParsePosition& pos) const = 0;
-
-    /**
-     * Parse a date/time string beginning at the given parse position. For
-     * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date
-     * that is equivalent to Date(837039928046).
-     * <P>
-     * By default, parsing is lenient: If the input is not in the form used by
-     * this object's format method but can still be parsed as a date, then the
-     * parse succeeds. Clients may insist on strict adherence to the format by
-     * calling setLenient(false).
-     *
-     * @see DateFormat::setLenient(boolean)
-     *
-     * @param text  The date/time string to be parsed
-     * @param pos   On input, the position at which to start parsing; on
-     *              output, the position at which parsing terminated, or the
-     *              start position if the parse failed.
-     * @return      A valid UDate if the input could be parsed.
-     * @stable ICU 2.0
-     */
-    UDate parse( const UnicodeString& text,
-                 ParsePosition& pos) const;
-
-    /**
-     * Parse a string to produce an object. This methods handles parsing of
-     * date/time strings into Formattable objects with UDate types.
-     * <P>
-     * Before calling, set parse_pos.index to the offset you want to start
-     * parsing at in the source. After calling, parse_pos.index is the end of
-     * the text you parsed. If error occurs, index is unchanged.
-     * <P>
-     * When parsing, leading whitespace is discarded (with a successful parse),
-     * while trailing whitespace is left as is.
-     * <P>
-     * See Format::parseObject() for more.
-     *
-     * @param source    The string to be parsed into an object.
-     * @param result    Formattable to be set to the parse result.
-     *                  If parse fails, return contents are undefined.
-     * @param parse_pos The position to start parsing at. Upon return
-     *                  this param is set to the position after the
-     *                  last character successfully parsed. If the
-     *                  source is not parsed successfully, this param
-     *                  will remain unchanged.
-     * @return          A newly created Formattable* object, or NULL
-     *                  on failure.  The caller owns this and should
-     *                  delete it when done.
-     * @stable ICU 2.0
-     */
-    virtual void parseObject(const UnicodeString& source,
-                             Formattable& result,
-                             ParsePosition& parse_pos) const;
-
-    /**
-     * Create a default date/time formatter that uses the SHORT style for both
-     * the date and the time.
-     *
-     * @return A date/time formatter which the caller owns.
-     * @stable ICU 2.0
-     */
-    static DateFormat* U_EXPORT2 createInstance(void);
-
-    /**
-     * This is for ICU internal use only. Please do not use.
-     * Create a date/time formatter from skeleton and a given locale.
-     *
-     * Users are encouraged to use the skeleton macros defined in udat.h.
-     * For example, MONTH_WEEKDAY_DAY, which is "MMMMEEEEd",
-     * and which means the pattern should have day, month, and day-of-week 
-     * fields, and follow the long date format defined in date time pattern.
-     * For example, for English, the full pattern should be 
-     * "EEEE, MMMM d".
-     * 
-     * Temporarily, this is an internal API, used by DateIntevalFormat only.
-     * There will be a new set of APIs for the same purpose coming soon.
-     * After which, this API will be replaced.
-     *
-     * @param skeleton  the skeleton on which date format based.
-     * @param locale    the given locale.
-     * @param status    Output param to be set to success/failure code.
-     *                  If it is failure, the returned date formatter will
-     *                  be NULL.
-     * @return          a simple date formatter which the caller owns.
-     * @internal ICU 4.0
-     */
-    static DateFormat* U_EXPORT2 createPatternInstance(
-                                                const UnicodeString& skeleton,
-                                                const Locale& locale,
-                                                UErrorCode& status);
-
-    /**
-     * Creates a time formatter with the given formatting style for the given
-     * locale.
-     *
-     * @param style     The given formatting style. For example,
-     *                  SHORT for "h:mm a" in the US locale.
-     * @param aLocale   The given locale.
-     * @return          A time formatter which the caller owns.
-     * @stable ICU 2.0
-     */
-    static DateFormat* U_EXPORT2 createTimeInstance(EStyle style = kDefault,
-                                          const Locale& aLocale = Locale::getDefault());
-
-    /**
-     * Creates a date formatter with the given formatting style for the given
-     * const locale.
-     *
-     * @param style     The given formatting style. For example,
-     *                  SHORT for "M/d/yy" in the US locale.
-     * @param aLocale   The given locale.
-     * @return          A date formatter which the caller owns.
-     * @stable ICU 2.0
-     */
-    static DateFormat* U_EXPORT2 createDateInstance(EStyle style = kDefault,
-                                          const Locale& aLocale = Locale::getDefault());
-
-    /**
-     * Creates a date/time formatter with the given formatting styles for the
-     * given locale.
-     *
-     * @param dateStyle The given formatting style for the date portion of the result.
-     *                  For example, SHORT for "M/d/yy" in the US locale.
-     * @param timeStyle The given formatting style for the time portion of the result.
-     *                  For example, SHORT for "h:mm a" in the US locale.
-     * @param aLocale   The given locale.
-     * @return          A date/time formatter which the caller owns.
-     * @stable ICU 2.0
-     */
-    static DateFormat* U_EXPORT2 createDateTimeInstance(EStyle dateStyle = kDefault,
-                                              EStyle timeStyle = kDefault,
-                                              const Locale& aLocale = Locale::getDefault());
-
-    /**
-     * Gets the set of locales for which DateFormats are installed.
-     * @param count Filled in with the number of locales in the list that is returned.
-     * @return the set of locales for which DateFormats are installed.  The caller
-     *  does NOT own this list and must not delete it.
-     * @stable ICU 2.0
-     */
-    static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
-
-    /**
-     * Returns true if the formatter is set for lenient parsing.
-     * @stable ICU 2.0
-     */
-    virtual UBool isLenient(void) const;
-
-    /**
-     * Specify whether or not date/time parsing is to be lenient. With lenient
-     * parsing, the parser may use heuristics to interpret inputs that do not
-     * precisely match this object's format. With strict parsing, inputs must
-     * match this object's format.
-     *
-     * @param lenient  True specifies date/time interpretation to be lenient.
-     * @see Calendar::setLenient
-     * @stable ICU 2.0
-     */
-    virtual void setLenient(UBool lenient);
-
-    /**
-     * Gets the calendar associated with this date/time formatter.
-     * @return the calendar associated with this date/time formatter.
-     * @stable ICU 2.0
-     */
-    virtual const Calendar* getCalendar(void) const;
-
-    /**
-     * Set the calendar to be used by this date format. Initially, the default
-     * calendar for the specified or default locale is used.  The caller should
-     * not delete the Calendar object after it is adopted by this call.
-     * Adopting a new calendar will change to the default symbols.
-     *
-     * @param calendarToAdopt    Calendar object to be adopted.
-     * @stable ICU 2.0
-     */
-    virtual void adoptCalendar(Calendar* calendarToAdopt);
-
-    /**
-     * Set the calendar to be used by this date format. Initially, the default
-     * calendar for the specified or default locale is used.
-     *
-     * @param newCalendar Calendar object to be set.
-     * @stable ICU 2.0
-     */
-    virtual void setCalendar(const Calendar& newCalendar);
-
-
-    /**
-     * Gets the number formatter which this date/time formatter uses to format
-     * and parse the numeric portions of the pattern.
-     * @return the number formatter which this date/time formatter uses.
-     * @stable ICU 2.0
-     */
-    virtual const NumberFormat* getNumberFormat(void) const;
-
-    /**
-     * Allows you to set the number formatter.  The caller should
-     * not delete the NumberFormat object after it is adopted by this call.
-     * @param formatToAdopt     NumberFormat object to be adopted.
-     * @stable ICU 2.0
-     */
-    virtual void adoptNumberFormat(NumberFormat* formatToAdopt);
-
-    /**
-     * Allows you to set the number formatter.
-     * @param newNumberFormat  NumberFormat object to be set.
-     * @stable ICU 2.0
-     */
-    virtual void setNumberFormat(const NumberFormat& newNumberFormat);
-
-    /**
-     * Returns a reference to the TimeZone used by this DateFormat's calendar.
-     * @return the time zone associated with the calendar of DateFormat.
-     * @stable ICU 2.0
-     */
-    virtual const TimeZone& getTimeZone(void) const;
-
-    /**
-     * Sets the time zone for the calendar of this DateFormat object. The caller
-     * no longer owns the TimeZone object and should not delete it after this call.
-     * @param zoneToAdopt the TimeZone to be adopted.
-     * @stable ICU 2.0
-     */
-    virtual void adoptTimeZone(TimeZone* zoneToAdopt);
-
-    /**
-     * Sets the time zone for the calendar of this DateFormat object.
-     * @param zone the new time zone.
-     * @stable ICU 2.0
-     */
-    virtual void setTimeZone(const TimeZone& zone);
-
-protected:
-    /**
-     * Default constructor.  Creates a DateFormat with no Calendar or NumberFormat
-     * associated with it.  This constructor depends on the subclasses to fill in
-     * the calendar and numberFormat fields.
-     * @stable ICU 2.0
-     */
-    DateFormat();
-
-    /**
-     * Copy constructor.
-     * @stable ICU 2.0
-     */
-    DateFormat(const DateFormat&);
-
-    /**
-     * Default assignment operator.
-     * @stable ICU 2.0
-     */
-    DateFormat& operator=(const DateFormat&);
-
-    /**
-     * The calendar that DateFormat uses to produce the time field values needed
-     * to implement date/time formatting. Subclasses should generally initialize
-     * this to the default calendar for the locale associated with this DateFormat.
-     * @stable ICU 2.4
-     */
-    Calendar* fCalendar;
-
-    /**
-     * The number formatter that DateFormat uses to format numbers in dates and
-     * times. Subclasses should generally initialize this to the default number
-     * format for the locale associated with this DateFormat.
-     * @stable ICU 2.4
-     */
-    NumberFormat* fNumberFormat;
-
-private:
-    /**
-     * Gets the date/time formatter with the given formatting styles for the
-     * given locale.
-     * @param dateStyle the given date formatting style.
-     * @param timeStyle the given time formatting style.
-     * @param inLocale the given locale.
-     * @return a date/time formatter, or 0 on failure.
-     */
-    static DateFormat* U_EXPORT2 create(EStyle timeStyle, EStyle dateStyle, const Locale&);
-
-public:
-    /**
-     * Field selector for FieldPosition for DateFormat fields.
-     * @obsolete ICU 3.4 use UDateFormatField instead, since this API will be
-     * removed in that release
-     */
-    enum EField
-    {
-        // Obsolete; use UDateFormatField instead
-        kEraField = UDAT_ERA_FIELD,
-        kYearField = UDAT_YEAR_FIELD,
-        kMonthField = UDAT_MONTH_FIELD,
-        kDateField = UDAT_DATE_FIELD,
-        kHourOfDay1Field = UDAT_HOUR_OF_DAY1_FIELD,
-        kHourOfDay0Field = UDAT_HOUR_OF_DAY0_FIELD,
-        kMinuteField = UDAT_MINUTE_FIELD,
-        kSecondField = UDAT_SECOND_FIELD,
-        kMillisecondField = UDAT_FRACTIONAL_SECOND_FIELD,
-        kDayOfWeekField = UDAT_DAY_OF_WEEK_FIELD,
-        kDayOfYearField = UDAT_DAY_OF_YEAR_FIELD,
-        kDayOfWeekInMonthField = UDAT_DAY_OF_WEEK_IN_MONTH_FIELD,
-        kWeekOfYearField = UDAT_WEEK_OF_YEAR_FIELD,
-        kWeekOfMonthField = UDAT_WEEK_OF_MONTH_FIELD,
-        kAmPmField = UDAT_AM_PM_FIELD,
-        kHour1Field = UDAT_HOUR1_FIELD,
-        kHour0Field = UDAT_HOUR0_FIELD,
-        kTimezoneField = UDAT_TIMEZONE_FIELD,
-        kYearWOYField = UDAT_YEAR_WOY_FIELD,
-        kDOWLocalField = UDAT_DOW_LOCAL_FIELD,
-        kExtendedYearField = UDAT_EXTENDED_YEAR_FIELD,
-        kJulianDayField = UDAT_JULIAN_DAY_FIELD,
-        kMillisecondsInDayField = UDAT_MILLISECONDS_IN_DAY_FIELD,
-
-        // Obsolete; use UDateFormatField instead
-        ERA_FIELD = UDAT_ERA_FIELD,
-        YEAR_FIELD = UDAT_YEAR_FIELD,
-        MONTH_FIELD = UDAT_MONTH_FIELD,
-        DATE_FIELD = UDAT_DATE_FIELD,
-        HOUR_OF_DAY1_FIELD = UDAT_HOUR_OF_DAY1_FIELD,
-        HOUR_OF_DAY0_FIELD = UDAT_HOUR_OF_DAY0_FIELD,
-        MINUTE_FIELD = UDAT_MINUTE_FIELD,
-        SECOND_FIELD = UDAT_SECOND_FIELD,
-        MILLISECOND_FIELD = UDAT_FRACTIONAL_SECOND_FIELD,
-        DAY_OF_WEEK_FIELD = UDAT_DAY_OF_WEEK_FIELD,
-        DAY_OF_YEAR_FIELD = UDAT_DAY_OF_YEAR_FIELD,
-        DAY_OF_WEEK_IN_MONTH_FIELD = UDAT_DAY_OF_WEEK_IN_MONTH_FIELD,
-        WEEK_OF_YEAR_FIELD = UDAT_WEEK_OF_YEAR_FIELD,
-        WEEK_OF_MONTH_FIELD = UDAT_WEEK_OF_MONTH_FIELD,
-        AM_PM_FIELD = UDAT_AM_PM_FIELD,
-        HOUR1_FIELD = UDAT_HOUR1_FIELD,
-        HOUR0_FIELD = UDAT_HOUR0_FIELD,
-        TIMEZONE_FIELD = UDAT_TIMEZONE_FIELD
-    };
-};
-
-inline UnicodeString&
-DateFormat::format(const Formattable& obj,
-                   UnicodeString& appendTo,
-                   UErrorCode& status) const {
-    return Format::format(obj, appendTo, status);
-}
-U_NAMESPACE_END
-
-#endif /* #if !UCONFIG_NO_FORMATTING */
-
-#endif // _DATEFMT
-//eof

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/dbbi.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/dbbi.h b/apps/couch_collate/platform/osx/icu/unicode/dbbi.h
deleted file mode 100644
index c7984ef..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/dbbi.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-**********************************************************************
-*   Copyright (C) 1999-2006 IBM Corp. All rights reserved.
-**********************************************************************
-*   Date        Name        Description
-*   12/1/99    rgillam     Complete port from Java.
-*   01/13/2000 helena      Added UErrorCode to ctors.
-**********************************************************************
-*/
-
-#ifndef DBBI_H
-#define DBBI_H
-
-#include "unicode/rbbi.h"
-
-#if !UCONFIG_NO_BREAK_ITERATION
-
-/**
- * \file
- * \brief C++ API: Dictionary Based Break Iterator
- */
- 
-U_NAMESPACE_BEGIN
-
-/**
- * An obsolete subclass of RuleBasedBreakIterator. Handling of dictionary-
- * based break iteration has been folded into the base class. This class
- * is deprecated as of ICU 3.6.
- */
- 
-#ifndef U_HIDE_DEPRECATED_API
-
-typedef RuleBasedBreakIterator DictionaryBasedBreakIterator;
-
-#endif
-
-U_NAMESPACE_END
-
-#endif /* #if !UCONFIG_NO_BREAK_ITERATION */
-
-#endif