ICU 50.1.2
50.1.2
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
common
unicode
listformatter.h
Go to the documentation of this file.
1
/*
2
*******************************************************************************
3
*
4
* Copyright (C) 2012, International Business Machines
5
* Corporation and others. All Rights Reserved.
6
*
7
*******************************************************************************
8
* file name: listformatter.h
9
* encoding: US-ASCII
10
* tab size: 8 (not used)
11
* indentation:4
12
*
13
* created on: 20120426
14
* created by: Umesh P. Nair
15
*/
16
17
#ifndef __LISTFORMATTER_H__
18
#define __LISTFORMATTER_H__
19
20
#include "
unicode/unistr.h
"
21
#include "
unicode/locid.h
"
22
23
24
U_NAMESPACE_BEGIN
25
27
class
Hashtable;
28
30
struct
ListFormatData
:
public
UMemory
{
31
UnicodeString
twoPattern;
32
UnicodeString
startPattern;
33
UnicodeString
middlePattern;
34
UnicodeString
endPattern;
35
36
ListFormatData
(
const
UnicodeString
& two,
const
UnicodeString
& start,
const
UnicodeString
& middle,
const
UnicodeString
& end) :
37
twoPattern(two), startPattern(start), middlePattern(middle), endPattern(end) {}
38
};
39
40
56
class
U_COMMON_API
ListFormatter
:
public
UObject
{
57
58
public
:
67
static
ListFormatter
* createInstance(
UErrorCode
& errorCode);
68
78
static
ListFormatter
* createInstance(
const
Locale
& locale,
UErrorCode
& errorCode);
79
80
86
virtual
~
ListFormatter
();
87
88
99
UnicodeString
& format(
const
UnicodeString
items[], int32_t n_items,
100
UnicodeString
& appendTo,
UErrorCode
& errorCode)
const
;
101
109
static
void
getFallbackLocale(
const
Locale
& in,
Locale
& out,
UErrorCode
& errorCode);
110
114
ListFormatter
(
const
ListFormatData
& listFormatterData);
115
116
private
:
117
static
void
initializeHash(
UErrorCode
& errorCode);
118
static
void
addDataToHash(
const
char
* locale,
const
char
* two,
const
char
* start,
const
char
* middle,
const
char
* end,
UErrorCode
& errorCode);
119
static
const
ListFormatData
* getListFormatData(
const
Locale
& locale,
UErrorCode
& errorCode);
120
121
ListFormatter
();
122
ListFormatter
(
const
ListFormatter
&);
123
124
ListFormatter
& operator = (
const
ListFormatter
&);
125
void
addNewString(
const
UnicodeString
& pattern,
UnicodeString
& originalString,
126
const
UnicodeString
& newString,
UErrorCode
& errorCode)
const
;
127
virtual
UClassID
getDynamicClassID
()
const
;
128
129
const
ListFormatData
& data;
130
};
131
132
U_NAMESPACE_END
133
134
#endif
Generated on Thu Jan 10 2013 16:42:09 for ICU 50.1.2 by
1.8.1.2