ICU 56.1
56.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
i18n
unicode
tznames.h
Go to the documentation of this file.
1
/*
2
*******************************************************************************
3
* Copyright (C) 2011-2015, International Business Machines Corporation and
4
* others. All Rights Reserved.
5
*******************************************************************************
6
*/
7
#ifndef __TZNAMES_H
8
#define __TZNAMES_H
9
14
#include "
unicode/utypes.h
"
15
16
#if !UCONFIG_NO_FORMATTING
17
18
#include "
unicode/uloc.h
"
19
#include "
unicode/unistr.h
"
20
21
U_CDECL_BEGIN
22
27
typedef
enum
UTimeZoneNameType
{
32
UTZNM_UNKNOWN
= 0x00,
37
UTZNM_LONG_GENERIC
= 0x01,
42
UTZNM_LONG_STANDARD
= 0x02,
47
UTZNM_LONG_DAYLIGHT
= 0x04,
52
UTZNM_SHORT_GENERIC
= 0x08,
57
UTZNM_SHORT_STANDARD
= 0x10,
62
UTZNM_SHORT_DAYLIGHT
= 0x20,
67
UTZNM_EXEMPLAR_LOCATION
= 0x40
68
}
UTimeZoneNameType
;
69
70
U_CDECL_END
71
72
U_NAMESPACE_BEGIN
73
74
class
UVector;
75
struct
MatchInfo;
76
127
class
U_I18N_API
TimeZoneNames
:
public
UObject
{
128
public
:
133
virtual
~
TimeZoneNames
();
134
141
virtual
UBool
operator==
(
const
TimeZoneNames
& other)
const
= 0;
142
150
UBool
operator!=
(
const
TimeZoneNames
& other)
const
{
return
!
operator==
(other); }
151
158
virtual
TimeZoneNames
* clone()
const
= 0;
159
168
static
TimeZoneNames
* U_EXPORT2 createInstance(
const
Locale
& locale,
UErrorCode
& status);
169
180
static
TimeZoneNames
* U_EXPORT2 createTZDBInstance(
const
Locale
& locale,
UErrorCode
& status);
181
188
virtual
StringEnumeration
* getAvailableMetaZoneIDs(
UErrorCode
& status)
const
= 0;
189
197
virtual
StringEnumeration
* getAvailableMetaZoneIDs(
const
UnicodeString
& tzID,
UErrorCode
& status)
const
= 0;
198
209
virtual
UnicodeString
& getMetaZoneID(
const
UnicodeString
& tzID,
UDate
date,
UnicodeString
& mzID)
const
= 0;
210
227
virtual
UnicodeString
& getReferenceZoneID(
const
UnicodeString
& mzID,
const
char
* region,
UnicodeString
& tzID)
const
= 0;
228
239
virtual
UnicodeString
& getMetaZoneDisplayName(
const
UnicodeString
& mzID,
UTimeZoneNameType
type,
UnicodeString
& name)
const
= 0;
240
251
virtual
UnicodeString
& getTimeZoneDisplayName(
const
UnicodeString
& tzID,
UTimeZoneNameType
type,
UnicodeString
& name)
const
= 0;
252
272
virtual
UnicodeString
& getExemplarLocationName(
const
UnicodeString
& tzID,
UnicodeString
& name)
const
;
273
289
virtual
UnicodeString
& getDisplayName(
const
UnicodeString
& tzID,
UTimeZoneNameType
type,
UDate
date,
UnicodeString
& name)
const
;
290
296
class
U_I18N_API
MatchInfoCollection
:
public
UMemory
{
297
public
:
302
MatchInfoCollection
();
307
virtual
~
MatchInfoCollection
();
308
309
#ifndef U_HIDE_INTERNAL_API
310
318
void
addZone(
UTimeZoneNameType
nameType, int32_t matchLength,
319
const
UnicodeString
& tzID,
UErrorCode
& status);
320
329
void
addMetaZone(
UTimeZoneNameType
nameType, int32_t matchLength,
330
const
UnicodeString
& mzID,
UErrorCode
& status);
331
337
int32_t size()
const
;
338
347
UTimeZoneNameType
getNameTypeAt(int32_t idx)
const
;
348
356
int32_t getMatchLengthAt(int32_t idx)
const
;
357
365
UBool
getTimeZoneIDAt(int32_t idx,
UnicodeString
& tzID)
const
;
366
374
UBool
getMetaZoneIDAt(int32_t idx,
UnicodeString
& mzID)
const
;
375
#endif
/* U_HIDE_INTERNAL_API */
376
377
private
:
378
UVector* fMatches;
// vector of MatchEntry
379
380
UVector* matches(
UErrorCode
& status);
381
};
382
396
virtual
MatchInfoCollection
* find(
const
UnicodeString
& text, int32_t start, uint32_t types,
UErrorCode
& status)
const
= 0;
397
};
398
399
U_NAMESPACE_END
400
401
#endif
402
#endif
Generated on Wed Oct 7 2015 21:17:57 for ICU 56.1 by
1.8.1.2