"Fossies" - the Fresh Open Source Software Archive

Member "tznames_8h_source.html" (3 Oct 2019, 36228 Bytes) of package /linux/misc/icu4c-65_1-docs.zip:


Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.

ICU 65.1  65.1
tznames.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 * Copyright (C) 2011-2016, International Business Machines Corporation and
6 * others. All Rights Reserved.
7 *******************************************************************************
8 */
9 #ifndef __TZNAMES_H
10 #define __TZNAMES_H
11 
16 #include "unicode/utypes.h"
17 
18 #if U_SHOW_CPLUSPLUS_API
19 
20 #if !UCONFIG_NO_FORMATTING
21 
22 #include "unicode/uloc.h"
23 #include "unicode/unistr.h"
24 
26 
31 typedef enum UTimeZoneNameType {
36  UTZNM_UNKNOWN = 0x00,
73 
75 
76 U_NAMESPACE_BEGIN
77 
78 class UVector;
79 struct MatchInfo;
80 
132 public:
137  virtual ~TimeZoneNames();
138 
145  virtual UBool operator==(const TimeZoneNames& other) const = 0;
146 
154  UBool operator!=(const TimeZoneNames& other) const { return !operator==(other); }
155 
162  virtual TimeZoneNames* clone() const = 0;
163 
172  static TimeZoneNames* U_EXPORT2 createInstance(const Locale& locale, UErrorCode& status);
173 
184  static TimeZoneNames* U_EXPORT2 createTZDBInstance(const Locale& locale, UErrorCode& status);
185 
192  virtual StringEnumeration* getAvailableMetaZoneIDs(UErrorCode& status) const = 0;
193 
201  virtual StringEnumeration* getAvailableMetaZoneIDs(const UnicodeString& tzID, UErrorCode& status) const = 0;
202 
213  virtual UnicodeString& getMetaZoneID(const UnicodeString& tzID, UDate date, UnicodeString& mzID) const = 0;
214 
231  virtual UnicodeString& getReferenceZoneID(const UnicodeString& mzID, const char* region, UnicodeString& tzID) const = 0;
232 
243  virtual UnicodeString& getMetaZoneDisplayName(const UnicodeString& mzID, UTimeZoneNameType type, UnicodeString& name) const = 0;
244 
255  virtual UnicodeString& getTimeZoneDisplayName(const UnicodeString& tzID, UTimeZoneNameType type, UnicodeString& name) const = 0;
256 
276  virtual UnicodeString& getExemplarLocationName(const UnicodeString& tzID, UnicodeString& name) const;
277 
293  virtual UnicodeString& getDisplayName(const UnicodeString& tzID, UTimeZoneNameType type, UDate date, UnicodeString& name) const;
294 
298  virtual void loadAllDisplayNames(UErrorCode& status);
299 
303  virtual void getDisplayNames(const UnicodeString& tzID, const UTimeZoneNameType types[], int32_t numTypes, UDate date, UnicodeString dest[], UErrorCode& status) const;
304 
311  public:
321  virtual ~MatchInfoCollection();
322 
323 #ifndef U_HIDE_INTERNAL_API
324 
332  void addZone(UTimeZoneNameType nameType, int32_t matchLength,
333  const UnicodeString& tzID, UErrorCode& status);
334 
343  void addMetaZone(UTimeZoneNameType nameType, int32_t matchLength,
344  const UnicodeString& mzID, UErrorCode& status);
345 
351  int32_t size() const;
352 
361  UTimeZoneNameType getNameTypeAt(int32_t idx) const;
362 
370  int32_t getMatchLengthAt(int32_t idx) const;
371 
379  UBool getTimeZoneIDAt(int32_t idx, UnicodeString& tzID) const;
380 
388  UBool getMetaZoneIDAt(int32_t idx, UnicodeString& mzID) const;
389 #endif /* U_HIDE_INTERNAL_API */
390 
391  private:
392  UVector* fMatches; // vector of MatchEntry
393 
394  UVector* matches(UErrorCode& status);
395  };
396 
410  virtual MatchInfoCollection* find(const UnicodeString& text, int32_t start, uint32_t types, UErrorCode& status) const = 0;
411 };
412 
413 U_NAMESPACE_END
414 
415 #endif
416 
417 #endif /* U_SHOW_CPLUSPLUS_API */
418 
419 #endif
double UDate
Date and Time data type.
Definition: utypes.h:203
C++ API: Unicode String.
U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)
Global operator == for StringPiece.
Base class for 'pure' C++ implementations of uenum api.
Definition: strenum.h:61
Long display name, such as "Eastern Time".
Definition: tznames.h:41
UBool operator!=(const TimeZoneNames &other) const
Return true if the given TimeZoneNames objects are not semantically equal.
Definition: tznames.h:154
#define U_CDECL_BEGIN
This is used to begin a declaration of a library private ICU C API.
Definition: umachine.h:84
Short display name, such as "ET".
Definition: tznames.h:56
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside...
Definition: utypes.h:301
MatchInfoCollection represents a collection of time zone name matches used by TimeZoneNames#find.
Definition: tznames.h:310
Long display name for standard time, such as "Eastern Standard Time".
Definition: tznames.h:46
Short display name for standard time, such as "EST".
Definition: tznames.h:61
TimeZoneNames is an abstract class representing the time zone display name data model defined by UTS#...
Definition: tznames.h:131
#define U_CDECL_END
This is used to end a declaration of a library private ICU C API.
Definition: umachine.h:85
Unknown display name type.
Definition: tznames.h:36
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition: utypes.h:415
Exemplar location name, such as "Los Angeles".
Definition: tznames.h:71
Basic definitions for ICU, for both C and C++ APIs.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:294
Long display name for daylight saving time, such as "Eastern Daylight Time".
Definition: tznames.h:51
UTimeZoneNameType
Constants for time zone display name types.
Definition: tznames.h:31
UObject is the common ICU "boilerplate" class.
Definition: uobject.h:223
UMemory is the common ICU base class.
Definition: uobject.h:115
int8_t UBool
The ICU boolean type.
Definition: umachine.h:261
C API: Locale.
Short display name for daylight saving time, such as "EDT".
Definition: tznames.h:66
A Locale object represents a specific geographical, political, or cultural region.
Definition: locid.h:195