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

[34/57] [abbrv] remove couch_collate

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/gregocal.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/gregocal.h b/apps/couch_collate/platform/osx/icu/unicode/gregocal.h
deleted file mode 100644
index f2d1b0b..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/gregocal.h
+++ /dev/null
@@ -1,823 +0,0 @@
-/*
-* Copyright (C) 1997-2006, International Business Machines Corporation and others.
-* All Rights Reserved.
-********************************************************************************
-*
-* File GREGOCAL.H
-*
-* Modification History:
-*
-*   Date        Name        Description
-*   04/22/97    aliu        Overhauled header.
-*    07/28/98    stephen        Sync with JDK 1.2
-*    09/04/98    stephen        Re-sync with JDK 8/31 putback
-*    09/14/98    stephen        Changed type of kOneDay, kOneWeek to double.
-*                            Fixed bug in roll()
-*   10/15/99    aliu        Fixed j31, incorrect WEEK_OF_YEAR computation.
-*                           Added documentation of WEEK_OF_YEAR computation.
-*   10/15/99    aliu        Fixed j32, cannot set date to Feb 29 2000 AD.
-*                           {JDK bug 4210209 4209272}
-*   11/07/2003  srl         Update, clean up documentation.
-********************************************************************************
-*/
-
-#ifndef GREGOCAL_H
-#define GREGOCAL_H
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/calendar.h"
-
-/**
- * \file 
- * \brief C++ API: Concrete class which provides the standard calendar.
- */
-
-U_NAMESPACE_BEGIN
-
-/** 
- * Concrete class which provides the standard calendar used by most of the world.
- * <P>
- * The standard (Gregorian) calendar has 2 eras, BC and AD.
- * <P>
- * This implementation handles a single discontinuity, which corresponds by default to
- * the date the Gregorian calendar was originally instituted (October 15, 1582). Not all
- * countries adopted the Gregorian calendar then, so this cutover date may be changed by
- * the caller.
- * <P>
- * Prior to the institution of the Gregorian Calendar, New Year's Day was March 25. To
- * avoid confusion, this Calendar always uses January 1. A manual adjustment may be made
- * if desired for dates that are prior to the Gregorian changeover and which fall
- * between January 1 and March 24.
- *
- * <p>Values calculated for the <code>WEEK_OF_YEAR</code> field range from 1 to
- * 53.  Week 1 for a year is the first week that contains at least
- * <code>getMinimalDaysInFirstWeek()</code> days from that year.  It thus
- * depends on the values of <code>getMinimalDaysInFirstWeek()</code>,
- * <code>getFirstDayOfWeek()</code>, and the day of the week of January 1.
- * Weeks between week 1 of one year and week 1 of the following year are
- * numbered sequentially from 2 to 52 or 53 (as needed).
- *
- * <p>For example, January 1, 1998 was a Thursday.  If
- * <code>getFirstDayOfWeek()</code> is <code>MONDAY</code> and
- * <code>getMinimalDaysInFirstWeek()</code> is 4 (these are the values
- * reflecting ISO 8601 and many national standards), then week 1 of 1998 starts
- * on December 29, 1997, and ends on January 4, 1998.  If, however,
- * <code>getFirstDayOfWeek()</code> is <code>SUNDAY</code>, then week 1 of 1998
- * starts on January 4, 1998, and ends on January 10, 1998; the first three days
- * of 1998 then are part of week 53 of 1997.
- *
- * <p>Example for using GregorianCalendar:
- * <pre>
- * \code
- *     // get the supported ids for GMT-08:00 (Pacific Standard Time)
- *     UErrorCode success = U_ZERO_ERROR;
- *     const StringEnumeration *ids = TimeZone::createEnumeration(-8 * 60 * 60 * 1000);
- *     // if no ids were returned, something is wrong. get out.
- *     if (ids == 0 || ids->count(success) == 0) {
- *         return;
- *     }
- *
- *     // begin output
- *     cout << "Current Time" << endl;
- *
- *     // create a Pacific Standard Time time zone
- *     SimpleTimeZone* pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids->unext(NULL, success)));
- *
- *     // set up rules for daylight savings time
- *     pdt->setStartRule(Calendar::APRIL, 1, Calendar::SUNDAY, 2 * 60 * 60 * 1000);
- *     pdt->setEndRule(Calendar::OCTOBER, -1, Calendar::SUNDAY, 2 * 60 * 60 * 1000);
- *
- *     // create a GregorianCalendar with the Pacific Daylight time zone
- *     // and the current date and time
- *     Calendar* calendar = new GregorianCalendar( pdt, success );
- *
- *     // print out a bunch of interesting things
- *     cout << "ERA: " << calendar->get( Calendar::ERA, success ) << endl;
- *     cout << "YEAR: " << calendar->get( Calendar::YEAR, success ) << endl;
- *     cout << "MONTH: " << calendar->get( Calendar::MONTH, success ) << endl;
- *     cout << "WEEK_OF_YEAR: " << calendar->get( Calendar::WEEK_OF_YEAR, success ) << endl;
- *     cout << "WEEK_OF_MONTH: " << calendar->get( Calendar::WEEK_OF_MONTH, success ) << endl;
- *     cout << "DATE: " << calendar->get( Calendar::DATE, success ) << endl;
- *     cout << "DAY_OF_MONTH: " << calendar->get( Calendar::DAY_OF_MONTH, success ) << endl;
- *     cout << "DAY_OF_YEAR: " << calendar->get( Calendar::DAY_OF_YEAR, success ) << endl;
- *     cout << "DAY_OF_WEEK: " << calendar->get( Calendar::DAY_OF_WEEK, success ) << endl;
- *     cout << "DAY_OF_WEEK_IN_MONTH: " << calendar->get( Calendar::DAY_OF_WEEK_IN_MONTH, success ) << endl;
- *     cout << "AM_PM: " << calendar->get( Calendar::AM_PM, success ) << endl;
- *     cout << "HOUR: " << calendar->get( Calendar::HOUR, success ) << endl;
- *     cout << "HOUR_OF_DAY: " << calendar->get( Calendar::HOUR_OF_DAY, success ) << endl;
- *     cout << "MINUTE: " << calendar->get( Calendar::MINUTE, success ) << endl;
- *     cout << "SECOND: " << calendar->get( Calendar::SECOND, success ) << endl;
- *     cout << "MILLISECOND: " << calendar->get( Calendar::MILLISECOND, success ) << endl;
- *     cout << "ZONE_OFFSET: " << (calendar->get( Calendar::ZONE_OFFSET, success )/(60*60*1000)) << endl;
- *     cout << "DST_OFFSET: " << (calendar->get( Calendar::DST_OFFSET, success )/(60*60*1000)) << endl;
- *
- *     cout << "Current Time, with hour reset to 3" << endl;
- *     calendar->clear(Calendar::HOUR_OF_DAY); // so doesn't override
- *     calendar->set(Calendar::HOUR, 3);
- *     cout << "ERA: " << calendar->get( Calendar::ERA, success ) << endl;
- *     cout << "YEAR: " << calendar->get( Calendar::YEAR, success ) << endl;
- *     cout << "MONTH: " << calendar->get( Calendar::MONTH, success ) << endl;
- *     cout << "WEEK_OF_YEAR: " << calendar->get( Calendar::WEEK_OF_YEAR, success ) << endl;
- *     cout << "WEEK_OF_MONTH: " << calendar->get( Calendar::WEEK_OF_MONTH, success ) << endl;
- *     cout << "DATE: " << calendar->get( Calendar::DATE, success ) << endl;
- *     cout << "DAY_OF_MONTH: " << calendar->get( Calendar::DAY_OF_MONTH, success ) << endl;
- *     cout << "DAY_OF_YEAR: " << calendar->get( Calendar::DAY_OF_YEAR, success ) << endl;
- *     cout << "DAY_OF_WEEK: " << calendar->get( Calendar::DAY_OF_WEEK, success ) << endl;
- *     cout << "DAY_OF_WEEK_IN_MONTH: " << calendar->get( Calendar::DAY_OF_WEEK_IN_MONTH, success ) << endl;
- *     cout << "AM_PM: " << calendar->get( Calendar::AM_PM, success ) << endl;
- *     cout << "HOUR: " << calendar->get( Calendar::HOUR, success ) << endl;
- *     cout << "HOUR_OF_DAY: " << calendar->get( Calendar::HOUR_OF_DAY, success ) << endl;
- *     cout << "MINUTE: " << calendar->get( Calendar::MINUTE, success ) << endl;
- *     cout << "SECOND: " << calendar->get( Calendar::SECOND, success ) << endl;
- *     cout << "MILLISECOND: " << calendar->get( Calendar::MILLISECOND, success ) << endl;
- *     cout << "ZONE_OFFSET: " << (calendar->get( Calendar::ZONE_OFFSET, success )/(60*60*1000)) << endl; // in hours
- *     cout << "DST_OFFSET: " << (calendar->get( Calendar::DST_OFFSET, success )/(60*60*1000)) << endl; // in hours
- *
- *     if (U_FAILURE(success)) {
- *         cout << "An error occured. success=" << u_errorName(success) << endl;
- *     }
- *
- *     delete ids;
- *     delete calendar; // also deletes pdt
- * \endcode
- * </pre>
- * @stable ICU 2.0
- */
-class U_I18N_API GregorianCalendar: public Calendar {
-public:
-
-    /**
-     * Useful constants for GregorianCalendar and TimeZone.
-     * @stable ICU 2.0
-     */
-    enum EEras {
-        BC,
-        AD
-    };
-
-    /**
-     * Constructs a default GregorianCalendar using the current time in the default time
-     * zone with the default locale.
-     *
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(UErrorCode& success);
-
-    /**
-     * Constructs a GregorianCalendar based on the current time in the given time zone
-     * with the default locale. Clients are no longer responsible for deleting the given
-     * time zone object after it's adopted.
-     *
-     * @param zoneToAdopt     The given timezone.
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(TimeZone* zoneToAdopt, UErrorCode& success);
-
-    /**
-     * Constructs a GregorianCalendar based on the current time in the given time zone
-     * with the default locale.
-     *
-     * @param zone     The given timezone.
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(const TimeZone& zone, UErrorCode& success);
-
-    /**
-     * Constructs a GregorianCalendar based on the current time in the default time zone
-     * with the given locale.
-     *
-     * @param aLocale  The given locale.
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(const Locale& aLocale, UErrorCode& success);
-
-    /**
-     * Constructs a GregorianCalendar based on the current time in the given time zone
-     * with the given locale. Clients are no longer responsible for deleting the given
-     * time zone object after it's adopted.
-     *
-     * @param zoneToAdopt     The given timezone.
-     * @param aLocale  The given locale.
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(TimeZone* zoneToAdopt, const Locale& aLocale, UErrorCode& success);
-
-    /**
-     * Constructs a GregorianCalendar based on the current time in the given time zone
-     * with the given locale.
-     *
-     * @param zone     The given timezone.
-     * @param aLocale  The given locale.
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(const TimeZone& zone, const Locale& aLocale, UErrorCode& success);
-
-    /**
-     * Constructs a GregorianCalendar with the given AD date set in the default time
-     * zone with the default locale.
-     *
-     * @param year     The value used to set the YEAR time field in the calendar.
-     * @param month    The value used to set the MONTH time field in the calendar. Month
-     *                 value is 0-based. e.g., 0 for January.
-     * @param date     The value used to set the DATE time field in the calendar.
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(int32_t year, int32_t month, int32_t date, UErrorCode& success);
-
-    /**
-     * Constructs a GregorianCalendar with the given AD date and time set for the
-     * default time zone with the default locale.
-     *
-     * @param year     The value used to set the YEAR time field in the calendar.
-     * @param month    The value used to set the MONTH time field in the calendar. Month
-     *                 value is 0-based. e.g., 0 for January.
-     * @param date     The value used to set the DATE time field in the calendar.
-     * @param hour     The value used to set the HOUR_OF_DAY time field in the calendar.
-     * @param minute   The value used to set the MINUTE time field in the calendar.
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, UErrorCode& success);
-
-    /**
-     * Constructs a GregorianCalendar with the given AD date and time set for the
-     * default time zone with the default locale.
-     *
-     * @param year     The value used to set the YEAR time field in the calendar.
-     * @param month    The value used to set the MONTH time field in the calendar. Month
-     *                 value is 0-based. e.g., 0 for January.
-     * @param date     The value used to set the DATE time field in the calendar.
-     * @param hour     The value used to set the HOUR_OF_DAY time field in the calendar.
-     * @param minute   The value used to set the MINUTE time field in the calendar.
-     * @param second   The value used to set the SECOND time field in the calendar.
-     * @param success  Indicates the status of GregorianCalendar object construction.
-     *                 Returns U_ZERO_ERROR if constructed successfully.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(int32_t year, int32_t month, int32_t date, int32_t hour, int32_t minute, int32_t second, UErrorCode& success);
-
-    /**
-     * Destructor
-     * @stable ICU 2.0
-     */
-    virtual ~GregorianCalendar();
-
-    /**
-     * Copy constructor
-     * @param source    the object to be copied.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar(const GregorianCalendar& source);
-
-    /**
-     * Default assignment operator
-     * @param right    the object to be copied.
-     * @stable ICU 2.0
-     */
-    GregorianCalendar& operator=(const GregorianCalendar& right);
-
-    /**
-     * Create and return a polymorphic copy of this calendar.
-     * @return    return a polymorphic copy of this calendar.
-     * @stable ICU 2.0
-     */
-    virtual Calendar* clone(void) const;
-
-    /**
-     * Sets the GregorianCalendar change date. This is the point when the switch from
-     * Julian dates to Gregorian dates occurred. Default is 00:00:00 local time, October
-     * 15, 1582. Previous to this time and date will be Julian dates.
-     *
-     * @param date     The given Gregorian cutover date.
-     * @param success  Output param set to success/failure code on exit.
-     * @stable ICU 2.0
-     */
-    void setGregorianChange(UDate date, UErrorCode& success);
-
-    /**
-     * Gets the Gregorian Calendar change date. This is the point when the switch from
-     * Julian dates to Gregorian dates occurred. Default is 00:00:00 local time, October
-     * 15, 1582. Previous to this time and date will be Julian dates.
-     *
-     * @return   The Gregorian cutover time for this calendar.
-     * @stable ICU 2.0
-     */
-    UDate getGregorianChange(void) const;
-
-    /**
-     * Return true if the given year is a leap year. Determination of whether a year is
-     * a leap year is actually very complicated. We do something crude and mostly
-     * correct here, but for a real determination you need a lot of contextual
-     * information. For example, in Sweden, the change from Julian to Gregorian happened
-     * in a complex way resulting in missed leap years and double leap years between
-     * 1700 and 1753. Another example is that after the start of the Julian calendar in
-     * 45 B.C., the leap years did not regularize until 8 A.D. This method ignores these
-     * quirks, and pays attention only to the Julian onset date and the Gregorian
-     * cutover (which can be changed).
-     *
-     * @param year  The given year.
-     * @return      True if the given year is a leap year; false otherwise.
-     * @stable ICU 2.0
-     */
-    UBool isLeapYear(int32_t year) const;
-
-    /**
-     * Returns TRUE if the given Calendar object is equivalent to this
-     * one.  Calendar override.
-     *
-     * @param other the Calendar to be compared with this Calendar   
-     * @stable ICU 2.4
-     */
-    virtual UBool isEquivalentTo(const Calendar& other) const;
-
-    /**
-     * (Overrides Calendar) Rolls up or down by the given amount in the specified field.
-     * For more information, see the documentation for Calendar::roll().
-     *
-     * @param field   The time field.
-     * @param amount  Indicates amount to roll.
-     * @param status  Output param set to success/failure code on exit. If any value
-     *                previously set in the time field is invalid, this will be set to
-     *                an error status.
-     * @deprecated ICU 2.6. Use roll(UCalendarDateFields field, int32_t amount, UErrorCode& status) instead.
-     */
-    virtual void roll(EDateFields field, int32_t amount, UErrorCode& status);
-
-    /**
-     * (Overrides Calendar) Rolls up or down by the given amount in the specified field.
-     * For more information, see the documentation for Calendar::roll().
-     *
-     * @param field   The time field.
-     * @param amount  Indicates amount to roll.
-     * @param status  Output param set to success/failure code on exit. If any value
-     *                previously set in the time field is invalid, this will be set to
-     *                an error status.
-     * @stable ICU 2.6.
-     */
-    virtual void roll(UCalendarDateFields field, int32_t amount, UErrorCode& status);
-
-    /**
-     * Return the minimum value that this field could have, given the current date.
-     * For the Gregorian calendar, this is the same as getMinimum() and getGreatestMinimum().
-     * @param field    the time field.
-     * @return         the minimum value that this field could have, given the current date.
-     * @deprecated ICU 2.6. Use getActualMinimum(UCalendarDateFields field) instead.
-     */
-    int32_t getActualMinimum(EDateFields field) const;
-
-    /**
-     * Return the minimum value that this field could have, given the current date.
-     * For the Gregorian calendar, this is the same as getMinimum() and getGreatestMinimum().
-     * @param field    the time field.
-     * @param status
-     * @return         the minimum value that this field could have, given the current date.
-     * @deprecated ICU 2.6. Use getActualMinimum(UCalendarDateFields field) instead. (Added to ICU 3.0 for signature consistency)
-     */
-    int32_t getActualMinimum(EDateFields field, UErrorCode& status) const;
-
-    /**
-     * Return the minimum value that this field could have, given the current date.
-     * For the Gregorian calendar, this is the same as getMinimum() and getGreatestMinimum().
-     * @param field    the time field.
-     * @param status   error result.
-     * @return         the minimum value that this field could have, given the current date.
-     * @stable ICU 3.0
-     */
-    int32_t getActualMinimum(UCalendarDateFields field, UErrorCode &status) const;
-
-    /**
-     * Return the maximum value that this field could have, given the current date.
-     * For example, with the date "Feb 3, 1997" and the DAY_OF_MONTH field, the actual
-     * maximum would be 28; for "Feb 3, 1996" it s 29.  Similarly for a Hebrew calendar,
-     * for some years the actual maximum for MONTH is 12, and for others 13.
-     * @param field    the time field.
-     * @return         the maximum value that this field could have, given the current date.
-     * @deprecated ICU 2.6. Use getActualMaximum(UCalendarDateFields field) instead.
-     */
-    int32_t getActualMaximum(EDateFields field) const;
-
-    /**
-     * Return the maximum value that this field could have, given the current date.
-     * For example, with the date "Feb 3, 1997" and the DAY_OF_MONTH field, the actual
-     * maximum would be 28; for "Feb 3, 1996" it s 29.  Similarly for a Hebrew calendar,
-     * for some years the actual maximum for MONTH is 12, and for others 13.
-     * @param field    the time field.
-     * @param status   returns any errors that may result from this function call.
-     * @return         the maximum value that this field could have, given the current date.
-     * @stable ICU 2.6
-     */
-    virtual int32_t getActualMaximum(UCalendarDateFields field, UErrorCode& status) const;
-
-    /**
-     * (Overrides Calendar) Return true if the current date for this Calendar is in
-     * Daylight Savings Time. Recognizes DST_OFFSET, if it is set.
-     *
-     * @param status Fill-in parameter which receives the status of this operation.
-     * @return   True if the current date for this Calendar is in Daylight Savings Time,
-     *           false, otherwise.
-     * @stable ICU 2.0
-     */
-    virtual UBool inDaylightTime(UErrorCode& status) const;
-
-public:
-
-    /**
-     * Override Calendar Returns a unique class ID POLYMORPHICALLY. Pure virtual
-     * override. 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;
-
-    /**
-     * Return the class ID for this class. This is useful only for comparing to a return
-     * value from getDynamicClassID(). For example:
-     *
-     *      Base* polymorphic_pointer = createPolymorphicObject();
-     *      if (polymorphic_pointer->getDynamicClassID() ==
-     *          Derived::getStaticClassID()) ...
-     *
-     * @return   The class ID for all objects of this class.
-     * @stable ICU 2.0
-     */
-    static UClassID U_EXPORT2 getStaticClassID(void);
-
-    /**
-     * Get the calendar type, "gregorian", for use in DateFormatSymbols.
-     *
-     * @return calendar type
-     * @internal
-     */
-    virtual const char * getType() const;
-
-protected:
-
-    /**
-     * (Overrides Calendar) Converts GMT as milliseconds to time field values.
-     * @param status Fill-in parameter which receives the status of this operation.
-     * @stable ICU 2.0
-     */
-
- private:
-    GregorianCalendar(); // default constructor not implemented
-
- protected:
-    /**
-     * Return the ERA.  We need a special method for this because the
-     * default ERA is AD, but a zero (unset) ERA is BC.
-     * @return    the ERA.
-     * @internal
-     */
-    virtual int32_t internalGetEra() const;
-
-    /**
-     * Return the Julian day number of day before the first day of the
-     * given month in the given extended year.  Subclasses should override
-     * this method to implement their calendar system.
-     * @param eyear the extended year
-     * @param month the zero-based month, or 0 if useMonth is false
-     * @param useMonth if false, compute the day before the first day of
-     * the given year, otherwise, compute the day before the first day of
-     * the given month
-     * @return the Julian day number of the day before the first
-     * day of the given month and year
-     * @internal
-     */
-    virtual int32_t handleComputeMonthStart(int32_t eyear, int32_t month,
-                                                   UBool useMonth) const;
-
-    /**
-     * Subclasses may override this.  This method calls
-     * handleGetMonthLength() to obtain the calendar-specific month
-     * length.
-     * @param bestField which field to use to calculate the date 
-     * @return julian day specified by calendar fields.
-     * @internal
-     */
-    virtual int32_t handleComputeJulianDay(UCalendarDateFields bestField)  ;
-
-    /**
-     * Return the number of days in the given month of the given extended
-     * year of this calendar system.  Subclasses should override this
-     * method if they can provide a more correct or more efficient
-     * implementation than the default implementation in Calendar.
-     * @internal
-     */
-    virtual int32_t handleGetMonthLength(int32_t extendedYear, int32_t month) const;
-
-    /**
-     * Return the number of days in the given extended year of this
-     * calendar system.  Subclasses should override this method if they can
-     * provide a more correct or more efficient implementation than the
-     * default implementation in Calendar.
-     * @stable ICU 2.0
-     */
-    virtual int32_t handleGetYearLength(int32_t eyear) const;
-
-    /**
-     * return the length of the given month.
-     * @param month    the given month.
-     * @return    the length of the given month.
-     * @internal
-     */
-    virtual int32_t monthLength(int32_t month) const;
-
-    /**
-     * return the length of the month according to the given year.
-     * @param month    the given month.
-     * @param year     the given year.
-     * @return         the length of the month
-     * @internal
-     */
-    virtual int32_t monthLength(int32_t month, int32_t year) const;
-    
-    /**
-     * return the length of the given year.
-     * @param year    the given year.
-     * @return        the length of the given year.
-     * @internal
-     */
-    int32_t yearLength(int32_t year) const;
-    
-    /**
-     * return the length of the year field.
-     * @return    the length of the year field
-     * @internal
-     */
-    int32_t yearLength(void) const;
-
-    /**
-     * After adjustments such as add(MONTH), add(YEAR), we don't want the
-     * month to jump around.  E.g., we don't want Jan 31 + 1 month to go to Mar
-     * 3, we want it to go to Feb 28.  Adjustments which might run into this
-     * problem call this method to retain the proper month.
-     * @internal
-     */
-    void pinDayOfMonth(void);
-
-    /**
-     * Return the day number with respect to the epoch.  January 1, 1970 (Gregorian)
-     * is day zero.
-     * @param status Fill-in parameter which receives the status of this operation.
-     * @return       the day number with respect to the epoch.  
-     * @internal
-     */
-    virtual UDate getEpochDay(UErrorCode& status);
-
-    /**
-     * Subclass API for defining limits of different types.
-     * Subclasses must implement this method to return limits for the
-     * following fields:
-     *
-     * <pre>UCAL_ERA
-     * UCAL_YEAR
-     * UCAL_MONTH
-     * UCAL_WEEK_OF_YEAR
-     * UCAL_WEEK_OF_MONTH
-     * UCAL_DATE (DAY_OF_MONTH on Java)
-     * UCAL_DAY_OF_YEAR
-     * UCAL_DAY_OF_WEEK_IN_MONTH
-     * UCAL_YEAR_WOY
-     * UCAL_EXTENDED_YEAR</pre>
-     *
-     * @param field one of the above field numbers
-     * @param limitType one of <code>MINIMUM</code>, <code>GREATEST_MINIMUM</code>,
-     * <code>LEAST_MAXIMUM</code>, or <code>MAXIMUM</code>
-     * @internal
-     */
-    virtual int32_t handleGetLimit(UCalendarDateFields field, ELimitType limitType) const;
-
-    /**
-     * Return the extended year defined by the current fields.  This will
-     * use the UCAL_EXTENDED_YEAR field or the UCAL_YEAR and supra-year fields (such
-     * as UCAL_ERA) specific to the calendar system, depending on which set of
-     * fields is newer.
-     * @return the extended year
-     * @internal
-     */
-    virtual int32_t handleGetExtendedYear();
-
-    /** 
-     * Subclasses may override this to convert from week fields 
-     * (YEAR_WOY and WEEK_OF_YEAR) to an extended year in the case
-     * where YEAR, EXTENDED_YEAR are not set.
-     * The Gregorian implementation assumes a yearWoy in gregorian format, according to the current era.
-     * @return the extended year, UCAL_EXTENDED_YEAR
-     * @internal
-     */
-    virtual int32_t handleGetExtendedYearFromWeekFields(int32_t yearWoy, int32_t woy);
-
-
-    /**
-     * Subclasses may override this method to compute several fields
-     * specific to each calendar system.  These are:
-     *
-     * <ul><li>ERA
-     * <li>YEAR
-     * <li>MONTH
-     * <li>DAY_OF_MONTH
-     * <li>DAY_OF_YEAR
-     * <li>EXTENDED_YEAR</ul>
-     *
-     * <p>The GregorianCalendar implementation implements
-     * a calendar with the specified Julian/Gregorian cutover date.
-     * @internal
-     */
-    virtual void handleComputeFields(int32_t julianDay, UErrorCode &status);
-
- private:
-    /**
-     * Compute the julian day number of the given year.
-     * @param isGregorian    if true, using Gregorian calendar, otherwise using Julian calendar
-     * @param year           the given year.
-     * @param isLeap         true if the year is a leap year.       
-     * @return 
-     */
-    static double computeJulianDayOfYear(UBool isGregorian, int32_t year,
-                                         UBool& isLeap);
-    
-    /**
-     * Validates the values of the set time fields.  True if they're all valid.
-     * @return    True if the set time fields are all valid.
-     */
-    UBool validateFields(void) const;
-
-    /**
-     * Validates the value of the given time field.  True if it's valid.
-     */
-    UBool boundsCheck(int32_t value, UCalendarDateFields field) const;
-
-    /**
-     * Return the pseudo-time-stamp for two fields, given their
-     * individual pseudo-time-stamps.  If either of the fields
-     * is unset, then the aggregate is unset.  Otherwise, the
-     * aggregate is the later of the two stamps.
-     * @param stamp_a    One given field.
-     * @param stamp_b    Another given field.
-     * @return the pseudo-time-stamp for two fields
-     */
-    int32_t aggregateStamp(int32_t stamp_a, int32_t stamp_b);
-
-    /**
-     * The point at which the Gregorian calendar rules are used, measured in
-     * milliseconds from the standard epoch.  Default is October 15, 1582
-     * (Gregorian) 00:00:00 UTC, that is, October 4, 1582 (Julian) is followed
-     * by October 15, 1582 (Gregorian).  This corresponds to Julian day number
-     * 2299161. This is measured from the standard epoch, not in Julian Days.
-     * @internal
-     */
-    UDate                fGregorianCutover;
-
-    /**
-     * Julian day number of the Gregorian cutover
-     */
-    int32_t             fCutoverJulianDay;
-
-    /**
-     * Midnight, local time (using this Calendar's TimeZone) at or before the
-     * gregorianCutover. This is a pure date value with no time of day or
-     * timezone component.
-     */
-    UDate                 fNormalizedGregorianCutover;// = gregorianCutover;
-
-    /**
-     * The year of the gregorianCutover, with 0 representing
-     * 1 BC, -1 representing 2 BC, etc.
-     */
-    int32_t fGregorianCutoverYear;// = 1582;
-
-    /**
-     * The year of the gregorianCutover, with 0 representing
-     * 1 BC, -1 representing 2 BC, etc.
-     */
-    int32_t fGregorianCutoverJulianDay;// = 2299161;
-
-    /**
-     * Converts time as milliseconds to Julian date. The Julian date used here is not a
-     * true Julian date, since it is measured from midnight, not noon.
-     *
-     * @param millis  The given milliseconds.
-     * @return        The Julian date number.
-     */
-    static double millisToJulianDay(UDate millis);
-
-    /**
-     * Converts Julian date to time as milliseconds. The Julian date used here is not a
-     * true Julian date, since it is measured from midnight, not noon.
-     *
-     * @param julian  The given Julian date number.
-     * @return        Time as milliseconds.
-     */
-    static UDate julianDayToMillis(double julian);
-
-    /**
-     * Used by handleComputeJulianDay() and handleComputeMonthStart().
-     * Temporary field indicating whether the calendar is currently Gregorian as opposed to Julian.
-     */
-    UBool fIsGregorian;
-
-    /**
-     * Used by handleComputeJulianDay() and handleComputeMonthStart().
-     * Temporary field indicating that the sense of the gregorian cutover should be inverted
-     * to handle certain calculations on and around the cutover date.
-     */
-    UBool fInvertGregorian;
-
-
- public: // internal implementation
-
-    /**
-     * @internal 
-     * @return TRUE if this calendar has the notion of a default century
-     */
-    virtual UBool haveDefaultCentury() const;
-
-    /**
-     * @internal
-     * @return the start of the default century
-     */
-    virtual UDate defaultCenturyStart() const;
-
-    /**
-     * @internal 
-     * @return the beginning year of the default century
-     */
-    virtual int32_t defaultCenturyStartYear() const;
-
- private:
-    /**
-     * The system maintains a static default century start date.  This is initialized
-     * the first time it is used.  Before then, it is set to SYSTEM_DEFAULT_CENTURY to
-     * indicate an uninitialized state.  Once the system default century date and year
-     * are set, they do not change.
-     */
-    static UDate         fgSystemDefaultCenturyStart;
-
-    /**
-     * See documentation for systemDefaultCenturyStart.
-     */
-    static int32_t          fgSystemDefaultCenturyStartYear;
-
-    /**
-     * Default value that indicates the defaultCenturyStartYear is unitialized
-     */
-    static const int32_t    fgSystemDefaultCenturyYear;
-
-    /**
-     * Default value that indicates the UDate of the beginning of the system default century
-     */
-    static const UDate        fgSystemDefaultCentury;
-
-    /**
-     * Returns the beginning date of the 100-year window that dates with 2-digit years
-     * are considered to fall within.
-     * @return    the beginning date of the 100-year window that dates with 2-digit years
-     *            are considered to fall within.
-     */
-    UDate         internalGetDefaultCenturyStart(void) const;
-
-    /**
-     * Returns the first year of the 100-year window that dates with 2-digit years
-     * are considered to fall within.
-     * @return    the first year of the 100-year window that dates with 2-digit years
-     *            are considered to fall within.
-     */
-    int32_t          internalGetDefaultCenturyStartYear(void) const;
-
-    /**
-     * Initializes the 100-year window that dates with 2-digit years are considered
-     * to fall within so that its start date is 80 years before the current time.
-     */
-    static void  initializeSystemDefaultCentury(void);
-
-};
-
-U_NAMESPACE_END
-
-#endif /* #if !UCONFIG_NO_FORMATTING */
-
-#endif // _GREGOCAL
-//eof
-

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/locid.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/locid.h b/apps/couch_collate/platform/osx/icu/unicode/locid.h
deleted file mode 100644
index a3cc23b..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/locid.h
+++ /dev/null
@@ -1,765 +0,0 @@
-/*
-******************************************************************************
-*
-*   Copyright (C) 1996-2006, International Business Machines
-*   Corporation and others.  All Rights Reserved.
-*
-******************************************************************************
-*
-* File locid.h
-*
-* Created by: Helena Shih
-*
-* Modification History:
-*
-*   Date        Name        Description
-*   02/11/97    aliu        Changed gLocPath to fgLocPath and added methods to
-*                           get and set it.
-*   04/02/97    aliu        Made operator!= inline; fixed return value of getName().
-*   04/15/97    aliu        Cleanup for AIX/Win32.
-*   04/24/97    aliu        Numerous changes per code review.
-*   08/18/98    stephen     Added tokenizeString(),changed getDisplayName()
-*   09/08/98    stephen     Moved definition of kEmptyString for Mac Port
-*   11/09/99    weiv        Added const char * getName() const;
-*   04/12/00    srl         removing unicodestring api's and cached hash code
-*   08/10/01    grhoten     Change the static Locales to accessor functions
-******************************************************************************
-*/
-
-#ifndef LOCID_H
-#define LOCID_H
-
-#include "unicode/utypes.h"
-#include "unicode/uobject.h"
-#include "unicode/unistr.h"
-#include "unicode/putil.h"
-#include "unicode/uloc.h"
-#include "unicode/strenum.h"
-
-/**
- * \file
- * \brief C++ API: Locale ID object.
- */
-
-/**
- * A <code>Locale</code> object represents a specific geographical, political,
- * or cultural region. An operation that requires a <code>Locale</code> to perform
- * its task is called <em>locale-sensitive</em> and uses the <code>Locale</code>
- * to tailor information for the user. For example, displaying a number
- * is a locale-sensitive operation--the number should be formatted
- * according to the customs/conventions of the user's native country,
- * region, or culture.
- *
- * The Locale class is not suitable for subclassing.
- *
- * <P>
- * You can create a <code>Locale</code> object using the constructor in
- * this class:
- * \htmlonly<blockquote>\endhtmlonly
- * <pre>
- *       Locale( const   char*  language,
- *               const   char*  country,
- *               const   char*  variant);
- * </pre>
- * \htmlonly</blockquote>\endhtmlonly
- * The first argument to the constructors is a valid <STRONG>ISO
- * Language Code.</STRONG> These codes are the lower-case two-letter
- * codes as defined by ISO-639.
- * You can find a full list of these codes at:
- * <BR><a href ="http://www.loc.gov/standards/iso639-2/">
- * http://www.loc.gov/standards/iso639-2/</a>
- *
- * <P>
- * The second argument to the constructors is a valid <STRONG>ISO Country
- * Code.</STRONG> These codes are the upper-case two-letter codes
- * as defined by ISO-3166.
- * You can find a full list of these codes at a number of sites, such as:
- * <BR><a href="http://www.iso.org/iso/en/prods-services/iso3166ma/index.html">
- * http://www.iso.org/iso/en/prods-services/iso3166ma/index.html</a>
- *
- * <P>
- * The third constructor requires a third argument--the <STRONG>Variant.</STRONG>
- * The Variant codes are vendor and browser-specific.
- * For example, use REVISED for a langauge's revised script orthography, and POSIX for POSIX.
- * Where there are two variants, separate them with an underscore, and
- * put the most important one first. For
- * example, a Traditional Spanish collation might be referenced, with
- * "ES", "ES", "Traditional_POSIX".
- *
- * <P>
- * Because a <code>Locale</code> object is just an identifier for a region,
- * no validity check is performed when you construct a <code>Locale</code>.
- * If you want to see whether particular resources are available for the
- * <code>Locale</code> you construct, you must query those resources. For
- * example, ask the <code>NumberFormat</code> for the locales it supports
- * using its <code>getAvailableLocales</code> method.
- * <BR><STRONG>Note:</STRONG> When you ask for a resource for a particular
- * locale, you get back the best available match, not necessarily
- * precisely what you asked for. For more information, look at
- * <code>ResourceBundle</code>.
- *
- * <P>
- * The <code>Locale</code> class provides a number of convenient constants
- * that you can use to create <code>Locale</code> objects for commonly used
- * locales. For example, the following refers to a <code>Locale</code> object
- * for the United States:
- * \htmlonly<blockquote>\endhtmlonly
- * <pre>
- *       Locale::getUS()
- * </pre>
- * \htmlonly</blockquote>\endhtmlonly
- *
- * <P>
- * Once you've created a <code>Locale</code> you can query it for information about
- * itself. Use <code>getCountry</code> to get the ISO Country Code and
- * <code>getLanguage</code> to get the ISO Language Code. You can
- * use <code>getDisplayCountry</code> to get the
- * name of the country suitable for displaying to the user. Similarly,
- * you can use <code>getDisplayLanguage</code> to get the name of
- * the language suitable for displaying to the user. Interestingly,
- * the <code>getDisplayXXX</code> methods are themselves locale-sensitive
- * and have two versions: one that uses the default locale and one
- * that takes a locale as an argument and displays the name or country in
- * a language appropriate to that locale.
- *
- * <P>
- * ICU provides a number of classes that perform locale-sensitive
- * operations. For example, the <code>NumberFormat</code> class formats
- * numbers, currency, or percentages in a locale-sensitive manner. Classes
- * such as <code>NumberFormat</code> have a number of convenience methods
- * for creating a default object of that type. For example, the
- * <code>NumberFormat</code> class provides these three convenience methods
- * for creating a default <code>NumberFormat</code> object:
- * \htmlonly<blockquote>\endhtmlonly
- * <pre>
- *     UErrorCode success = U_ZERO_ERROR;
- *     Locale myLocale;
- *     NumberFormat *nf;
- *
- *     nf = NumberFormat::createInstance( success );          delete nf;
- *     nf = NumberFormat::createCurrencyInstance( success );  delete nf;
- *     nf = NumberFormat::createPercentInstance( success );   delete nf;
- * </pre>
- * \htmlonly</blockquote>\endhtmlonly
- * Each of these methods has two variants; one with an explicit locale
- * and one without; the latter using the default locale.
- * \htmlonly<blockquote>\endhtmlonly
- * <pre>
- *     nf = NumberFormat::createInstance( myLocale, success );          delete nf;
- *     nf = NumberFormat::createCurrencyInstance( myLocale, success );  delete nf;
- *     nf = NumberFormat::createPercentInstance( myLocale, success );   delete nf;
- * </pre>
- * \htmlonly</blockquote>\endhtmlonly
- * A <code>Locale</code> is the mechanism for identifying the kind of object
- * (<code>NumberFormat</code>) that you would like to get. The locale is
- * <STRONG>just</STRONG> a mechanism for identifying objects,
- * <STRONG>not</STRONG> a container for the objects themselves.
- *
- * <P>
- * Each class that performs locale-sensitive operations allows you
- * to get all the available objects of that type. You can sift
- * through these objects by language, country, or variant,
- * and use the display names to present a menu to the user.
- * For example, you can create a menu of all the collation objects
- * suitable for a given language. Such classes implement these
- * three class methods:
- * \htmlonly<blockquote>\endhtmlonly
- * <pre>
- *       static Locale* getAvailableLocales(int32_t& numLocales)
- *       static UnicodeString& getDisplayName(const Locale&  objectLocale,
- *                                            const Locale&  displayLocale,
- *                                            UnicodeString& displayName)
- *       static UnicodeString& getDisplayName(const Locale&  objectLocale,
- *                                            UnicodeString& displayName)
- * </pre>
- * \htmlonly</blockquote>\endhtmlonly
- *
- * @stable ICU 2.0
- * @see ResourceBundle
- */
-U_NAMESPACE_BEGIN
-class U_COMMON_API Locale : public UObject {
-public:
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getEnglish(void);
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getFrench(void);
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getGerman(void);
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getItalian(void);
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getJapanese(void);
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getKorean(void);
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getChinese(void);
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getSimplifiedChinese(void);
-    /** Useful constant for this language. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getTraditionalChinese(void);
-
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getFrance(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getGermany(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getItaly(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getJapan(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getKorea(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getChina(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getPRC(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getTaiwan(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getUK(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getUS(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getCanada(void);
-    /** Useful constant for this country/region. @stable ICU 2.0 */
-    static const Locale &U_EXPORT2 getCanadaFrench(void);
-
-
-    /**
-     * Construct a default locale object, a Locale for the default locale ID.
-     *
-     * @see getDefault
-     * @see uloc_getDefault
-     * @stable ICU 2.0
-     */
-    Locale();
-
-    /**
-     * Construct a locale from language, country, variant.
-     * If an error occurs, then the constructed object will be "bogus"
-     * (isBogus() will return TRUE).
-     *
-     * @param language Lowercase two-letter or three-letter ISO-639 code.
-     *  This parameter can instead be an ICU style C locale (e.g. "en_US"),
-     *  but the other parameters must not be used.
-     *  This parameter can be NULL; if so,
-     *  the locale is initialized to match the current default locale.
-     *  (This is the same as using the default constructor.)
-     *  Please note: The Java Locale class does NOT accept the form
-     *  'new Locale("en_US")' but only 'new Locale("en","US")'
-     *
-     * @param country  Uppercase two-letter ISO-3166 code. (optional)
-     * @param variant  Uppercase vendor and browser specific code. See class
-     *                 description. (optional)
-     * @param keywordsAndValues A string consisting of keyword/values pairs, such as
-     *                 "collation=phonebook;currency=euro"
-     *
-     * @see getDefault
-     * @see uloc_getDefault
-     * @stable ICU 2.0
-     */
-    Locale( const   char * language,
-            const   char * country  = 0,
-            const   char * variant  = 0,
-            const   char * keywordsAndValues = 0);
-
-    /**
-     * Initializes a Locale object from another Locale object.
-     *
-     * @param other The Locale object being copied in.
-     * @stable ICU 2.0
-     */
-    Locale(const    Locale& other);
-
-
-    /**
-     * Destructor
-     * @stable ICU 2.0
-     */
-    virtual ~Locale() ;
-
-    /**
-     * Replaces the entire contents of *this with the specified value.
-     *
-     * @param other The Locale object being copied in.
-     * @return      *this
-     * @stable ICU 2.0
-     */
-    Locale& operator=(const Locale& other);
-
-    /**
-     * Checks if two locale keys are the same.
-     *
-     * @param other The locale key object to be compared with this.
-     * @return      True if the two locale keys are the same, false otherwise.
-     * @stable ICU 2.0
-     */
-    UBool   operator==(const    Locale&     other) const;
-
-    /**
-     * Checks if two locale keys are not the same.
-     *
-     * @param other The locale key object to be compared with this.
-     * @return      True if the two locale keys are not the same, false
-     *              otherwise.
-     * @stable ICU 2.0
-     */
-    UBool   operator!=(const    Locale&     other) const;
-
-    /**
-     * Clone this object.
-     * Clones can be used concurrently in multiple threads.
-     * If an error occurs, then NULL is returned.
-     * The caller must delete the clone.
-     *
-     * @return a clone of this object
-     *
-     * @see getDynamicClassID
-     * @stable ICU 2.8
-     */
-    Locale *clone() const;
-
-    /**
-     * Common methods of getting the current default Locale. Used for the
-     * presentation: menus, dialogs, etc. Generally set once when your applet or
-     * application is initialized, then never reset. (If you do reset the
-     * default locale, you probably want to reload your GUI, so that the change
-     * is reflected in your interface.)
-     *
-     * More advanced programs will allow users to use different locales for
-     * different fields, e.g. in a spreadsheet.
-     *
-     * Note that the initial setting will match the host system.
-     * @return a reference to the Locale object for the default locale ID
-     * @system
-     * @stable ICU 2.0
-     */
-    static const Locale& U_EXPORT2 getDefault(void);
-
-    /**
-     * Sets the default. Normally set once at the beginning of a process,
-     * then never reset.
-     * setDefault() only changes ICU's default locale ID, <strong>not</strong>
-     * the default locale ID of the runtime environment.
-     *
-     * @param newLocale Locale to set to.  If NULL, set to the value obtained
-     *                  from the runtime environement.
-     * @param success The error code.
-     * @system
-     * @stable ICU 2.0
-     */
-    static void U_EXPORT2 setDefault(const Locale& newLocale,
-                                     UErrorCode&   success);
-
-    /**
-     * Creates a locale which has had minimal canonicalization
-     * as per uloc_getName().
-     * @param name The name to create from.  If name is null,
-     *  the default Locale is used.
-     * @return new locale object
-     * @stable ICU 2.0
-     * @see uloc_getName
-     */
-    static Locale U_EXPORT2 createFromName(const char *name);
-
-    /**
-     * Creates a locale from the given string after canonicalizing
-     * the string by calling uloc_canonicalize().
-     * @param name the locale ID to create from.  Must not be NULL.
-     * @return a new locale object corresponding to the given name
-     * @stable ICU 3.0
-     * @see uloc_canonicalize
-     */
-    static Locale U_EXPORT2 createCanonical(const char* name);
-
-    /**
-     * Returns the locale's ISO-639 language code.
-     * @return      An alias to the code
-     * @stable ICU 2.0
-     */
-    inline const char *  getLanguage( ) const;
-
-    /**
-     * Returns the locale's ISO-15924 abbreviation script code.
-     * @return      An alias to the code
-     * @see uscript_getShortName
-     * @see uscript_getCode
-     * @stable ICU 2.8
-     */
-    inline const char *  getScript( ) const;
-
-    /**
-     * Returns the locale's ISO-3166 country code.
-     * @return      An alias to the code
-     * @stable ICU 2.0
-     */
-    inline const char *  getCountry( ) const;
-
-    /**
-     * Returns the locale's variant code.
-     * @return      An alias to the code
-     * @stable ICU 2.0
-     */
-    inline const char *  getVariant( ) const;
-
-    /**
-     * Returns the programmatic name of the entire locale, with the language,
-     * country and variant separated by underbars. If a field is missing, up
-     * to two leading underbars will occur. Example: "en", "de_DE", "en_US_WIN",
-     * "de__POSIX", "fr__MAC", "__MAC", "_MT", "_FR_EURO"
-     * @return      A pointer to "name".
-     * @stable ICU 2.0
-     */
-    inline const char * getName() const;
-
-    /**
-     * Returns the programmatic name of the entire locale as getName would return,
-     * but without keywords.
-     * @return      A pointer to "name".
-     * @see getName
-     * @stable ICU 2.8
-     */
-    const char * getBaseName() const;
-
-
-    /**
-     * Gets the list of keywords for the specified locale.
-     *
-     * @return pointer to StringEnumeration class. Client must dispose of it by calling delete.
-     * @param status Returns any error information while performing this operation.
-     * @stable ICU 2.8
-     */
-    StringEnumeration * createKeywords(UErrorCode &status) const;
-
-    /**
-     * Get the value for a keyword.
-     *
-     * @param keywordName name of the keyword for which we want the value. Case insensitive.
-     * @param status Returns any error information while performing this operation.
-     * @param buffer The buffer to receive the keyword value.
-     * @param bufferCapacity The capacity of receiving buffer
-     * @return the length of keyword value
-     *
-     * @stable ICU 2.8
-     */
-    int32_t getKeywordValue(const char* keywordName, char *buffer, int32_t bufferCapacity, UErrorCode &status) const;
-
-    /**
-     * returns the locale's three-letter language code, as specified
-     * in ISO draft standard ISO-639-2.
-     * @return      An alias to the code, or NULL
-     * @stable ICU 2.0
-     */
-    const char * getISO3Language() const;
-
-    /**
-     * Fills in "name" with the locale's three-letter ISO-3166 country code.
-     * @return      An alias to the code, or NULL
-     * @stable ICU 2.0
-     */
-    const char * getISO3Country() const;
-
-    /**
-     * Returns the Windows LCID value corresponding to this locale.
-     * This value is stored in the resource data for the locale as a one-to-four-digit
-     * hexadecimal number.  If the resource is missing, in the wrong format, or
-     * there is no Windows LCID value that corresponds to this locale, returns 0.
-     * @stable ICU 2.0
-     */
-    uint32_t        getLCID(void) const;
-
-    /**
-     * Fills in "dispLang" with the name of this locale's language in a format suitable for
-     * user display in the default locale.  For example, if the locale's language code is
-     * "fr" and the default locale's language code is "en", this function would set
-     * dispLang to "French".
-     * @param dispLang  Receives the language's display name.
-     * @return          A reference to "dispLang".
-     * @stable ICU 2.0
-     */
-    UnicodeString&  getDisplayLanguage(UnicodeString&   dispLang) const;
-
-    /**
-     * Fills in "dispLang" with the name of this locale's language in a format suitable for
-     * user display in the locale specified by "displayLocale".  For example, if the locale's
-     * language code is "en" and displayLocale's language code is "fr", this function would set
-     * dispLang to "Anglais".
-     * @param displayLocale  Specifies the locale to be used to display the name.  In other words,
-     *                  if the locale's language code is "en", passing Locale::getFrench() for
-     *                  displayLocale would result in "Anglais", while passing Locale::getGerman()
-     *                  for displayLocale would result in "Englisch".
-     * @param dispLang  Receives the language's display name.
-     * @return          A reference to "dispLang".
-     * @stable ICU 2.0
-     */
-    UnicodeString&  getDisplayLanguage( const   Locale&         displayLocale,
-                                                UnicodeString&  dispLang) const;
-
-    /**
-     * Fills in "dispScript" with the name of this locale's script in a format suitable
-     * for user display in the default locale.  For example, if the locale's script code
-     * is "LATN" and the default locale's language code is "en", this function would set
-     * dispScript to "Latin".
-     * @param dispScript    Receives the scripts's display name.
-     * @return              A reference to "dispScript".
-     * @stable ICU 2.8
-     */
-    UnicodeString&  getDisplayScript(          UnicodeString& dispScript) const;
-
-    /**
-     * Fills in "dispScript" with the name of this locale's country in a format suitable
-     * for user display in the locale specified by "displayLocale".  For example, if the locale's
-     * script code is "LATN" and displayLocale's language code is "en", this function would set
-     * dispScript to "Latin".
-     * @param displayLocale      Specifies the locale to be used to display the name.  In other
-     *                      words, if the locale's script code is "LATN", passing
-     *                      Locale::getFrench() for displayLocale would result in "", while
-     *                      passing Locale::getGerman() for displayLocale would result in
-     *                      "".
-     * @param dispScript    Receives the scripts's display name.
-     * @return              A reference to "dispScript".
-     * @stable ICU 2.8
-     */
-    UnicodeString&  getDisplayScript(  const   Locale&         displayLocale,
-                                               UnicodeString&  dispScript) const;
-
-    /**
-     * Fills in "dispCountry" with the name of this locale's country in a format suitable
-     * for user display in the default locale.  For example, if the locale's country code
-     * is "FR" and the default locale's language code is "en", this function would set
-     * dispCountry to "France".
-     * @param dispCountry   Receives the country's display name.
-     * @return              A reference to "dispCountry".
-     * @stable ICU 2.0
-     */
-    UnicodeString&  getDisplayCountry(          UnicodeString& dispCountry) const;
-
-    /**
-     * Fills in "dispCountry" with the name of this locale's country in a format suitable
-     * for user display in the locale specified by "displayLocale".  For example, if the locale's
-     * country code is "US" and displayLocale's language code is "fr", this function would set
-     * dispCountry to "&Eacute;tats-Unis".
-     * @param displayLocale      Specifies the locale to be used to display the name.  In other
-     *                      words, if the locale's country code is "US", passing
-     *                      Locale::getFrench() for displayLocale would result in "&Eacute;tats-Unis", while
-     *                      passing Locale::getGerman() for displayLocale would result in
-     *                      "Vereinigte Staaten".
-     * @param dispCountry   Receives the country's display name.
-     * @return              A reference to "dispCountry".
-     * @stable ICU 2.0
-     */
-    UnicodeString&  getDisplayCountry(  const   Locale&         displayLocale,
-                                                UnicodeString&  dispCountry) const;
-
-    /**
-     * Fills in "dispVar" with the name of this locale's variant code in a format suitable
-     * for user display in the default locale.
-     * @param dispVar   Receives the variant's name.
-     * @return          A reference to "dispVar".
-     * @stable ICU 2.0
-     */
-    UnicodeString&  getDisplayVariant(      UnicodeString& dispVar) const;
-
-    /**
-     * Fills in "dispVar" with the name of this locale's variant code in a format
-     * suitable for user display in the locale specified by "displayLocale".
-     * @param displayLocale  Specifies the locale to be used to display the name.
-     * @param dispVar   Receives the variant's display name.
-     * @return          A reference to "dispVar".
-     * @stable ICU 2.0
-     */
-    UnicodeString&  getDisplayVariant(  const   Locale&         displayLocale,
-                                                UnicodeString&  dispVar) const;
-
-    /**
-     * Fills in "name" with the name of this locale in a format suitable for user display
-     * in the default locale.  This function uses getDisplayLanguage(), getDisplayCountry(),
-     * and getDisplayVariant() to do its work, and outputs the display name in the format
-     * "language (country[,variant])".  For example, if the default locale is en_US, then
-     * fr_FR's display name would be "French (France)", and es_MX_Traditional's display name
-     * would be "Spanish (Mexico,Traditional)".
-     * @param name  Receives the locale's display name.
-     * @return      A reference to "name".
-     * @stable ICU 2.0
-     */
-    UnicodeString&  getDisplayName(         UnicodeString&  name) const;
-
-    /**
-     * Fills in "name" with the name of this locale in a format suitable for user display
-     * in the locale specfied by "displayLocale".  This function uses getDisplayLanguage(),
-     * getDisplayCountry(), and getDisplayVariant() to do its work, and outputs the display
-     * name in the format "language (country[,variant])".  For example, if displayLocale is
-     * fr_FR, then en_US's display name would be "Anglais (&Eacute;tats-Unis)", and no_NO_NY's
-     * display name would be "norv&eacute;gien (Norv&egrave;ge,NY)".
-     * @param displayLocale  Specifies the locale to be used to display the name.
-     * @param name      Receives the locale's display name.
-     * @return          A reference to "name".
-     * @stable ICU 2.0
-     */
-    UnicodeString&  getDisplayName( const   Locale&         displayLocale,
-                                            UnicodeString&  name) const;
-
-    /**
-     * Generates a hash code for the locale.
-     * @stable ICU 2.0
-     */
-    int32_t         hashCode(void) const;
-
-    /**
-     * Sets the locale to bogus
-     * A bogus locale represents a non-existing locale associated
-     * with services that can be instantiated from non-locale data
-     * in addition to locale (for example, collation can be
-     * instantiated from a locale and from a rule set).
-     * @stable ICU 2.1
-     */
-    void setToBogus();
-
-    /**
-     * Gets the bogus state. Locale object can be bogus if it doesn't exist
-     * @return FALSE if it is a real locale, TRUE if it is a bogus locale
-     * @stable ICU 2.1
-     */
-    UBool isBogus(void) const;
-
-    /**
-     * Returns a list of all installed locales.
-     * @param count Receives the number of locales in the list.
-     * @return      A pointer to an array of Locale objects.  This array is the list
-     *              of all locales with installed resource files.  The called does NOT
-     *              get ownership of this list, and must NOT delete it.
-     * @stable ICU 2.0
-     */
-    static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
-
-    /**
-     * Gets a list of all available 2-letter country codes defined in ISO 639.  This is a
-     * pointer to an array of pointers to arrays of char.  All of these pointers are
-     * owned by ICU-- do not delete them, and do not write through them.  The array is
-     * terminated with a null pointer.
-     * @return a list of all available country codes
-     * @stable ICU 2.0
-     */
-    static const char* const* U_EXPORT2 getISOCountries();
-
-    /**
-     * Gets a list of all available language codes defined in ISO 639.  This is a pointer
-     * to an array of pointers to arrays of char.  All of these pointers are owned
-     * by ICU-- do not delete them, and do not write through them.  The array is
-     * terminated with a null pointer.
-     * @return a list of all available language codes
-     * @stable ICU 2.0
-     */
-    static const char* const* U_EXPORT2 getISOLanguages();
-
-    /**
-     * ICU "poor man's RTTI", returns a UClassID for this class.
-     *
-     * @stable ICU 2.2
-     */
-    static UClassID U_EXPORT2 getStaticClassID();
-
-    /**
-     * ICU "poor man's RTTI", returns a UClassID for the actual class.
-     *
-     * @stable ICU 2.2
-     */
-    virtual UClassID getDynamicClassID() const;
-
-protected: /* only protected for testing purposes. DO NOT USE. */
-    /**
-     * Set this from a single POSIX style locale string.
-     * @internal
-     */
-    void setFromPOSIXID(const char *posixID);
-
-private:
-    /**
-     * Initialize the locale object with a new name.
-     * Was deprecated - used in implementation - moved internal
-     *
-     * @param cLocaleID The new locale name.
-     */
-    Locale& init(const char* cLocaleID, UBool canonicalize);
-
-    /*
-     * Internal constructor to allow construction of a locale object with
-     *   NO side effects.   (Default constructor tries to get
-     *   the default locale.)
-     */
-    enum ELocaleType {
-        eBOGUS
-    };
-    Locale(ELocaleType);
-
-    /**
-     * Initialize the locale cache for commonly used locales
-     */
-    static Locale *getLocaleCache(void);
-
-    char language[ULOC_LANG_CAPACITY];
-    char script[ULOC_SCRIPT_CAPACITY];
-    char country[ULOC_COUNTRY_CAPACITY];
-    int32_t variantBegin;
-    char* fullName;
-    char fullNameBuffer[ULOC_FULLNAME_CAPACITY];
-    // name without keywords
-    char* baseName;
-    char baseNameBuffer[ULOC_FULLNAME_CAPACITY];
-
-    UBool fIsBogus;
-
-    static const Locale &getLocale(int locid);
-
-    /**
-     * A friend to allow the default locale to be set by either the C or C++ API.
-     * @internal
-     */
-    friend void locale_set_default_internal(const char *);
-};
-
-inline UBool
-Locale::operator!=(const    Locale&     other) const
-{
-    return !operator==(other);
-}
-
-inline const char *
-Locale::getCountry() const
-{
-    return country;
-}
-
-inline const char *
-Locale::getLanguage() const
-{
-    return language;
-}
-
-inline const char *
-Locale::getScript() const
-{
-    return script;
-}
-
-inline const char *
-Locale::getVariant() const
-{
-    return &fullName[variantBegin];
-}
-
-inline const char *
-Locale::getName() const
-{
-    return fullName;
-}
-
-inline UBool
-Locale::isBogus(void) const {
-    return fIsBogus;
-}
-
-U_NAMESPACE_END
-
-#endif
-

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/measfmt.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/measfmt.h b/apps/couch_collate/platform/osx/icu/unicode/measfmt.h
deleted file mode 100644
index a5af55e..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/measfmt.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-**********************************************************************
-* Copyright (c) 2004-2006, International Business Machines
-* Corporation and others.  All Rights Reserved.
-**********************************************************************
-* Author: Alan Liu
-* Created: April 20, 2004
-* Since: ICU 3.0
-**********************************************************************
-*/
-#ifndef MEASUREFORMAT_H
-#define MEASUREFORMAT_H
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/format.h"
-
-/**
- * \file 
- * \brief C++ API: Formatter for measure objects.
- */
-
-U_NAMESPACE_BEGIN
-
-/**
- * 
- * A formatter for measure objects.  This is an abstract base class.
- *
- * <p>To format or parse a measure object, first create a formatter
- * object using a MeasureFormat factory method.  Then use that
- * object's format and parse methods.
- *
- * <p>This is an abstract class.
- *
- * @see Format
- * @author Alan Liu
- * @stable ICU 3.0
- */
-class U_I18N_API MeasureFormat : public Format {
-
- public:
-
-    /**
-     * Return a formatter for CurrencyAmount objects in the given
-     * locale.
-     * @param locale desired locale
-     * @param ec input-output error code
-     * @return a formatter object, or NULL upon error
-     * @stable ICU 3.0
-     */
-    static MeasureFormat* U_EXPORT2 createCurrencyFormat(const Locale& locale,
-                                               UErrorCode& ec);
-
-    /**
-     * Return a formatter for CurrencyAmount objects in the default
-     * locale.
-     * @param ec input-output error code
-     * @return a formatter object, or NULL upon error
-     * @stable ICU 3.0
-     */
-    static MeasureFormat* U_EXPORT2 createCurrencyFormat(UErrorCode& ec);
-
- protected:
-
-    /**
-     * Default constructor.
-     * @stable ICU 3.0
-     */
-    MeasureFormat();
-};
-
-U_NAMESPACE_END
-
-#endif // #if !UCONFIG_NO_FORMATTING
-#endif // #ifndef MEASUREFORMAT_H

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/measunit.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/measunit.h b/apps/couch_collate/platform/osx/icu/unicode/measunit.h
deleted file mode 100644
index 9a210e6..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/measunit.h
+++ /dev/null
@@ -1,71 +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 __MEASUREUNIT_H__
-#define __MEASUREUNIT_H__
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/fmtable.h"
-
-/**
- * \file 
- * \brief C++ API: A unit for measuring a quantity.
- */
- 
-U_NAMESPACE_BEGIN
-
-/**
- * A unit such as length, mass, volume, currency, etc.  A unit is
- * coupled with a numeric amount to produce a Measure.
- *
- * <p>This is an abstract class.
- *
- * @author Alan Liu
- * @stable ICU 3.0
- */
-class U_I18N_API MeasureUnit: public UObject {
- public:
-    /**
-     * 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 = 0;
-
-    /**
-     * Destructor
-     * @stable ICU 3.0
-     */
-    virtual ~MeasureUnit();
-    
-    /**
-     * Equality operator.  Return true if this object is equal
-     * to the given object.
-     * @stable ICU 3.0
-     */
-    virtual UBool operator==(const UObject& other) const = 0;
-
- protected:
-    /**
-     * Default constructor.
-     * @stable ICU 3.0
-     */
-    MeasureUnit();
-};
-
-U_NAMESPACE_END
-
-// NOTE: There is no measunit.cpp. For implementation, see measure.cpp. [alan]
-
-#endif // !UCONFIG_NO_FORMATTING
-#endif // __MEASUREUNIT_H__

http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/measure.h
----------------------------------------------------------------------
diff --git a/apps/couch_collate/platform/osx/icu/unicode/measure.h b/apps/couch_collate/platform/osx/icu/unicode/measure.h
deleted file mode 100644
index 6b7a049..0000000
--- a/apps/couch_collate/platform/osx/icu/unicode/measure.h
+++ /dev/null
@@ -1,137 +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 __MEASURE_H__
-#define __MEASURE_H__
-
-#include "unicode/utypes.h"
-
-/**
- * \file 
- * \brief C++ API: MeasureUnit object.
- */
- 
-#if !UCONFIG_NO_FORMATTING
-
-#include "unicode/fmtable.h"
-
-U_NAMESPACE_BEGIN
-
-class MeasureUnit;
-
-/**
- * An amount of a specified unit, consisting of a number and a Unit.
- * For example, a length measure consists of a number and a length
- * unit, such as feet or meters.  This is an abstract class.
- * Subclasses specify a concrete Unit type.
- *
- * <p>Measure objects are parsed and formatted by subclasses of
- * MeasureFormat.
- *
- * <p>Measure objects are immutable.
- *
- * <p>This is an abstract class.
- *
- * @author Alan Liu
- * @stable ICU 3.0
- */
-class U_I18N_API Measure: public UObject {
- public:
-    /**
-     * Construct an object with the given numeric amount and the given
-     * unit.  After this call, the caller must not delete the given
-     * unit object.
-     * @param number a numeric object; amount.isNumeric() must be TRUE
-     * @param adoptedUnit the unit object, which must not be NULL
-     * @param ec input-output error code. If the amount or the unit
-     * is invalid, then this will be set to a failing value.
-     * @stable ICU 3.0
-     */
-    Measure(const Formattable& number, MeasureUnit* adoptedUnit,
-            UErrorCode& ec);
-
-    /**
-     * Copy constructor
-     * @stable ICU 3.0
-     */
-    Measure(const Measure& other);
-
-    /**
-     * Assignment operator
-     * @stable ICU 3.0
-     */
-    Measure& operator=(const Measure& 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 = 0;
-
-    /**
-     * Destructor
-     * @stable ICU 3.0
-     */
-    virtual ~Measure();
-    
-    /**
-     * Equality operator.  Return true if this object is equal
-     * to the given object.
-     * @stable ICU 3.0
-     */
-    UBool operator==(const UObject& other) const;
-
-    /**
-     * Return a reference to the numeric value of this object.  The
-     * numeric value may be of any numeric type supported by
-     * Formattable.
-     * @stable ICU 3.0
-     */
-    inline const Formattable& getNumber() const;
-
-    /**
-     * Return a reference to the unit of this object.
-     * @stable ICU 3.0
-     */
-    inline const MeasureUnit& getUnit() const;
-
- protected:
-    /**
-     * Default constructor.
-     * @stable ICU 3.0
-     */
-    Measure();
-
- private:
-    /**
-     * The numeric value of this object, e.g. 2.54 or 100.
-     */
-    Formattable number;
-
-    /**
-     * The unit of this object, e.g., "millimeter" or "JPY".  This is
-     * owned by this object.
-     */
-    MeasureUnit* unit;
-};
-
-inline const Formattable& Measure::getNumber() const {
-    return number;
-}
-
-inline const MeasureUnit& Measure::getUnit() const {
-    return *unit;
-}
-
-U_NAMESPACE_END
-
-#endif // !UCONFIG_NO_FORMATTING
-#endif // __MEASURE_H__