Return-Path: X-Original-To: apmail-couchdb-commits-archive@www.apache.org Delivered-To: apmail-couchdb-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 796771017C for ; Thu, 13 Feb 2014 18:14:18 +0000 (UTC) Received: (qmail 76739 invoked by uid 500); 13 Feb 2014 18:13:06 -0000 Delivered-To: apmail-couchdb-commits-archive@couchdb.apache.org Received: (qmail 75074 invoked by uid 500); 13 Feb 2014 18:12:07 -0000 Mailing-List: contact commits-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list commits@couchdb.apache.org Received: (qmail 74871 invoked by uid 99); 13 Feb 2014 18:12:02 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Feb 2014 18:12:02 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id F27F88A9275; Thu, 13 Feb 2014 18:12:00 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: benoitc@apache.org To: commits@couchdb.apache.org Date: Thu, 13 Feb 2014 18:12:33 -0000 Message-Id: In-Reply-To: <113237e1f9904b5cb0e6f0a915a4b1ba@git.apache.org> References: <113237e1f9904b5cb0e6f0a915a4b1ba@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [35/57] [abbrv] remove couch_collate http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/dtitvinf.h ---------------------------------------------------------------------- diff --git a/apps/couch_collate/platform/osx/icu/unicode/dtitvinf.h b/apps/couch_collate/platform/osx/icu/unicode/dtitvinf.h deleted file mode 100644 index 07a8dbd..0000000 --- a/apps/couch_collate/platform/osx/icu/unicode/dtitvinf.h +++ /dev/null @@ -1,528 +0,0 @@ -/* - ******************************************************************************* - * Copyright (C) 2008, International Business Machines Corporation and - * others. All Rights Reserved. - ******************************************************************************* - * - * File DTITVINF.H - * - ******************************************************************************* - */ - -#ifndef __DTITVINF_H__ -#define __DTITVINF_H__ - -#include "unicode/utypes.h" - -/** - * \file - * \brief C++ API: Date/Time interval patterns for formatting date/time interval - */ - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/udat.h" -#include "unicode/locid.h" -#include "unicode/ucal.h" -#include "unicode/dtptngen.h" -//#include "dtitv_impl.h" - -/** - * @internal ICU 4.0 - */ - -union UHashTok; - - -U_NAMESPACE_BEGIN - -U_CDECL_BEGIN - -/** - * @internal ICU 4.0 - */ -static UBool U_CALLCONV hashTableValueComparator(UHashTok val1, UHashTok val2) ; - -U_CDECL_END - - -/** - * DateIntervalInfo is a public class for encapsulating localizable - * date time interval patterns. It is used by DateIntervalFormat. - * - *

- * For most users, ordinary use of DateIntervalFormat does not need to create - * DateIntervalInfo object directly. - * DateIntervalFormat will take care of it when creating a date interval - * formatter when user pass in skeleton and locale. - * - *

- * For power users, who want to create their own date interval patterns, - * or want to re-set date interval patterns, they could do so by - * directly creating DateIntervalInfo and manupulating it. - * - *

- * Logically, the interval patterns are mappings - * from (skeleton, the_largest_different_calendar_field) - * to (date_interval_pattern). - * - *

- * A skeleton - *

    - *
  1. - * only keeps the field pattern letter and ignores all other parts - * in a pattern, such as space, punctuations, and string literals. - *
  2. - * hides the order of fields. - *
  3. - * might hide a field's pattern letter length. - * - * For those non-digit calendar fields, the pattern letter length is - * important, such as MMM, MMMM, and MMMMM; EEE and EEEE, - * and the field's pattern letter length is honored. - * - * For the digit calendar fields, such as M or MM, d or dd, yy or yyyy, - * the field pattern length is ignored and the best match, which is defined - * in date time patterns, will be returned without honor the field pattern - * letter length in skeleton. - *
- * - *

- * The calendar fields we support for interval formatting are: - * year, month, date, day-of-week, am-pm, hour, hour-of-day, and minute. - * Those calendar fields can be defined in the following order: - * year > month > date > am-pm > hour > minute - * - * The largest different calendar fields between 2 calendars is the - * first different calendar field in above order. - * - * For example: the largest different calendar fields between "Jan 10, 2007" - * and "Feb 20, 2008" is year. - * - *

- * There is a set of pre-defined static skeleton strings. - * There are pre-defined interval patterns for those pre-defined skeletons - * in locales' resource files. - * For example, for a skeleton UDAT_YEAR_ABBR_MONTH_DAY, which is "yMMMd", - * in en_US, if the largest different calendar field between date1 and date2 - * is "year", the date interval pattern is "MMM d, yyyy - MMM d, yyyy", - * such as "Jan 10, 2007 - Jan 10, 2008". - * If the largest different calendar field between date1 and date2 is "month", - * the date interval pattern is "MMM d - MMM d, yyyy", - * such as "Jan 10 - Feb 10, 2007". - * If the largest different calendar field between date1 and date2 is "day", - * the date interval pattern is ""MMM d-d, yyyy", such as "Jan 10-20, 2007". - * - * For date skeleton, the interval patterns when year, or month, or date is - * different are defined in resource files. - * For time skeleton, the interval patterns when am/pm, or hour, or minute is - * different are defined in resource files. - * - * - *

- * There are 2 dates in interval pattern. For most locales, the first date - * in an interval pattern is the earlier date. There might be a locale in which - * the first date in an interval pattern is the later date. - * We use fallback format for the default order for the locale. - * For example, if the fallback format is "{0} - {1}", it means - * the first date in the interval pattern for this locale is earlier date. - * If the fallback format is "{1} - {0}", it means the first date is the - * later date. - * For a particular interval pattern, the default order can be overriden - * by prefixing "latestFirst:" or "earliestFirst:" to the interval pattern. - * For example, if the fallback format is "{0}-{1}", - * but for skeleton "yMMMd", the interval pattern when day is different is - * "latestFirst:d-d MMM yy", it means by default, the first date in interval - * pattern is the earlier date. But for skeleton "yMMMd", when day is different, - * the first date in "d-d MMM yy" is the later date. - * - *

- * The recommended way to create a DateIntervalFormat object is to pass in - * the locale. - * By using a Locale parameter, the DateIntervalFormat object is - * initialized with the pre-defined interval patterns for a given or - * default locale. - *

- * Users can also create DateIntervalFormat object - * by supplying their own interval patterns. - * It provides flexibility for power users. - * - *

- * After a DateIntervalInfo object is created, clients may modify - * the interval patterns using setIntervalPattern function as so desired. - * Currently, users can only set interval patterns when the following - * calendar fields are different: ERA, YEAR, MONTH, DATE, DAY_OF_MONTH, - * DAY_OF_WEEK, AM_PM, HOUR, HOUR_OF_DAY, and MINUTE. - * Interval patterns when other calendar fields are different is not supported. - *

- * DateIntervalInfo objects are cloneable. - * When clients obtain a DateIntervalInfo object, - * they can feel free to modify it as necessary. - *

- * DateIntervalInfo are not expected to be subclassed. - * Data for a calendar is loaded out of resource bundles. - * To ICU 4.0, date interval patterns are only supported in Gregorian calendar. - * @draft ICU 4.0 -**/ - -class U_I18N_API DateIntervalInfo : public UObject { -public: - /** - * Default constructor. - * It does not initialize any interval patterns except - * that it initialize default fall-back pattern as "{0} - {1}", - * which can be reset by setFallbackIntervalPattern(). - * It should be followed by setFallbackIntervalPattern() and - * setIntervalPattern(), - * and is recommended to be used only for power users who - * wants to create their own interval patterns and use them to create - * date interval formatter. - * @param status output param set to success/failure code on exit - * @internal ICU 4.0 - */ - DateIntervalInfo(UErrorCode& status); - - - /** - * Construct DateIntervalInfo for the given locale, - * @param locale the interval patterns are loaded from the Gregorian - * calendar data in this locale. - * @param status output param set to success/failure code on exit - * @draft ICU 4.0 - */ - DateIntervalInfo(const Locale& locale, UErrorCode& status); - - - /** - * Copy constructor. - * @draft ICU 4.0 - */ - DateIntervalInfo(const DateIntervalInfo&); - - /** - * Assignment operator - * @draft ICU 4.0 - */ - DateIntervalInfo& operator=(const DateIntervalInfo&); - - /** - * Clone this object polymorphically. - * The caller owns the result and should delete it when done. - * @return a copy of the object - * @draft ICU4.0 - */ - virtual DateIntervalInfo* clone(void) const; - - /** - * Destructor. - * It is virtual to be safe, but it is not designed to be subclassed. - * @draft ICU 4.0 - */ - virtual ~DateIntervalInfo(); - - - /** - * Return true if another object is semantically equal to this one. - * - * @param other the DateIntervalInfo object to be compared with. - * @return true if other is semantically equal to this. - * @stable ICU 4.0 - */ - virtual UBool operator==(const DateIntervalInfo& other) const; - - /** - * Return true if another object is semantically unequal to this one. - * - * @param other the DateIntervalInfo object to be compared with. - * @return true if other is semantically unequal to this. - * @stable ICU 4.0 - */ - UBool operator!=(const DateIntervalInfo& other) const; - - - - /** - * Provides a way for client to build interval patterns. - * User could construct DateIntervalInfo by providing a list of skeletons - * and their patterns. - *

- * For example: - *

-     * UErrorCode status = U_ZERO_ERROR;
-     * DateIntervalInfo dIntervalInfo = new DateIntervalInfo();
-     * dIntervalInfo->setFallbackIntervalPattern("{0} ~ {1}");
-     * dIntervalInfo->setIntervalPattern("yMd", UCAL_YEAR, "'from' yyyy-M-d 'to' yyyy-M-d", status); 
-     * dIntervalInfo->setIntervalPattern("yMMMd", UCAL_MONTH, "'from' yyyy MMM d 'to' MMM d", status);
-     * dIntervalInfo->setIntervalPattern("yMMMd", UCAL_DAY, "yyyy MMM d-d", status, status);
-     * 
- * - * Restriction: - * Currently, users can only set interval patterns when the following - * calendar fields are different: ERA, YEAR, MONTH, DATE, DAY_OF_MONTH, - * DAY_OF_WEEK, AM_PM, HOUR, HOUR_OF_DAY, and MINUTE. - * Interval patterns when other calendar fields are different are - * not supported. - * - * @param skeleton the skeleton on which interval pattern based - * @param lrgDiffCalUnit the largest different calendar unit. - * @param intervalPattern the interval pattern on the largest different - * calendar unit. - * For example, if lrgDiffCalUnit is - * "year", the interval pattern for en_US when year - * is different could be "'from' yyyy 'to' yyyy". - * @param status output param set to success/failure code on exit - * @draft ICU 4.0 - */ - void setIntervalPattern(const UnicodeString& skeleton, - UCalendarDateFields lrgDiffCalUnit, - const UnicodeString& intervalPattern, - UErrorCode& status); - - /** - * Get the interval pattern given skeleton and - * the largest different calendar field. - * @param skeleton the skeleton - * @param field the largest different calendar field - * @param result output param to receive the pattern - * @param status output param set to success/failure code on exit - * @return a reference to 'result' - * @draft ICU 4.0 - */ - UnicodeString& getIntervalPattern(const UnicodeString& skeleton, - UCalendarDateFields field, - UnicodeString& result, - UErrorCode& status) const; - - /** - * Get the fallback interval pattern. - * @param result output param to receive the pattern - * @return a reference to 'result' - * @draft ICU 4.0 - */ - UnicodeString& getFallbackIntervalPattern(UnicodeString& result) const; - - - /** - * Re-set the fallback interval pattern. - * - * In construction, default fallback pattern is set as "{0} - {1}". - * And constructor taking locale as parameter will set the - * fallback pattern as what defined in the locale resource file. - * - * This method provides a way for user to replace the fallback pattern. - * - * @param fallbackPattern fall-back interval pattern. - * @param status output param set to success/failure code on exit - * @draft ICU 4.0 - */ - void setFallbackIntervalPattern(const UnicodeString& fallbackPattern, - UErrorCode& status); - - - /** Get default order -- whether the first date in pattern is later date - or not. - * return default date ordering in interval pattern. TRUE if the first date - * in pattern is later date, FALSE otherwise. - * @draft ICU 4.0 - */ - UBool getDefaultOrder() const; - - - /** - * ICU "poor man's RTTI", returns a UClassID for the actual class. - * - * @stable ICU 4.0 - */ - virtual UClassID getDynamicClassID() const; - - /** - * ICU "poor man's RTTI", returns a UClassID for this class. - * - * @stable ICU 4.0 - */ - static UClassID U_EXPORT2 getStaticClassID(); - - -private: - /** - * DateIntervalFormat will need access to - * getBestSkeleton(), parseSkeleton(), enum IntervalPatternIndex, - * and calendarFieldToPatternIndex(). - * - * Instead of making above public, - * make DateIntervalFormat a friend of DateIntervalInfo. - */ - friend class DateIntervalFormat; - - friend UBool U_CALLCONV hashTableValueComparator(UHashTok val1, UHashTok val2) ; - - /** - * Following is for saving the interval patterns. - * We only support interval patterns on - * ERA, YEAR, MONTH, DAY, AM_PM, HOUR, and MINUTE - */ - enum IntervalPatternIndex - { - kIPI_ERA, - kIPI_YEAR, - kIPI_MONTH, - kIPI_DATE, - kIPI_AM_PM, - kIPI_HOUR, - kIPI_MINUTE, - kIPI_MAX_INDEX - }; - - /** - * Initialize the DateIntervalInfo from locale - * @param locale the given locale. - * @param status output param set to success/failure code on exit - * @internal ICU 4.0 - */ - void initializeData(const Locale& locale, UErrorCode& status); - - - /* Set Interval pattern. - * - * It sets interval pattern into the hash map. - * - * @param skeleton skeleton on which the interval pattern based - * @param lrgDiffCalUnit the largest different calendar unit. - * @param intervalPattern the interval pattern on the largest different - * calendar unit. - * @param status output param set to success/failure code on exit - * @internal ICU 4.0 - */ - void setIntervalPatternInternally(const UnicodeString& skeleton, - UCalendarDateFields lrgDiffCalUnit, - const UnicodeString& intervalPattern, - UErrorCode& status); - - - /**given an input skeleton, get the best match skeleton - * which has pre-defined interval pattern in resource file. - * Also return the difference between the input skeleton - * and the best match skeleton. - * - * TODO (xji): set field weight or - * isolate the funtionality in DateTimePatternGenerator - * @param skeleton input skeleton - * @param bestMatchDistanceInfo the difference between input skeleton - * and best match skeleton. - * 0, if there is exact match for input skeleton - * 1, if there is only field width difference between - * the best match and the input skeleton - * 2, the only field difference is 'v' and 'z' - * -1, if there is calendar field difference between - * the best match and the input skeleton - * @return best match skeleton - * @internal ICU 4.0 - */ - const UnicodeString* getBestSkeleton(const UnicodeString& skeleton, - int8_t& bestMatchDistanceInfo) const; - - - /** - * Parse skeleton, save each field's width. - * It is used for looking for best match skeleton, - * and adjust pattern field width. - * @param skeleton skeleton to be parsed - * @param skeletonFieldWidth parsed skeleton field width - * @internal ICU 4.0 - */ - static void U_EXPORT2 parseSkeleton(const UnicodeString& skeleton, - int32_t* skeletonFieldWidth); - - - /** - * Check whether one field width is numeric while the other is string. - * - * TODO (xji): make it general - * - * @param fieldWidth one field width - * @param anotherFieldWidth another field width - * @param patternLetter pattern letter char - * @return true if one field width is numeric and the other is string, - * false otherwise. - * @internal ICU 4.0 - */ - static UBool U_EXPORT2 stringNumeric(int32_t fieldWidth, - int32_t anotherFieldWidth, - char patternLetter); - - - /** - * Convert calendar field to the interval pattern index in - * hash table. - * - * Since we only support the following calendar fields: - * ERA, YEAR, MONTH, DATE, DAY_OF_MONTH, DAY_OF_WEEK, - * AM_PM, HOUR, HOUR_OF_DAY, and MINUTE, - * We reserve only 4 interval patterns for a skeleton. - * - * @param field calendar field - * @param status output param set to success/failure code on exit - * @return interval pattern index in hash table - * @internal ICU 4.0 - */ - static IntervalPatternIndex U_EXPORT2 calendarFieldToIntervalIndex( - UCalendarDateFields field, - UErrorCode& status); - - - /** - * delete hash table (of type fIntervalPatterns). - * - * @param hTable hash table to be deleted - * @internal ICU 4.0 - */ - void deleteHash(Hashtable* hTable); - - - /** - * initialize hash table (of type fIntervalPatterns). - * - * @param status output param set to success/failure code on exit - * @return hash table initialized - * @internal ICU 4.0 - */ - Hashtable* initHash(UErrorCode& status); - - - - /** - * copy hash table (of type fIntervalPatterns). - * - * @param source the source to copy from - * @param target the target to copy to - * @param status output param set to success/failure code on exit - * @internal ICU 4.0 - */ - void copyHash(const Hashtable* source, Hashtable* target, UErrorCode& status); - - - // data members - // fallback interval pattern - UnicodeString fFallbackIntervalPattern; - // default order - UBool fFirstDateInPtnIsLaterDate; - - // HashMap - // HashMap( skeleton, pattern[largest_different_field] ) - Hashtable* fIntervalPatterns; - -};// end class DateIntervalInfo - - -inline UBool -DateIntervalInfo::operator!=(const DateIntervalInfo& other) const { - return !operator==(other); -} - - -U_NAMESPACE_END - -#endif - -#endif - http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/dtptngen.h ---------------------------------------------------------------------- diff --git a/apps/couch_collate/platform/osx/icu/unicode/dtptngen.h b/apps/couch_collate/platform/osx/icu/unicode/dtptngen.h deleted file mode 100644 index eeea626..0000000 --- a/apps/couch_collate/platform/osx/icu/unicode/dtptngen.h +++ /dev/null @@ -1,423 +0,0 @@ -/* -******************************************************************************* -* Copyright (C) 2007-2009, International Business Machines Corporation and -* others. All Rights Reserved. -******************************************************************************* -* -* File DTPTNGEN.H -* -******************************************************************************* -*/ - -#ifndef __DTPTNGEN_H__ -#define __DTPTNGEN_H__ - -#include "unicode/datefmt.h" -#include "unicode/locid.h" -#include "unicode/udat.h" -#include "unicode/udatpg.h" - -U_NAMESPACE_BEGIN - -/** - * \file - * \brief C++ API: Date/Time Pattern Generator - */ - - -class Hashtable; -class FormatParser; -class DateTimeMatcher; -class DistanceInfo; -class PatternMap; -class PtnSkeleton; - -/** - * This class provides flexible generation of date format patterns, like "yy-MM-dd". - * The user can build up the generator by adding successive patterns. Once that - * is done, a query can be made using a "skeleton", which is a pattern which just - * includes the desired fields and lengths. The generator will return the "best fit" - * pattern corresponding to that skeleton. - *

The main method people will use is getBestPattern(String skeleton), - * since normally this class is pre-built with data from a particular locale. - * However, generators can be built directly from other data as well. - *

Issue: may be useful to also have a function that returns the list of - * fields in a pattern, in order, since we have that internally. - * That would be useful for getting the UI order of field elements. - * @stable ICU 3.8 -**/ -class U_I18N_API DateTimePatternGenerator : public UObject { -public: - /** - * Construct a flexible generator according to default locale. - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @stable ICU 3.8 - */ - static DateTimePatternGenerator* U_EXPORT2 createInstance(UErrorCode& status); - - /** - * Construct a flexible generator according to data for a given locale. - * @param uLocale - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @stable ICU 3.8 - */ - static DateTimePatternGenerator* U_EXPORT2 createInstance(const Locale& uLocale, UErrorCode& status); - - /** - * Create an empty generator, to be constructed with addPattern(...) etc. - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @stable ICU 3.8 - */ - static DateTimePatternGenerator* U_EXPORT2 createEmptyInstance(UErrorCode& status); - - /** - * Destructor. - * @stable ICU 3.8 - */ - virtual ~DateTimePatternGenerator(); - - /** - * Clone DateTimePatternGenerator object. Clients are responsible for - * deleting the DateTimePatternGenerator object cloned. - * @stable ICU 3.8 - */ - DateTimePatternGenerator* clone() const; - - /** - * Return true if another object is semantically equal to this one. - * - * @param other the DateTimePatternGenerator object to be compared with. - * @return true if other is semantically equal to this. - * @stable ICU 3.8 - */ - UBool operator==(const DateTimePatternGenerator& other) const; - - /** - * Return true if another object is semantically unequal to this one. - * - * @param other the DateTimePatternGenerator object to be compared with. - * @return true if other is semantically unequal to this. - * @stable ICU 3.8 - */ - UBool operator!=(const DateTimePatternGenerator& other) const; - - /** - * Utility to return a unique skeleton from a given pattern. For example, - * both "MMM-dd" and "dd/MMM" produce the skeleton "MMMdd". - * - * @param pattern Input pattern, such as "dd/MMM" - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @return skeleton such as "MMMdd" - * @stable ICU 3.8 - */ - UnicodeString getSkeleton(const UnicodeString& pattern, UErrorCode& status); - - /** - * Utility to return a unique base skeleton from a given pattern. This is - * the same as the skeleton, except that differences in length are minimized - * so as to only preserve the difference between string and numeric form. So - * for example, both "MMM-dd" and "d/MMM" produce the skeleton "MMMd" - * (notice the single d). - * - * @param pattern Input pattern, such as "dd/MMM" - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @return base skeleton, such as "Md" - * @stable ICU 3.8 - */ - UnicodeString getBaseSkeleton(const UnicodeString& pattern, UErrorCode& status); - - /** - * Adds a pattern to the generator. If the pattern has the same skeleton as - * an existing pattern, and the override parameter is set, then the previous - * value is overriden. Otherwise, the previous value is retained. In either - * case, the conflicting status is set and previous vale is stored in - * conflicting pattern. - *

- * Note that single-field patterns (like "MMM") are automatically added, and - * don't need to be added explicitly! - * - * @param pattern Input pattern, such as "dd/MMM" - * @param override When existing values are to be overridden use true, - * otherwise use false. - * @param conflictingPattern Previous pattern with the same skeleton. - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @return conflicting status. The value could be UDATPG_NO_CONFLICT, - * UDATPG_BASE_CONFLICT or UDATPG_CONFLICT. - * @stable ICU 3.8 - */ - UDateTimePatternConflict addPattern(const UnicodeString& pattern, - UBool override, - UnicodeString& conflictingPattern, - UErrorCode& status); - - /** - * An AppendItem format is a pattern used to append a field if there is no - * good match. For example, suppose that the input skeleton is "GyyyyMMMd", - * and there is no matching pattern internally, but there is a pattern - * matching "yyyyMMMd", say "d-MM-yyyy". Then that pattern is used, plus the - * G. The way these two are conjoined is by using the AppendItemFormat for G - * (era). So if that value is, say "{0}, {1}" then the final resulting - * pattern is "d-MM-yyyy, G". - *

- * There are actually three available variables: {0} is the pattern so far, - * {1} is the element we are adding, and {2} is the name of the element. - *

- * This reflects the way that the CLDR data is organized. - * - * @param field such as UDATPG_ERA_FIELD. - * @param value pattern, such as "{0}, {1}" - * @stable ICU 3.8 - */ - void setAppendItemFormat(UDateTimePatternField field, const UnicodeString& value); - - /** - * Getter corresponding to setAppendItemFormat. Values below 0 or at or - * above UDATPG_FIELD_COUNT are illegal arguments. - * - * @param field such as UDATPG_ERA_FIELD. - * @return append pattern for field - * @stable ICU 3.8 - */ - const UnicodeString& getAppendItemFormat(UDateTimePatternField field) const; - - /** - * Sets the names of field, eg "era" in English for ERA. These are only - * used if the corresponding AppendItemFormat is used, and if it contains a - * {2} variable. - *

- * This reflects the way that the CLDR data is organized. - * - * @param field such as UDATPG_ERA_FIELD. - * @param value name of the field - * @stable ICU 3.8 - */ - void setAppendItemName(UDateTimePatternField field, const UnicodeString& value); - - /** - * Getter corresponding to setAppendItemNames. Values below 0 or at or above - * UDATPG_FIELD_COUNT are illegal arguments. - * - * @param field such as UDATPG_ERA_FIELD. - * @return name for field - * @stable ICU 3.8 - */ - const UnicodeString& getAppendItemName(UDateTimePatternField field) const; - - /** - * The date time format is a message format pattern used to compose date and - * time patterns. The default value is "{0} {1}", where {0} will be replaced - * by the date pattern and {1} will be replaced by the time pattern. - *

- * This is used when the input skeleton contains both date and time fields, - * but there is not a close match among the added patterns. For example, - * suppose that this object was created by adding "dd-MMM" and "hh:mm", and - * its datetimeFormat is the default "{0} {1}". Then if the input skeleton - * is "MMMdhmm", there is not an exact match, so the input skeleton is - * broken up into two components "MMMd" and "hmm". There are close matches - * for those two skeletons, so the result is put together with this pattern, - * resulting in "d-MMM h:mm". - * - * @param dateTimeFormat - * message format pattern, here {0} will be replaced by the date - * pattern and {1} will be replaced by the time pattern. - * @stable ICU 3.8 - */ - void setDateTimeFormat(const UnicodeString& dateTimeFormat); - - /** - * Getter corresponding to setDateTimeFormat. - * @return DateTimeFormat. - * @stable ICU 3.8 - */ - const UnicodeString& getDateTimeFormat() const; - - /** - * Return the best pattern matching the input skeleton. It is guaranteed to - * have all of the fields in the skeleton. - * - * @param skeleton - * The skeleton is a pattern containing only the variable fields. - * For example, "MMMdd" and "mmhh" are skeletons. - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @return bestPattern - * The best pattern found from the given skeleton. - * @stable ICU 3.8 - */ - UnicodeString getBestPattern(const UnicodeString& skeleton, UErrorCode& status); - - - /** - * Adjusts the field types (width and subtype) of a pattern to match what is - * in a skeleton. That is, if you supply a pattern like "d-M H:m", and a - * skeleton of "MMMMddhhmm", then the input pattern is adjusted to be - * "dd-MMMM hh:mm". This is used internally to get the best match for the - * input skeleton, but can also be used externally. - * - * @param pattern Input pattern - * @param skeleton - * The skeleton is a pattern containing only the variable fields. - * For example, "MMMdd" and "mmhh" are skeletons. - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @return pattern adjusted to match the skeleton fields widths and subtypes. - * @stable ICU 3.8 - */ - UnicodeString replaceFieldTypes(const UnicodeString& pattern, - const UnicodeString& skeleton, - UErrorCode& status); - - /** - * Return a list of all the skeletons (in canonical form) from this class. - * - * Call getPatternForSkeleton() to get the corresponding pattern. - * - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @return StringEnumeration with the skeletons. - * The caller must delete the object. - * @stable ICU 3.8 - */ - StringEnumeration* getSkeletons(UErrorCode& status) const; - - /** - * Get the pattern corresponding to a given skeleton. - * @param skeleton - * @return pattern corresponding to a given skeleton. - * @stable ICU 3.8 - */ - const UnicodeString& getPatternForSkeleton(const UnicodeString& skeleton) const; - - /** - * Return a list of all the base skeletons (in canonical form) from this class. - * - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @return a StringEnumeration with the base skeletons. - * The caller must delete the object. - * @stable ICU 3.8 - */ - StringEnumeration* getBaseSkeletons(UErrorCode& status) const; - - /** - * Return a list of redundant patterns are those which if removed, make no - * difference in the resulting getBestPattern values. This method returns a - * list of them, to help check the consistency of the patterns used to build - * this generator. - * - * @param status Output param set to success/failure code on exit, - * which must not indicate a failure before the function call. - * @return a StringEnumeration with the redundant pattern. - * The caller must delete the object. - * @internal ICU 3.8 - */ - StringEnumeration* getRedundants(UErrorCode& status); - - /** - * The decimal value is used in formatting fractions of seconds. If the - * skeleton contains fractional seconds, then this is used with the - * fractional seconds. For example, suppose that the input pattern is - * "hhmmssSSSS", and the best matching pattern internally is "H:mm:ss", and - * the decimal string is ",". Then the resulting pattern is modified to be - * "H:mm:ss,SSSS" - * - * @param decimal - * @stable ICU 3.8 - */ - void setDecimal(const UnicodeString& decimal); - - /** - * Getter corresponding to setDecimal. - * @return UnicodeString corresponding to the decimal point - * @stable ICU 3.8 - */ - const UnicodeString& getDecimal() const; - - /** - * ICU "poor man's RTTI", returns a UClassID for the actual class. - * - * @stable ICU 3.8 - */ - virtual UClassID getDynamicClassID() const; - - /** - * ICU "poor man's RTTI", returns a UClassID for this class. - * - * @stable ICU 3.8 - */ - static UClassID U_EXPORT2 getStaticClassID(void); - -private: - /** - * Constructor. - * @stable ICU 3.8 - */ - DateTimePatternGenerator(UErrorCode & status); - - /** - * Constructor. - * @stable ICU 3.8 - */ - DateTimePatternGenerator(const Locale& locale, UErrorCode & status); - - /** - * Copy constructor. - * @param other DateTimePatternGenerator to copy - * @stable ICU 3.8 - */ - DateTimePatternGenerator(const DateTimePatternGenerator& other); - - /** - * Default assignment operator. - * @param other DateTimePatternGenerator to copy - * @stable ICU 3.8 - */ - DateTimePatternGenerator& operator=(const DateTimePatternGenerator& other); - - Locale pLocale; // pattern locale - FormatParser *fp; - DateTimeMatcher* dtMatcher; - DistanceInfo *distanceInfo; - PatternMap *patternMap; - UnicodeString appendItemFormats[UDATPG_FIELD_COUNT]; - UnicodeString appendItemNames[UDATPG_FIELD_COUNT]; - UnicodeString dateTimeFormat; - UnicodeString decimal; - DateTimeMatcher *skipMatcher; - Hashtable *fAvailableFormatKeyHash; - UnicodeString hackPattern; - UnicodeString emptyString; - UChar fDefaultHourFormatChar; - - void initData(const Locale &locale, UErrorCode &status); - void addCanonicalItems(); - void addICUPatterns(const Locale& locale, UErrorCode& status); - void hackTimes(const UnicodeString& hackPattern, UErrorCode& status); - void addCLDRData(const Locale& locale); - UDateTimePatternConflict addPatternWithSkeleton(const UnicodeString& pattern, const UnicodeString * skeletonToUse, UBool override, UnicodeString& conflictingPattern, UErrorCode& status); - void initHashtable(UErrorCode& status); - void setDateTimeFromCalendar(const Locale& locale, UErrorCode& status); - void setDecimalSymbols(const Locale& locale, UErrorCode& status); - UDateTimePatternField getAppendFormatNumber(const char* field) const; - UDateTimePatternField getAppendNameNumber(const char* field) const; - void getAppendName(UDateTimePatternField field, UnicodeString& value); - int32_t getCanonicalIndex(const UnicodeString& field); - const UnicodeString* getBestRaw(DateTimeMatcher& source, int32_t includeMask, DistanceInfo* missingFields, const PtnSkeleton** specifiedSkeletonPtr = 0); - UnicodeString adjustFieldTypes(const UnicodeString& pattern, const PtnSkeleton* specifiedSkeleton, UBool fixFractionalSeconds); - UnicodeString getBestAppending(int32_t missingFields); - int32_t getTopBitNumber(int32_t foundMask); - void setAvailableFormat(const UnicodeString &key, UErrorCode& status); - UBool isAvailableFormatSet(const UnicodeString &key) const; - void copyHashtable(Hashtable *other, UErrorCode &status); - UBool isCanonicalItem(const UnicodeString& item) const; -} ;// end class DateTimePatternGenerator - -U_NAMESPACE_END - -#endif http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/dtrule.h ---------------------------------------------------------------------- diff --git a/apps/couch_collate/platform/osx/icu/unicode/dtrule.h b/apps/couch_collate/platform/osx/icu/unicode/dtrule.h deleted file mode 100644 index c46e618..0000000 --- a/apps/couch_collate/platform/osx/icu/unicode/dtrule.h +++ /dev/null @@ -1,250 +0,0 @@ -/* -******************************************************************************* -* Copyright (C) 2007-2008, International Business Machines Corporation and * -* others. All Rights Reserved. * -******************************************************************************* -*/ -#ifndef DTRULE_H -#define DTRULE_H - -#include "unicode/utypes.h" - -/** - * \file - * \brief C++ API: Rule for specifying date and time in an year - */ - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/uobject.h" - -U_NAMESPACE_BEGIN -/** - * DateTimeRule is a class representing a time in a year by - * a rule specified by month, day of month, day of week and - * time in the day. - * - * @stable ICU 4.0 - */ -class U_I18N_API DateTimeRule : public UObject { -public: - - /** - * Date rule type constants. - * @stable ICU 4.0 - */ - enum DateRuleType { - DOM = 0, /**< The exact day of month, - for example, March 11. */ - DOW, /**< The Nth occurence of the day of week, - for example, 2nd Sunday in March. */ - DOW_GEQ_DOM, /**< The first occurence of the day of week on or after the day of monnth, - for example, first Sunday on or after March 8. */ - DOW_LEQ_DOM /**< The last occurence of the day of week on or before the day of month, - for example, first Sunday on or before March 14. */ - }; - - /** - * Time rule type constants. - * @stable ICU 4.0 - */ - enum TimeRuleType { - WALL_TIME = 0, /**< The local wall clock time */ - STANDARD_TIME, /**< The local standard time */ - UTC_TIME /**< The UTC time */ - }; - - /** - * Constructs a DateTimeRule by the day of month and - * the time rule. The date rule type for an instance created by - * this constructor is DOM. - * - * @param month The rule month, for example, Calendar::JANUARY - * @param dayOfMonth The day of month, 1-based. - * @param millisInDay The milliseconds in the rule date. - * @param timeType The time type, WALL_TIME or STANDARD_TIME - * or UTC_TIME. - * @stable ICU 4.0 - */ - DateTimeRule(int32_t month, int32_t dayOfMonth, - int32_t millisInDay, TimeRuleType timeType); - - /** - * Constructs a DateTimeRule by the day of week and its oridinal - * number and the time rule. The date rule type for an instance created - * by this constructor is DOW. - * - * @param month The rule month, for example, Calendar::JANUARY. - * @param weekInMonth The ordinal number of the day of week. Negative number - * may be used for specifying a rule date counted from the - * end of the rule month. - * @param dayOfWeek The day of week, for example, Calendar::SUNDAY. - * @param millisInDay The milliseconds in the rule date. - * @param timeType The time type, WALL_TIME or STANDARD_TIME - * or UTC_TIME. - * @stable ICU 4.0 - */ - DateTimeRule(int32_t month, int32_t weekInMonth, int32_t dayOfWeek, - int32_t millisInDay, TimeRuleType timeType); - - /** - * Constructs a DateTimeRule by the first/last day of week - * on or after/before the day of month and the time rule. The date rule - * type for an instance created by this constructor is either - * DOM_GEQ_DOM or DOM_LEQ_DOM. - * - * @param month The rule month, for example, Calendar::JANUARY - * @param dayOfMonth The day of month, 1-based. - * @param dayOfWeek The day of week, for example, Calendar::SUNDAY. - * @param after true if the rule date is on or after the day of month. - * @param millisInDay The milliseconds in the rule date. - * @param timeType The time type, WALL_TIME or STANDARD_TIME - * or UTC_TIME. - * @stable ICU 4.0 - */ - DateTimeRule(int32_t month, int32_t dayOfMonth, int32_t dayOfWeek, UBool after, - int32_t millisInDay, TimeRuleType timeType); - - /** - * Copy constructor. - * @param source The DateTimeRule object to be copied. - * @stable ICU 4.0 - */ - DateTimeRule(const DateTimeRule& source); - - /** - * Destructor. - * @stable ICU 4.0 - */ - ~DateTimeRule(); - - /** - * Clone this DateTimeRule object polymorphically. The caller owns the result and - * should delete it when done. - * @return A copy of the object. - * @stable ICU 4.0 - */ - DateTimeRule* clone(void) const; - - /** - * Assignment operator. - * @param right The object to be copied. - * @stable ICU 4.0 - */ - DateTimeRule& operator=(const DateTimeRule& right); - - /** - * Return true if the given DateTimeRule objects are semantically equal. Objects - * of different subclasses are considered unequal. - * @param that The object to be compared with. - * @return true if the given DateTimeRule objects are semantically equal. - * @stable ICU 4.0 - */ - UBool operator==(const DateTimeRule& that) const; - - /** - * Return true if the given DateTimeRule objects are semantically unequal. Objects - * of different subclasses are considered unequal. - * @param that The object to be compared with. - * @return true if the given DateTimeRule objects are semantically unequal. - * @stable ICU 4.0 - */ - UBool operator!=(const DateTimeRule& that) const; - - /** - * Gets the date rule type, such as DOM - * @return The date rule type. - * @stable ICU 4.0 - */ - DateRuleType getDateRuleType(void) const; - - /** - * Gets the time rule type - * @return The time rule type, either WALL_TIME or STANDARD_TIME - * or UTC_TIME. - * @stable ICU 4.0 - */ - TimeRuleType getTimeRuleType(void) const; - - /** - * Gets the rule month. - * @return The rule month. - * @stable ICU 4.0 - */ - int32_t getRuleMonth(void) const; - - /** - * Gets the rule day of month. When the date rule type - * is DOW, the value is always 0. - * @return The rule day of month - * @stable ICU 4.0 - */ - int32_t getRuleDayOfMonth(void) const; - - /** - * Gets the rule day of week. When the date rule type - * is DOM, the value is always 0. - * @return The rule day of week. - * @stable ICU 4.0 - */ - int32_t getRuleDayOfWeek(void) const; - - /** - * Gets the ordinal number of the occurence of the day of week - * in the month. When the date rule type is not DOW, - * the value is always 0. - * @return The rule day of week ordinal number in the month. - * @stable ICU 4.0 - */ - int32_t getRuleWeekInMonth(void) const; - - /** - * Gets the rule time in the rule day. - * @return The time in the rule day in milliseconds. - * @stable ICU 4.0 - */ - int32_t getRuleMillisInDay(void) const; - -private: - int32_t fMonth; - int32_t fDayOfMonth; - int32_t fDayOfWeek; - int32_t fWeekInMonth; - int32_t fMillisInDay; - DateRuleType fDateRuleType; - TimeRuleType fTimeRuleType; - -public: - /** - * 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() ==
-     * .       erived::getStaticClassID()) ...
-     * 
- * @return The class ID for all objects of this class. - * @stable ICU 4.0 - */ - static UClassID U_EXPORT2 getStaticClassID(void); - - /** - * 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 4.0 - */ - virtual UClassID getDynamicClassID(void) const; -}; - -U_NAMESPACE_END - -#endif /* #if !UCONFIG_NO_FORMATTING */ - -#endif // DTRULE_H -//eof http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/fieldpos.h ---------------------------------------------------------------------- diff --git a/apps/couch_collate/platform/osx/icu/unicode/fieldpos.h b/apps/couch_collate/platform/osx/icu/unicode/fieldpos.h deleted file mode 100644 index 38a9576..0000000 --- a/apps/couch_collate/platform/osx/icu/unicode/fieldpos.h +++ /dev/null @@ -1,291 +0,0 @@ -/* - ******************************************************************************** - * Copyright (C) 1997-2006, International Business Machines - * Corporation and others. All Rights Reserved. - ******************************************************************************** - * - * File FIELDPOS.H - * - * Modification History: - * - * Date Name Description - * 02/25/97 aliu Converted from java. - * 03/17/97 clhuang Updated per Format implementation. - * 07/17/98 stephen Added default/copy ctors, and operators =, ==, != - ******************************************************************************** - */ - -// ***************************************************************************** -// This file was generated from the java source file FieldPosition.java -// ***************************************************************************** - -#ifndef FIELDPOS_H -#define FIELDPOS_H - -#include "unicode/utypes.h" - -/** - * \file - * \brief C++ API: FieldPosition identifies the fields in a formatted output. - */ - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/uobject.h" - -U_NAMESPACE_BEGIN - -/** - * FieldPosition is a simple class used by Format - * and its subclasses to identify fields in formatted output. Fields are - * identified by constants, whose names typically end with _FIELD, - * defined in the various subclasses of Format. See - * ERA_FIELD and its friends in DateFormat for - * an example. - * - *

- * FieldPosition keeps track of the position of the - * field within the formatted output with two indices: the index - * of the first character of the field and the index of the last - * character of the field. - * - *

- * One version of the format method in the various - * Format classes requires a FieldPosition - * object as an argument. You use this format method - * to perform partial formatting or to get information about the - * formatted output (such as the position of a field). - * - * The FieldPosition class is not suitable for subclassing. - * - *

- * Below is an example of using FieldPosition to aid - * alignment of an array of formatted floating-point numbers on - * their decimal points: - *

- * \code
- *       double doubleNum[] = {123456789.0, -12345678.9, 1234567.89, -123456.789,
- *                  12345.6789, -1234.56789, 123.456789, -12.3456789, 1.23456789};
- *       int dNumSize = (int)(sizeof(doubleNum)/sizeof(double));
- *       
- *       UErrorCode status = U_ZERO_ERROR;
- *       DecimalFormat* fmt = (DecimalFormat*) NumberFormat::createInstance(status);
- *       fmt->setDecimalSeparatorAlwaysShown(true);
- *       
- *       const int tempLen = 20;
- *       char temp[tempLen];
- *       
- *       for (int i=0; iformat(doubleNum[i], buf, pos), fmtText);
- *           for (int j=0; j
- * 

- * The code will generate the following output: - *

- * \code
- *           123,456,789.000
- *           -12,345,678.900
- *             1,234,567.880
- *              -123,456.789
- *                12,345.678
- *                -1,234.567
- *                   123.456
- *                   -12.345
- *                     1.234
- *  \endcode
- * 
- */ -class U_I18N_API FieldPosition : public UObject { -public: - /** - * DONT_CARE may be specified as the field to indicate that the - * caller doesn't need to specify a field. Do not subclass. - */ - enum { DONT_CARE = -1 }; - - /** - * Creates a FieldPosition object with a non-specified field. - * @stable ICU 2.0 - */ - FieldPosition() - : UObject(), fField(DONT_CARE), fBeginIndex(0), fEndIndex(0) {} - - /** - * Creates a FieldPosition object for the given field. Fields are - * identified by constants, whose names typically end with _FIELD, - * in the various subclasses of Format. - * - * @see NumberFormat#INTEGER_FIELD - * @see NumberFormat#FRACTION_FIELD - * @see DateFormat#YEAR_FIELD - * @see DateFormat#MONTH_FIELD - * @stable ICU 2.0 - */ - FieldPosition(int32_t field) - : UObject(), fField(field), fBeginIndex(0), fEndIndex(0) {} - - /** - * Copy constructor - * @param copy the object to be copied from. - * @stable ICU 2.0 - */ - FieldPosition(const FieldPosition& copy) - : UObject(copy), fField(copy.fField), fBeginIndex(copy.fBeginIndex), fEndIndex(copy.fEndIndex) {} - - /** - * Destructor - * @stable ICU 2.0 - */ - virtual ~FieldPosition(); - - /** - * Assignment operator - * @param copy the object to be copied from. - * @stable ICU 2.0 - */ - FieldPosition& operator=(const FieldPosition& copy); - - /** - * Equality operator. - * @param that the object to be compared with. - * @return TRUE if the two field positions are equal, FALSE otherwise. - * @stable ICU 2.0 - */ - UBool operator==(const FieldPosition& that) const; - - /** - * Equality operator. - * @param that the object to be compared with. - * @return TRUE if the two field positions are not equal, FALSE otherwise. - * @stable ICU 2.0 - */ - UBool operator!=(const FieldPosition& that) 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 - */ - FieldPosition *clone() const; - - /** - * Retrieve the field identifier. - * @return the field identifier. - * @stable ICU 2.0 - */ - int32_t getField(void) const { return fField; } - - /** - * Retrieve the index of the first character in the requested field. - * @return the index of the first character in the requested field. - * @stable ICU 2.0 - */ - int32_t getBeginIndex(void) const { return fBeginIndex; } - - /** - * Retrieve the index of the character following the last character in the - * requested field. - * @return the index of the character following the last character in the - * requested field. - * @stable ICU 2.0 - */ - int32_t getEndIndex(void) const { return fEndIndex; } - - /** - * Set the field. - * @param f the new value of the field. - * @stable ICU 2.0 - */ - void setField(int32_t f) { fField = f; } - - /** - * Set the begin index. For use by subclasses of Format. - * @param bi the new value of the begin index - * @stable ICU 2.0 - */ - void setBeginIndex(int32_t bi) { fBeginIndex = bi; } - - /** - * Set the end index. For use by subclasses of Format. - * @param ei the new value of the end index - * @stable ICU 2.0 - */ - void setEndIndex(int32_t ei) { fEndIndex = ei; } - - /** - * ICU "poor man's RTTI", returns a UClassID for the actual class. - * - * @stable ICU 2.2 - */ - virtual UClassID getDynamicClassID() const; - - /** - * ICU "poor man's RTTI", returns a UClassID for this class. - * - * @stable ICU 2.2 - */ - static UClassID U_EXPORT2 getStaticClassID(); - -private: - /** - * Input: Desired field to determine start and end offsets for. - * The meaning depends on the subclass of Format. - */ - int32_t fField; - - /** - * Output: Start offset of field in text. - * If the field does not occur in the text, 0 is returned. - */ - int32_t fBeginIndex; - - /** - * Output: End offset of field in text. - * If the field does not occur in the text, 0 is returned. - */ - int32_t fEndIndex; -}; - -inline FieldPosition& -FieldPosition::operator=(const FieldPosition& copy) -{ - fField = copy.fField; - fEndIndex = copy.fEndIndex; - fBeginIndex = copy.fBeginIndex; - return *this; -} - -inline UBool -FieldPosition::operator==(const FieldPosition& copy) const -{ - return (fField == copy.fField && - fEndIndex == copy.fEndIndex && - fBeginIndex == copy.fBeginIndex); -} - -inline UBool -FieldPosition::operator!=(const FieldPosition& copy) const -{ - return !operator==(copy); -} - -U_NAMESPACE_END - -#endif /* #if !UCONFIG_NO_FORMATTING */ - -#endif // _FIELDPOS -//eof http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/fmtable.h ---------------------------------------------------------------------- diff --git a/apps/couch_collate/platform/osx/icu/unicode/fmtable.h b/apps/couch_collate/platform/osx/icu/unicode/fmtable.h deleted file mode 100644 index 94ee328..0000000 --- a/apps/couch_collate/platform/osx/icu/unicode/fmtable.h +++ /dev/null @@ -1,591 +0,0 @@ -/* -******************************************************************************** -* Copyright (C) 1997-2006, International Business Machines -* Corporation and others. All Rights Reserved. -******************************************************************************** -* -* File FMTABLE.H -* -* Modification History: -* -* Date Name Description -* 02/29/97 aliu Creation. -******************************************************************************** -*/ -#ifndef FMTABLE_H -#define FMTABLE_H - -#include "unicode/utypes.h" -#include "unicode/unistr.h" -/** - * \file - * \brief C++ API: Formattable is a thin wrapper for primitive numeric types. - */ - -#if !UCONFIG_NO_FORMATTING - -U_NAMESPACE_BEGIN - -/** - * Formattable objects can be passed to the Format class or - * its subclasses for formatting. Formattable is a thin wrapper - * class which interconverts between the primitive numeric types - * (double, long, etc.) as well as UDate and UnicodeString. - * - *

Internally, a Formattable object is a union of primitive types. - * As such, it can only store one flavor of data at a time. To - * determine what flavor of data it contains, use the getType method. - * - *

As of ICU 3.0, Formattable may also wrap a UObject pointer, - * which it owns. This allows an instance of any ICU class to be - * encapsulated in a Formattable. For legacy reasons and for - * efficiency, primitive numeric types are still stored directly - * within a Formattable. - * - *

The Formattable class is not suitable for subclassing. - */ -class U_I18N_API Formattable : public UObject { -public: - /** - * This enum is only used to let callers distinguish between - * the Formattable(UDate) constructor and the Formattable(double) - * constructor; the compiler cannot distinguish the signatures, - * since UDate is currently typedefed to be either double or long. - * If UDate is changed later to be a bonafide class - * or struct, then we no longer need this enum. - * @stable ICU 2.4 - */ - enum ISDATE { kIsDate }; - - /** - * Default constructor - * @stable ICU 2.4 - */ - Formattable(); // Type kLong, value 0 - - /** - * Creates a Formattable object with a UDate instance. - * @param d the UDate instance. - * @param flag the flag to indicate this is a date. Always set it to kIsDate - * @stable ICU 2.0 - */ - Formattable(UDate d, ISDATE flag); - - /** - * Creates a Formattable object with a double number. - * @param d the double number. - * @stable ICU 2.0 - */ - Formattable(double d); - - /** - * Creates a Formattable object with a long number. - * @param l the long number. - * @stable ICU 2.0 - */ - Formattable(int32_t l); - - /** - * Creates a Formattable object with an int64_t number - * @param ll the int64_t number. - * @stable ICU 2.8 - */ - Formattable(int64_t ll); - -#if !UCONFIG_NO_CONVERSION - /** - * Creates a Formattable object with a char string pointer. - * Assumes that the char string is null terminated. - * @param strToCopy the char string. - * @stable ICU 2.0 - */ - Formattable(const char* strToCopy); -#endif - - /** - * Creates a Formattable object with a UnicodeString object to copy from. - * @param strToCopy the UnicodeString string. - * @stable ICU 2.0 - */ - Formattable(const UnicodeString& strToCopy); - - /** - * Creates a Formattable object with a UnicodeString object to adopt from. - * @param strToAdopt the UnicodeString string. - * @stable ICU 2.0 - */ - Formattable(UnicodeString* strToAdopt); - - /** - * Creates a Formattable object with an array of Formattable objects. - * @param arrayToCopy the Formattable object array. - * @param count the array count. - * @stable ICU 2.0 - */ - Formattable(const Formattable* arrayToCopy, int32_t count); - - /** - * Creates a Formattable object that adopts the given UObject. - * @param objectToAdopt the UObject to set this object to - * @stable ICU 3.0 - */ - Formattable(UObject* objectToAdopt); - - /** - * Copy constructor. - * @stable ICU 2.0 - */ - Formattable(const Formattable&); - - /** - * Assignment operator. - * @param rhs The Formattable object to copy into this object. - * @stable ICU 2.0 - */ - Formattable& operator=(const Formattable &rhs); - - /** - * Equality comparison. - * @param other the object to be compared with. - * @return TRUE if other are equal to this, FALSE otherwise. - * @stable ICU 2.0 - */ - UBool operator==(const Formattable &other) const; - - /** - * Equality operator. - * @param other the object to be compared with. - * @return TRUE if other are unequal to this, FALSE otherwise. - * @stable ICU 2.0 - */ - UBool operator!=(const Formattable& other) const - { return !operator==(other); } - - /** - * Destructor. - * @stable ICU 2.0 - */ - virtual ~Formattable(); - - /** - * 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 - */ - Formattable *clone() const; - - /** - * Selector for flavor of data type contained within a - * Formattable object. Formattable is a union of several - * different types, and at any time contains exactly one type. - * @stable ICU 2.4 - */ - enum Type { - /** - * Selector indicating a UDate value. Use getDate to retrieve - * the value. - * @stable ICU 2.4 - */ - kDate, - - /** - * Selector indicating a double value. Use getDouble to - * retrieve the value. - * @stable ICU 2.4 - */ - kDouble, - - /** - * Selector indicating a 32-bit integer value. Use getLong to - * retrieve the value. - * @stable ICU 2.4 - */ - kLong, - - /** - * Selector indicating a UnicodeString value. Use getString - * to retrieve the value. - * @stable ICU 2.4 - */ - kString, - - /** - * Selector indicating an array of Formattables. Use getArray - * to retrieve the value. - * @stable ICU 2.4 - */ - kArray, - - /** - * Selector indicating a 64-bit integer value. Use getInt64 - * to retrieve the value. - * @stable ICU 2.8 - */ - kInt64, - - /** - * Selector indicating a UObject value. Use getObject to - * retrieve the value. - * @stable ICU 3.0 - */ - kObject - }; - - /** - * Gets the data type of this Formattable object. - * @return the data type of this Formattable object. - * @stable ICU 2.0 - */ - Type getType(void) const; - - /** - * Returns TRUE if the data type of this Formattable object - * is kDouble, kLong, or kInt64. - * @return TRUE if this is a pure numeric object - * @stable ICU 3.0 - */ - UBool isNumeric() const; - - /** - * Gets the double value of this object. If this object is not of type - * kDouble then the result is undefined. - * @return the double value of this object. - * @stable ICU 2.0 - */ - double getDouble(void) const { return fValue.fDouble; } - - /** - * Gets the double value of this object. If this object is of type - * long or int64 then a casting conversion is peformed, with - * possible loss of precision. If the type is kObject and the - * object is a Measure, then the result of - * getNumber().getDouble(status) is returned. If this object is - * neither a numeric type nor a Measure, then 0 is returned and - * the status is set to U_INVALID_FORMAT_ERROR. - * @param status the error code - * @return the double value of this object. - * @stable ICU 3.0 - */ - double getDouble(UErrorCode& status) const; - - /** - * Gets the long value of this object. If this object is not of type - * kLong then the result is undefined. - * @return the long value of this object. - * @stable ICU 2.0 - */ - int32_t getLong(void) const { return (int32_t)fValue.fInt64; } - - /** - * Gets the long value of this object. If the magnitude is too - * large to fit in a long, then the maximum or minimum long value, - * as appropriate, is returned and the status is set to - * U_INVALID_FORMAT_ERROR. If this object is of type kInt64 and - * it fits within a long, then no precision is lost. If it is of - * type kDouble, then a casting conversion is peformed, with - * truncation of any fractional part. If the type is kObject and - * the object is a Measure, then the result of - * getNumber().getLong(status) is returned. If this object is - * neither a numeric type nor a Measure, then 0 is returned and - * the status is set to U_INVALID_FORMAT_ERROR. - * @param status the error code - * @return the long value of this object. - * @stable ICU 3.0 - */ - int32_t getLong(UErrorCode& status) const; - - /** - * Gets the int64 value of this object. If this object is not of type - * kInt64 then the result is undefined. - * @return the int64 value of this object. - * @stable ICU 2.8 - */ - int64_t getInt64(void) const { return fValue.fInt64; } - - /** - * Gets the int64 value of this object. If this object is of type - * kDouble and the magnitude is too large to fit in an int64, then - * the maximum or minimum int64 value, as appropriate, is returned - * and the status is set to U_INVALID_FORMAT_ERROR. If the - * magnitude fits in an int64, then a casting conversion is - * peformed, with truncation of any fractional part. If the type - * is kObject and the object is a Measure, then the result of - * getNumber().getDouble(status) is returned. If this object is - * neither a numeric type nor a Measure, then 0 is returned and - * the status is set to U_INVALID_FORMAT_ERROR. - * @param status the error code - * @return the int64 value of this object. - * @stable ICU 3.0 - */ - int64_t getInt64(UErrorCode& status) const; - - /** - * Gets the Date value of this object. If this object is not of type - * kDate then the result is undefined. - * @return the Date value of this object. - * @stable ICU 2.0 - */ - UDate getDate() const { return fValue.fDate; } - - /** - * Gets the Date value of this object. If the type is not a date, - * status is set to U_INVALID_FORMAT_ERROR and the return value is - * undefined. - * @param status the error code. - * @return the Date value of this object. - * @stable ICU 3.0 - */ - UDate getDate(UErrorCode& status) const; - - /** - * Gets the string value of this object. If this object is not of type - * kString then the result is undefined. - * @param result Output param to receive the Date value of this object. - * @return A reference to 'result'. - * @stable ICU 2.0 - */ - UnicodeString& getString(UnicodeString& result) const - { result=*fValue.fString; return result; } - - /** - * Gets the string value of this object. If the type is not a - * string, status is set to U_INVALID_FORMAT_ERROR and a bogus - * string is returned. - * @param result Output param to receive the Date value of this object. - * @param status the error code. - * @return A reference to 'result'. - * @stable ICU 3.0 - */ - UnicodeString& getString(UnicodeString& result, UErrorCode& status) const; - - /** - * Gets a const reference to the string value of this object. If - * this object is not of type kString then the result is - * undefined. - * @return a const reference to the string value of this object. - * @stable ICU 2.0 - */ - inline const UnicodeString& getString(void) const; - - /** - * Gets a const reference to the string value of this object. If - * the type is not a string, status is set to - * U_INVALID_FORMAT_ERROR and the result is a bogus string. - * @param status the error code. - * @return a const reference to the string value of this object. - * @stable ICU 3.0 - */ - const UnicodeString& getString(UErrorCode& status) const; - - /** - * Gets a reference to the string value of this object. If this - * object is not of type kString then the result is undefined. - * @return a reference to the string value of this object. - * @stable ICU 2.0 - */ - inline UnicodeString& getString(void); - - /** - * Gets a reference to the string value of this object. If the - * type is not a string, status is set to U_INVALID_FORMAT_ERROR - * and the result is a bogus string. - * @param status the error code. - * @return a reference to the string value of this object. - * @stable ICU 3.0 - */ - UnicodeString& getString(UErrorCode& status); - - /** - * Gets the array value and count of this object. If this object - * is not of type kArray then the result is undefined. - * @param count fill-in with the count of this object. - * @return the array value of this object. - * @stable ICU 2.0 - */ - const Formattable* getArray(int32_t& count) const - { count=fValue.fArrayAndCount.fCount; return fValue.fArrayAndCount.fArray; } - - /** - * Gets the array value and count of this object. If the type is - * not an array, status is set to U_INVALID_FORMAT_ERROR, count is - * set to 0, and the result is NULL. - * @param count fill-in with the count of this object. - * @param status the error code. - * @return the array value of this object. - * @stable ICU 3.0 - */ - const Formattable* getArray(int32_t& count, UErrorCode& status) const; - - /** - * Accesses the specified element in the array value of this - * Formattable object. If this object is not of type kArray then - * the result is undefined. - * @param index the specified index. - * @return the accessed element in the array. - * @stable ICU 2.0 - */ - Formattable& operator[](int32_t index) { return fValue.fArrayAndCount.fArray[index]; } - - /** - * Returns a pointer to the UObject contained within this - * formattable, or NULL if this object does not contain a UObject. - * @return a UObject pointer, or NULL - * @stable ICU 3.0 - */ - const UObject* getObject() const; - - /** - * Sets the double value of this object and changes the type to - * kDouble. - * @param d the new double value to be set. - * @stable ICU 2.0 - */ - void setDouble(double d); - - /** - * Sets the long value of this object and changes the type to - * kLong. - * @param l the new long value to be set. - * @stable ICU 2.0 - */ - void setLong(int32_t l); - - /** - * Sets the int64 value of this object and changes the type to - * kInt64. - * @param ll the new int64 value to be set. - * @stable ICU 2.8 - */ - void setInt64(int64_t ll); - - /** - * Sets the Date value of this object and changes the type to - * kDate. - * @param d the new Date value to be set. - * @stable ICU 2.0 - */ - void setDate(UDate d); - - /** - * Sets the string value of this object and changes the type to - * kString. - * @param stringToCopy the new string value to be set. - * @stable ICU 2.0 - */ - void setString(const UnicodeString& stringToCopy); - - /** - * Sets the array value and count of this object and changes the - * type to kArray. - * @param array the array value. - * @param count the number of array elements to be copied. - * @stable ICU 2.0 - */ - void setArray(const Formattable* array, int32_t count); - - /** - * Sets and adopts the string value and count of this object and - * changes the type to kArray. - * @param stringToAdopt the new string value to be adopted. - * @stable ICU 2.0 - */ - void adoptString(UnicodeString* stringToAdopt); - - /** - * Sets and adopts the array value and count of this object and - * changes the type to kArray. - * @stable ICU 2.0 - */ - void adoptArray(Formattable* array, int32_t count); - - /** - * Sets and adopts the UObject value of this object and changes - * the type to kObject. After this call, the caller must not - * delete the given object. - * @param objectToAdopt the UObject value to be adopted - * @stable ICU 3.0 - */ - void adoptObject(UObject* objectToAdopt); - - /** - * ICU "poor man's RTTI", returns a UClassID for the actual class. - * - * @stable ICU 2.2 - */ - virtual UClassID getDynamicClassID() const; - - /** - * ICU "poor man's RTTI", returns a UClassID for this class. - * - * @stable ICU 2.2 - */ - static UClassID U_EXPORT2 getStaticClassID(); - - /** - * Deprecated variant of getLong(UErrorCode&). - * @param status the error code - * @return the long value of this object. - * @deprecated ICU 3.0 use getLong(UErrorCode&) instead - */ - inline int32_t getLong(UErrorCode* status) const; - -private: - /** - * Cleans up the memory for unwanted values. For example, the adopted - * string or array objects. - */ - void dispose(void); - - UnicodeString* getBogus() const; - - union { - UObject* fObject; - UnicodeString* fString; - double fDouble; - int64_t fInt64; - UDate fDate; - struct { - Formattable* fArray; - int32_t fCount; - } fArrayAndCount; - } fValue; - - Type fType; - UnicodeString fBogus; // Bogus string when it's needed. -}; - -inline UDate Formattable::getDate(UErrorCode& status) const { - if (fType != kDate) { - if (U_SUCCESS(status)) { - status = U_INVALID_FORMAT_ERROR; - } - return 0; - } - return fValue.fDate; -} - -inline const UnicodeString& Formattable::getString(void) const { - return *fValue.fString; -} - -inline UnicodeString& Formattable::getString(void) { - return *fValue.fString; -} - -inline int32_t Formattable::getLong(UErrorCode* status) const { - return getLong(*status); -} - -U_NAMESPACE_END - -#endif /* #if !UCONFIG_NO_FORMATTING */ - -#endif //_FMTABLE -//eof - http://git-wip-us.apache.org/repos/asf/couchdb/blob/81332b78/apps/couch_collate/platform/osx/icu/unicode/format.h ---------------------------------------------------------------------- diff --git a/apps/couch_collate/platform/osx/icu/unicode/format.h b/apps/couch_collate/platform/osx/icu/unicode/format.h deleted file mode 100644 index 7f17b52..0000000 --- a/apps/couch_collate/platform/osx/icu/unicode/format.h +++ /dev/null @@ -1,296 +0,0 @@ -/* -******************************************************************************** -* Copyright (C) 1997-2006, International Business Machines Corporation and others. -* All Rights Reserved. -******************************************************************************** -* -* File FORMAT.H -* -* Modification History: -* -* Date Name Description -* 02/19/97 aliu Converted from java. -* 03/17/97 clhuang Updated per C++ implementation. -* 03/27/97 helena Updated to pass the simple test after code review. -******************************************************************************** -*/ -// ***************************************************************************** -// This file was generated from the java source file Format.java -// ***************************************************************************** - -#ifndef FORMAT_H -#define FORMAT_H - - -#include "unicode/utypes.h" - -/** - * \file - * \brief C++ API: Base class for all formats. - */ - -#if !UCONFIG_NO_FORMATTING - -#include "unicode/unistr.h" -#include "unicode/fmtable.h" -#include "unicode/fieldpos.h" -#include "unicode/parsepos.h" -#include "unicode/parseerr.h" -#include "unicode/locid.h" - -U_NAMESPACE_BEGIN - -/** - * Base class for all formats. This is an abstract base class which - * specifies the protocol for classes which convert other objects or - * values, such as numeric values and dates, and their string - * representations. In some cases these representations may be - * localized or contain localized characters or strings. For example, - * a numeric formatter such as DecimalFormat may convert a numeric - * value such as 12345 to the string "$12,345". It may also parse - * the string back into a numeric value. A date and time formatter - * like SimpleDateFormat may represent a specific date, encoded - * numerically, as a string such as "Wednesday, February 26, 1997 AD". - *

- * Many of the concrete subclasses of Format employ the notion of - * a pattern. A pattern is a string representation of the rules which - * govern the interconversion between values and strings. For example, - * a DecimalFormat object may be associated with the pattern - * "$#,##0.00;($#,##0.00)", which is a common US English format for - * currency values, yielding strings such as "$1,234.45" for 1234.45, - * and "($987.65)" for 987.6543. The specific syntax of a pattern - * is defined by each subclass. - *

- * Even though many subclasses use patterns, the notion of a pattern - * is not inherent to Format classes in general, and is not part of - * the explicit base class protocol. - *

- * Two complex formatting classes bear mentioning. These are - * MessageFormat and ChoiceFormat. ChoiceFormat is a subclass of - * NumberFormat which allows the user to format different number ranges - * as strings. For instance, 0 may be represented as "no files", 1 as - * "one file", and any number greater than 1 as "many files". - * MessageFormat is a formatter which utilizes other Format objects to - * format a string containing with multiple values. For instance, - * A MessageFormat object might produce the string "There are no files - * on the disk MyDisk on February 27, 1997." given the arguments 0, - * "MyDisk", and the date value of 2/27/97. See the ChoiceFormat - * and MessageFormat headers for further information. - *

- * If formatting is unsuccessful, a failing UErrorCode is returned when - * the Format cannot format the type of object, otherwise if there is - * something illformed about the the Unicode replacement character - * 0xFFFD is returned. - *

- * If there is no match when parsing, a parse failure UErrorCode is - * retured for methods which take no ParsePosition. For the method - * that takes a ParsePosition, the index parameter is left unchanged. - *

- * User subclasses are not supported. 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 Format : public UObject { -public: - - /** Destructor - * @stable ICU 2.4 - */ - virtual ~Format(); - - /** - * Return true if the given Format objects are semantically equal. - * Objects of different subclasses are considered unequal. - * @param other the object to be compared with. - * @return Return true if the given Format objects are semantically equal. - * Objects of different subclasses are considered unequal. - * @stable ICU 2.0 - */ - virtual UBool operator==(const Format& other) const = 0; - - /** - * Return true if the given Format objects are not semantically - * equal. - * @param other the object to be compared with. - * @return Return true if the given Format objects are not semantically. - * @stable ICU 2.0 - */ - UBool operator!=(const Format& other) const { return !operator==(other); } - - /** - * Clone this object polymorphically. The caller is responsible - * for deleting the result when done. - * @return A copy of the object - * @stable ICU 2.0 - */ - virtual Format* clone() const = 0; - - /** - * Formats an object to produce a string. - * - * @param obj The object to format. - * @param appendTo Output parameter to receive result. - * Result is appended to existing contents. - * @param status Output parameter filled in with success or failure status. - * @return Reference to 'appendTo' parameter. - * @stable ICU 2.0 - */ - UnicodeString& format(const Formattable& obj, - UnicodeString& appendTo, - UErrorCode& status) const; - - /** - * Format an object to produce a string. This is a pure virtual method which - * subclasses must implement. This method allows polymorphic formatting - * of Formattable objects. If a subclass of Format receives a Formattable - * object type it doesn't handle (e.g., if a numeric Formattable is passed - * to a DateFormat object) then it returns a failing UErrorCode. - * - * @param obj The object to format. - * @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 = 0; - - /** - * Parse a string to produce an object. This is a pure virtual - * method which subclasses must implement. This method allows - * polymorphic parsing of strings into Formattable objects. - *

- * 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. - *

- * When parsing, leading whitespace is discarded (with successful - * parse), while trailing whitespace is left as is. - *

- * Example: - *

- * Parsing "_12_xy" (where _ represents a space) for a number, - * with index == 0 will result in the number 12, with - * parse_pos.index updated to 3 (just before the second space). - * Parsing a second time will result in a failing UErrorCode since - * "xy" is not a number, and leave index at 3. - *

- * Subclasses will typically supply specific parse methods that - * return different types of values. Since methods can't overload - * on return types, these will typically be named "parse", while - * this polymorphic method will always be called parseObject. Any - * parse method that does not take a parse_pos should set status - * to an error value when no text in the required format is at the - * start position. - * - * @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. - * @stable ICU 2.0 - */ - virtual void parseObject(const UnicodeString& source, - Formattable& result, - ParsePosition& parse_pos) const = 0; - - /** - * Parses a string to produce an object. This is a convenience method - * which calls the pure virtual parseObject() method, and returns a - * failure UErrorCode if the ParsePosition indicates failure. - * - * @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 status Output param to be filled with success/failure - * result code. - * @stable ICU 2.0 - */ - void parseObject(const UnicodeString& source, - Formattable& result, - UErrorCode& status) const; - - /** - * 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. - * Concrete subclasses of Format must implement getDynamicClassID() - * - * @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() const = 0; - - /** Get the locale for this format object. You can choose between valid and actual locale. - * @param type type of the locale we're looking for (valid or actual) - * @param status error code for the operation - * @return the locale - * @stable ICU 2.8 - */ - Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const; - - /** Get the locale for this format object. You can choose between valid and actual locale. - * @param type type of the locale we're looking for (valid or actual) - * @param status error code for the operation - * @return the locale - * @internal - */ - const char* getLocaleID(ULocDataLocaleType type, UErrorCode &status) const; - - protected: - /** @stable ICU 2.8 */ - void setLocaleIDs(const char* valid, const char* actual); - -protected: - /** - * Default constructor for subclass use only. Does nothing. - * @stable ICU 2.0 - */ - Format(); - - /** - * @stable ICU 2.0 - */ - Format(const Format&); // Does nothing; for subclasses only - - /** - * @stable ICU 2.0 - */ - Format& operator=(const Format&); // Does nothing; for subclasses - - - /** - * Simple function for initializing a UParseError from a UnicodeString. - * - * @param pattern The pattern to copy into the parseError - * @param pos The position in pattern where the error occured - * @param parseError The UParseError object to fill in - * @stable ICU 2.4 - */ - static void syntaxError(const UnicodeString& pattern, - int32_t pos, - UParseError& parseError); - - private: - char actualLocale[ULOC_FULLNAME_CAPACITY]; - char validLocale[ULOC_FULLNAME_CAPACITY]; -}; - -U_NAMESPACE_END - -#endif /* #if !UCONFIG_NO_FORMATTING */ - -#endif // _FORMAT -//eof