Loading...
Searching...
No Matches
dtfmtsym.h
Go to the documentation of this file.
// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
/*
********************************************************************************
* Copyright (C) 1997-2016, International Business Machines
* Corporation and others. All Rights Reserved.
********************************************************************************
*
* File DTFMTSYM.H
*
* Modification History:
*
* Date Name Description
* 02/19/97 aliu Converted from java.
* 07/21/98 stephen Added getZoneIndex()
* Changed to match C++ conventions
********************************************************************************
*/
#ifndef DTFMTSYM_H
#define DTFMTSYM_H
#include "unicode/utypes.h"
#if U_SHOW_CPLUSPLUS_API
#if !UCONFIG_NO_FORMATTING
#include "unicode/calendar.h"
#include "unicode/strenum.h"
#include "unicode/uobject.h"
#include "unicode/locid.h"
#include "unicode/udat.h"
#include "unicode/ures.h"
U_NAMESPACE_BEGIN
/* forward declaration */
class SimpleDateFormat;
class Hashtable;
class U_I18N_API_CLASS DateFormatSymbols final : public UObject {
public:
U_I18N_API DateFormatSymbols(UErrorCode& status);
U_I18N_API DateFormatSymbols(const Locale& locale, UErrorCode& status);
#ifndef U_HIDE_INTERNAL_API
U_I18N_API DateFormatSymbols(const char* type, UErrorCode& status);
U_I18N_API DateFormatSymbols(const Locale& locale, const char* type, UErrorCode& status);
#endif /* U_HIDE_INTERNAL_API */
U_I18N_API DateFormatSymbols(const DateFormatSymbols&);
U_I18N_API DateFormatSymbols& operator=(const DateFormatSymbols&);
U_I18N_API virtual ~DateFormatSymbols();
U_I18N_API bool operator==(const DateFormatSymbols& other) const;
U_I18N_API bool operator!=(const DateFormatSymbols& other) const { return !operator==(other); }
U_I18N_API const UnicodeString* getEras(int32_t& count) const;
U_I18N_API void setEras(const UnicodeString* eras, int32_t count);
U_I18N_API const UnicodeString* getEraNames(int32_t& count) const;
U_I18N_API void setEraNames(const UnicodeString* eraNames, int32_t count);
U_I18N_API const UnicodeString* getNarrowEras(int32_t& count) const;
U_I18N_API void setNarrowEras(const UnicodeString* narrowEras, int32_t count);
U_I18N_API const UnicodeString* getMonths(int32_t& count) const;
U_I18N_API void setMonths(const UnicodeString* months, int32_t count);
U_I18N_API const UnicodeString* getShortMonths(int32_t& count) const;
U_I18N_API void setShortMonths(const UnicodeString* shortMonths, int32_t count);
enum DtContextType {
FORMAT,
STANDALONE,
#ifndef U_HIDE_DEPRECATED_API
DT_CONTEXT_COUNT
#endif // U_HIDE_DEPRECATED_API
};
enum DtWidthType {
ABBREVIATED,
WIDE,
NARROW,
SHORT,
#ifndef U_HIDE_DEPRECATED_API
DT_WIDTH_COUNT = 4
#endif // U_HIDE_DEPRECATED_API
};
U_I18N_API const UnicodeString* getMonths(int32_t& count,
DtContextType context,
DtWidthType width) const;
U_I18N_API void setMonths(const UnicodeString* months,
int32_t count,
DtContextType context,
DtWidthType width);
U_I18N_API const UnicodeString* getWeekdays(int32_t& count) const;
U_I18N_API void setWeekdays(const UnicodeString* weekdays, int32_t count);
U_I18N_API const UnicodeString* getShortWeekdays(int32_t& count) const;
U_I18N_API void setShortWeekdays(const UnicodeString* abbrevWeekdays, int32_t count);
U_I18N_API const UnicodeString* getWeekdays(int32_t& count,
DtContextType context,
DtWidthType width) const;
U_I18N_API void setWeekdays(const UnicodeString* weekdays,
int32_t count,
DtContextType context,
DtWidthType width);
U_I18N_API const UnicodeString* getQuarters(int32_t& count,
DtContextType context,
DtWidthType width) const;
U_I18N_API void setQuarters(const UnicodeString* quarters,
int32_t count,
DtContextType context,
DtWidthType width);
U_I18N_API const UnicodeString* getAmPmStrings(int32_t& count) const;
U_I18N_API void setAmPmStrings(const UnicodeString* ampms, int32_t count);
#ifndef U_HIDE_DRAFT_API
U_I18N_API const UnicodeString* getAmPmStrings(int32_t& count,
DtContextType context,
DtWidthType width) const;
U_I18N_API void setAmPmStrings(const UnicodeString* ampms,
int32_t count,
DtContextType context,
DtWidthType width);
#endif /* U_HIDE_DRAFT_API */
#ifndef U_HIDE_INTERNAL_API
U_I18N_API static const char16_t DEFAULT_TIME_SEPARATOR = 0x003a; // ':'
U_I18N_API static const char16_t ALTERNATE_TIME_SEPARATOR = 0x002e; // '.'
U_I18N_API UnicodeString& getTimeSeparatorString(UnicodeString& result) const;
U_I18N_API void setTimeSeparatorString(const UnicodeString& newTimeSeparator);
#endif /* U_HIDE_INTERNAL_API */
U_I18N_API const UnicodeString* getYearNames(int32_t& count,
DtContextType context,
DtWidthType width) const;
U_I18N_API void setYearNames(const UnicodeString* yearNames,
int32_t count,
DtContextType context,
DtWidthType width);
U_I18N_API const UnicodeString* getZodiacNames(int32_t& count,
DtContextType context,
DtWidthType width) const;
U_I18N_API void setZodiacNames(const UnicodeString* zodiacNames,
int32_t count,
DtContextType context,
DtWidthType width);
#ifndef U_HIDE_INTERNAL_API
enum EMonthPatternType
{
kLeapMonthPatternFormatWide,
kLeapMonthPatternFormatAbbrev,
kLeapMonthPatternFormatNarrow,
kLeapMonthPatternStandaloneWide,
kLeapMonthPatternStandaloneAbbrev,
kLeapMonthPatternStandaloneNarrow,
kLeapMonthPatternNumeric,
kMonthPatternsCount
};
U_I18N_API const UnicodeString* getLeapMonthPatterns(int32_t& count) const;
#endif /* U_HIDE_INTERNAL_API */
#ifndef U_HIDE_DEPRECATED_API
U_I18N_API const UnicodeString** getZoneStrings(int32_t& rowCount, int32_t& columnCount) const;
#endif /* U_HIDE_DEPRECATED_API */
U_I18N_API void setZoneStrings(const UnicodeString* const* strings,
int32_t rowCount,
int32_t columnCount);
U_I18N_API static const char16_t* getPatternUChars();
U_I18N_API UnicodeString& getLocalPatternChars(UnicodeString& result) const;
U_I18N_API void setLocalPatternChars(const UnicodeString& newLocalPatternChars);
U_I18N_API Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const;
/* The following type and kCapContextUsageTypeCount cannot be #ifndef U_HIDE_INTERNAL_API,
they are needed for .h file declarations. */
enum ECapitalizationContextUsageType
{
#ifndef U_HIDE_INTERNAL_API
kCapContextUsageOther = 0,
kCapContextUsageMonthFormat, /* except narrow */
kCapContextUsageMonthStandalone, /* except narrow */
kCapContextUsageMonthNarrow,
kCapContextUsageDayFormat, /* except narrow */
kCapContextUsageDayStandalone, /* except narrow */
kCapContextUsageDayNarrow,
kCapContextUsageEraWide,
kCapContextUsageEraAbbrev,
kCapContextUsageEraNarrow,
kCapContextUsageZoneLong,
kCapContextUsageZoneShort,
kCapContextUsageMetazoneLong,
kCapContextUsageMetazoneShort,
#endif /* U_HIDE_INTERNAL_API */
kCapContextUsageTypeCount = 14
};
U_I18N_API virtual UClassID getDynamicClassID() const override;
U_I18N_API static UClassID getStaticClassID();
private:
friend class SimpleDateFormat;
friend class DateFormatSymbolsSingleSetter; // see udat.cpp
UnicodeString* fEras;
int32_t fErasCount;
UnicodeString* fEraNames;
int32_t fEraNamesCount;
UnicodeString* fNarrowEras;
int32_t fNarrowErasCount;
UnicodeString* fMonths;
int32_t fMonthsCount;
UnicodeString* fShortMonths;
int32_t fShortMonthsCount;
UnicodeString* fNarrowMonths;
int32_t fNarrowMonthsCount;
UnicodeString* fStandaloneMonths;
int32_t fStandaloneMonthsCount;
UnicodeString* fStandaloneShortMonths;
int32_t fStandaloneShortMonthsCount;
UnicodeString* fStandaloneNarrowMonths;
int32_t fStandaloneNarrowMonthsCount;
UnicodeString* fWeekdays;
int32_t fWeekdaysCount;
UnicodeString* fShortWeekdays;
int32_t fShortWeekdaysCount;
UnicodeString* fShorterWeekdays;
int32_t fShorterWeekdaysCount;
UnicodeString* fNarrowWeekdays;
int32_t fNarrowWeekdaysCount;
UnicodeString* fStandaloneWeekdays;
int32_t fStandaloneWeekdaysCount;
UnicodeString* fStandaloneShortWeekdays;
int32_t fStandaloneShortWeekdaysCount;
UnicodeString* fStandaloneShorterWeekdays;
int32_t fStandaloneShorterWeekdaysCount;
UnicodeString* fStandaloneNarrowWeekdays;
int32_t fStandaloneNarrowWeekdaysCount;
UnicodeString* fAmPms;
int32_t fAmPmsCount;
UnicodeString* fWideAmPms;
int32_t fWideAmPmsCount;
UnicodeString* fNarrowAmPms;
int32_t fNarrowAmPmsCount;
UnicodeString fTimeSeparator;
UnicodeString *fQuarters;
int32_t fQuartersCount;
UnicodeString *fShortQuarters;
int32_t fShortQuartersCount;
UnicodeString *fNarrowQuarters;
int32_t fNarrowQuartersCount;
UnicodeString *fStandaloneQuarters;
int32_t fStandaloneQuartersCount;
UnicodeString *fStandaloneShortQuarters;
int32_t fStandaloneShortQuartersCount;
UnicodeString *fStandaloneNarrowQuarters;
int32_t fStandaloneNarrowQuartersCount;
UnicodeString *fLeapMonthPatterns;
int32_t fLeapMonthPatternsCount;
UnicodeString *fShortYearNames;
int32_t fShortYearNamesCount;
UnicodeString *fShortZodiacNames;
int32_t fShortZodiacNamesCount;
UnicodeString **fZoneStrings; // Zone string array set by setZoneStrings
UnicodeString **fLocaleZoneStrings; // Zone string array created by the locale
int32_t fZoneStringsRowCount;
int32_t fZoneStringsColCount;
Locale fZSFLocale; // Locale used for getting ZoneStringFormat
UnicodeString fLocalPatternChars;
UBool fCapitalization[kCapContextUsageTypeCount][2];
UnicodeString *fAbbreviatedDayPeriods;
int32_t fAbbreviatedDayPeriodsCount;
UnicodeString *fWideDayPeriods;
int32_t fWideDayPeriodsCount;
UnicodeString *fNarrowDayPeriods;
int32_t fNarrowDayPeriodsCount;
UnicodeString *fStandaloneAbbreviatedDayPeriods;
int32_t fStandaloneAbbreviatedDayPeriodsCount;
UnicodeString *fStandaloneWideDayPeriods;
int32_t fStandaloneWideDayPeriodsCount;
UnicodeString *fStandaloneNarrowDayPeriods;
int32_t fStandaloneNarrowDayPeriodsCount;
private:
Locale validLocale;
Locale actualLocale;
DateFormatSymbols() = delete; // default constructor not implemented
void initializeData(const Locale& locale, const char *type,
UErrorCode& status, UBool useLastResortData = false);
static void assignArray(UnicodeString*& dstArray,
int32_t& dstCount,
const UnicodeString* srcArray,
int32_t srcCount);
static UBool arrayCompare(const UnicodeString* array1,
const UnicodeString* array2,
int32_t count);
void createZoneStrings(const UnicodeString *const * otherStrings);
void dispose();
void copyData(const DateFormatSymbols& other);
void initZoneStringsArray();
void disposeZoneStrings();
static UDateFormatField U_EXPORT2 getPatternCharIndex(char16_t c);
static UBool U_EXPORT2 isNumericField(UDateFormatField f, int32_t count);
static UBool U_EXPORT2 isNumericPatternChar(char16_t c, int32_t count);
public:
#ifndef U_HIDE_INTERNAL_API
U_I18N_API static DateFormatSymbols* createForLocale(const Locale& locale, UErrorCode& status);
#endif /* U_HIDE_INTERNAL_API */
};
U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_FORMATTING */
#endif /* U_SHOW_CPLUSPLUS_API */
#endif // _DTFMTSYM
//eof
calendar.h
C++ API: Calendar object.
icu::DateFormatSymbols::setMonths
U_I18N_API void setMonths(const UnicodeString *months, int32_t count, DtContextType context, DtWidthType width)
Sets month strings by width and context.
icu::DateFormatSymbols::DateFormatSymbols
U_I18N_API DateFormatSymbols(const Locale &locale, const char *type, UErrorCode &status)
Construct a DateFormatSymbols object by loading format data from resources for the given locale,...
icu::DateFormatSymbols::setTimeSeparatorString
U_I18N_API void setTimeSeparatorString(const UnicodeString &newTimeSeparator)
Sets the time separator string.
icu::DateFormatSymbols::getShortWeekdays
U_I18N_API const UnicodeString * getShortWeekdays(int32_t &count) const
Gets abbreviated weekday strings.
icu::DateFormatSymbols::DateFormatSymbols
U_I18N_API DateFormatSymbols(const Locale &locale, UErrorCode &status)
Construct a DateFormatSymbols object by loading format data from resources for the given locale,...
icu::DateFormatSymbols::getMonths
U_I18N_API const UnicodeString * getMonths(int32_t &count) const
Gets month strings.
icu::DateFormatSymbols::ALTERNATE_TIME_SEPARATOR
static U_I18N_API const char16_t ALTERNATE_TIME_SEPARATOR
This alternate time separator is always recognized when parsing.
Definition dtfmtsym.h:474
icu::DateFormatSymbols::setAmPmStrings
U_I18N_API void setAmPmStrings(const UnicodeString *ampms, int32_t count, DtContextType context, DtWidthType width)
Sets AM/PM strings with the specified width.
icu::DateFormatSymbols::getPatternUChars
static U_I18N_API const char16_t * getPatternUChars()
Get the non-localized date-time pattern characters.
icu::DateFormatSymbols::getZoneStrings
U_I18N_API const UnicodeString ** getZoneStrings(int32_t &rowCount, int32_t &columnCount) const
Gets timezone strings.
icu::DateFormatSymbols::operator==
U_I18N_API bool operator==(const DateFormatSymbols &other) const
Return true if another object is semantically equal to this one.
icu::DateFormatSymbols::~DateFormatSymbols
virtual U_I18N_API ~DateFormatSymbols()
Destructor.
icu::DateFormatSymbols::setZoneStrings
U_I18N_API void setZoneStrings(const UnicodeString *const *strings, int32_t rowCount, int32_t columnCount)
Sets timezone strings.
icu::DateFormatSymbols::getWeekdays
U_I18N_API const UnicodeString * getWeekdays(int32_t &count, DtContextType context, DtWidthType width) const
Gets weekday strings by width and context.
icu::DateFormatSymbols::getAmPmStrings
U_I18N_API const UnicodeString * getAmPmStrings(int32_t &count) const
Gets AM/PM strings.
icu::DateFormatSymbols::getTimeSeparatorString
U_I18N_API UnicodeString & getTimeSeparatorString(UnicodeString &result) const
Gets the time separator string.
icu::DateFormatSymbols::getEraNames
U_I18N_API const UnicodeString * getEraNames(int32_t &count) const
Gets era name strings.
icu::DateFormatSymbols::DtWidthType
DtWidthType
Selector for date formatting width.
Definition dtfmtsym.h:290
icu::DateFormatSymbols::DT_WIDTH_COUNT
@ DT_WIDTH_COUNT
One more than the highest normal DtWidthType value.
Definition dtfmtsym.h:304
icu::DateFormatSymbols::SHORT
@ SHORT
Short width is currently only supported for weekday names.
Definition dtfmtsym.h:298
icu::DateFormatSymbols::setLocalPatternChars
U_I18N_API void setLocalPatternChars(const UnicodeString &newLocalPatternChars)
Sets localized date-time pattern characters.
icu::DateFormatSymbols::getZodiacNames
U_I18N_API const UnicodeString * getZodiacNames(int32_t &count, DtContextType context, DtWidthType width) const
Gets calendar zodiac name strings if the calendar has them, by width and context.
icu::DateFormatSymbols::setShortWeekdays
U_I18N_API void setShortWeekdays(const UnicodeString *abbrevWeekdays, int32_t count)
Sets abbreviated weekday strings.
icu::DateFormatSymbols::setWeekdays
U_I18N_API void setWeekdays(const UnicodeString *weekdays, int32_t count, DtContextType context, DtWidthType width)
Sets weekday strings by width and context.
icu::DateFormatSymbols::setMonths
U_I18N_API void setMonths(const UnicodeString *months, int32_t count)
Sets month strings.
icu::DateFormatSymbols::operator=
U_I18N_API DateFormatSymbols & operator=(const DateFormatSymbols &)
Assignment operator.
icu::DateFormatSymbols::getShortMonths
U_I18N_API const UnicodeString * getShortMonths(int32_t &count) const
Gets short month strings.
icu::DateFormatSymbols::getDynamicClassID
virtual U_I18N_API UClassID getDynamicClassID() const override
ICU "poor man's RTTI", returns a UClassID for the actual class.
icu::DateFormatSymbols::getStaticClassID
static U_I18N_API UClassID getStaticClassID()
ICU "poor man's RTTI", returns a UClassID for this class.
icu::DateFormatSymbols::getWeekdays
U_I18N_API const UnicodeString * getWeekdays(int32_t &count) const
Gets wide weekday strings.
icu::DateFormatSymbols::getQuarters
U_I18N_API const UnicodeString * getQuarters(int32_t &count, DtContextType context, DtWidthType width) const
Gets quarter strings by width and context.
icu::DateFormatSymbols::setEras
U_I18N_API void setEras(const UnicodeString *eras, int32_t count)
Sets abbreviated era strings.
icu::DateFormatSymbols::getEras
U_I18N_API const UnicodeString * getEras(int32_t &count) const
Gets abbreviated era strings.
icu::DateFormatSymbols::getLocalPatternChars
U_I18N_API UnicodeString & getLocalPatternChars(UnicodeString &result) const
Gets localized date-time pattern characters.
icu::DateFormatSymbols::setShortMonths
U_I18N_API void setShortMonths(const UnicodeString *shortMonths, int32_t count)
Sets short month strings.
icu::DateFormatSymbols::getNarrowEras
U_I18N_API const UnicodeString * getNarrowEras(int32_t &count) const
Gets narrow era strings.
icu::DateFormatSymbols::setYearNames
U_I18N_API void setYearNames(const UnicodeString *yearNames, int32_t count, DtContextType context, DtWidthType width)
Sets cyclic year name strings by width and context.
icu::DateFormatSymbols::setEraNames
U_I18N_API void setEraNames(const UnicodeString *eraNames, int32_t count)
Sets era name strings.
icu::DateFormatSymbols::getMonths
U_I18N_API const UnicodeString * getMonths(int32_t &count, DtContextType context, DtWidthType width) const
Gets month strings by width and context.
icu::DateFormatSymbols::getLocale
U_I18N_API Locale getLocale(ULocDataLocaleType type, UErrorCode &status) const
Returns the locale for this object.
icu::DateFormatSymbols::DateFormatSymbols
U_I18N_API DateFormatSymbols(const DateFormatSymbols &)
Copy constructor.
icu::DateFormatSymbols::DateFormatSymbols
U_I18N_API DateFormatSymbols(UErrorCode &status)
Construct a DateFormatSymbols object by loading format data from resources for the default locale,...
icu::DateFormatSymbols::setAmPmStrings
U_I18N_API void setAmPmStrings(const UnicodeString *ampms, int32_t count)
Sets ampm strings.
icu::DateFormatSymbols::getAmPmStrings
U_I18N_API const UnicodeString * getAmPmStrings(int32_t &count, DtContextType context, DtWidthType width) const
Gets AM/PM strings with the specified width.
icu::DateFormatSymbols::operator!=
U_I18N_API bool operator!=(const DateFormatSymbols &other) const
Return true if another object is semantically unequal to this one.
Definition dtfmtsym.h:183
icu::DateFormatSymbols::setQuarters
U_I18N_API void setQuarters(const UnicodeString *quarters, int32_t count, DtContextType context, DtWidthType width)
Sets quarter strings by width and context.
icu::DateFormatSymbols::DtContextType
DtContextType
Selector for date formatting context.
Definition dtfmtsym.h:274
icu::DateFormatSymbols::DT_CONTEXT_COUNT
@ DT_CONTEXT_COUNT
One more than the highest normal DtContextType value.
Definition dtfmtsym.h:282
icu::DateFormatSymbols::getLeapMonthPatterns
U_I18N_API const UnicodeString * getLeapMonthPatterns(int32_t &count) const
Somewhat temporary function for getting complete set of leap month patterns for all contexts & widths...
icu::DateFormatSymbols::setNarrowEras
U_I18N_API void setNarrowEras(const UnicodeString *narrowEras, int32_t count)
Sets narrow era strings.
icu::DateFormatSymbols::DEFAULT_TIME_SEPARATOR
static U_I18N_API const char16_t DEFAULT_TIME_SEPARATOR
This default time separator is used for formatting when the locale doesn't specify any time separator...
Definition dtfmtsym.h:468
icu::DateFormatSymbols::ECapitalizationContextUsageType
ECapitalizationContextUsageType
Constants for capitalization context usage types.
Definition dtfmtsym.h:652
icu::DateFormatSymbols::createForLocale
static U_I18N_API DateFormatSymbols * createForLocale(const Locale &locale, UErrorCode &status)
Gets a DateFormatSymbols by locale.
icu::DateFormatSymbols::setWeekdays
U_I18N_API void setWeekdays(const UnicodeString *weekdays, int32_t count)
Sets wide weekday strings.
icu::DateFormatSymbols::getYearNames
U_I18N_API const UnicodeString * getYearNames(int32_t &count, DtContextType context, DtWidthType width) const
Gets cyclic year name strings if the calendar has them, by width and context.
icu::DateFormatSymbols::EMonthPatternType
EMonthPatternType
Somewhat temporary constants for leap month pattern types, adequate for supporting just leap month pa...
Definition dtfmtsym.h:558
icu::DateFormatSymbols::DateFormatSymbols
U_I18N_API DateFormatSymbols(const char *type, UErrorCode &status)
Construct a DateFormatSymbols object by loading format data from resources for the default locale,...
icu::DateFormatSymbols::setZodiacNames
U_I18N_API void setZodiacNames(const UnicodeString *zodiacNames, int32_t count, DtContextType context, DtWidthType width)
Sets calendar zodiac name strings by width and context.
icu::Locale
A Locale object represents a specific geographical, political, or cultural region.
Definition locid.h:198
icu::UObject
UObject is the common ICU "boilerplate" class.
Definition uobject.h:222
icu::UnicodeString
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition unistr.h:303
locid.h
C++ API: Locale ID object.
icu::operator==
U_COMMON_API UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
strenum.h
C++ API: String Enumeration.
udat.h
C API: DateFormat.
UDateFormatField
UDateFormatField
FieldPosition and UFieldPosition selectors for format fields defined by DateFormat and UDateFormat.
Definition udat.h:515
ULocDataLocaleType
ULocDataLocaleType
Constants for *_getLocale() Allow user to select whether she wants information on requested,...
Definition uloc.h:338
UBool
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition umachine.h:269
uobject.h
C++ API: Common ICU base class UObject.
UClassID
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition uobject.h:96
ures.h
C API: Resource Bundle.
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition utypes.h:509
U_I18N_API_CLASS
#define U_I18N_API_CLASS
Set to export library symbols from inside the i18n library, and to import them from outside,...
Definition utypes.h:457
U_I18N_API
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
Definition utypes.h:316