]> git.saurik.com Git - apple/icu.git/blame - icuSources/common/icuuc40shim.cpp
ICU-511.35.tar.gz
[apple/icu.git] / icuSources / common / icuuc40shim.cpp
CommitLineData
729e4ab9
A
1/*
2*****************************************************************************************
3* Copyright (C) 2010 Apple Inc. All Rights Reserved.
4*****************************************************************************************
5*/
6
4388f060 7#include <unicode/utypes.h>
729e4ab9
A
8#include <unicode/ubrk.h>
9#include <unicode/uchar.h>
10#include <unicode/uidna.h>
11#include <unicode/uscript.h>
12#include <unicode/ustring.h>
4388f060
A
13#include <unicode/utf8.h>
14#include <unicode/brkiter.h>
15#include <unicode/unistr.h>
16#include <unicode/locid.h>
729e4ab9
A
17
18extern "C" {
19
20/*
21 * imp: common/uchar.c
22 * hdr: common/unicode/uchar.h
23 * @stable ICU 2.0
24 */
25U_CAPI int8_t U_EXPORT2
26u_charType_4_0(UChar32 c)
27{
28 return u_charType(c);
29}
30
31} // end extern "C"
32
33/*
34 * imp: common/uchar.c
35 * hdr: common/unicode/uchar.h
36 * @stable ICU 2.0
37 */
38U_CAPI UBool U_EXPORT2
39u_isUWhiteSpace_4_0(UChar32 c)
40{
41 return u_isUWhiteSpace(c);
42}
43
44/*
45 * imp: common/uchar.c
46 * hdr: common/unicode/uchar.h
47 * @stable ICU 2.0
48 */
49U_CAPI UBool U_EXPORT2
50u_isprint_4_0(UChar32 c)
51{
52 return u_isprint(c);
53}
54
55/*
56 * imp: common/uchar.c
57 * hdr: common/unicode/uchar.h
58 * @stable ICU 2.0
59 */
60U_CAPI UBool U_EXPORT2
61u_isWhitespace_4_0(UChar32 c)
62{
63 return u_isWhitespace(c);
64}
65
66/*
67 * imp: common/uchar.c
68 * hdr: common/unicode/uchar.h
69 * @stable ICU 2.0
70 */
71U_CAPI UBool U_EXPORT2
72u_isspace_4_0(UChar32 c)
73{
74 return u_isspace(c);
75}
76
77/*
78 * imp: common/ucase.c
79 * hdr: common/unicode/uchar.h
80 * @stable ICU 2.0
81 */
82U_CAPI UChar32 U_EXPORT2
83u_foldCase_4_0(UChar32 c, uint32_t options) {
84 return u_foldCase(c, options);
85}
86
87/*
88 * imp: common/uprops.cpp
89 * hdr: common/unicode/uchar.h
90 * @stable ICU 2.1
91 */
92U_CAPI UBool U_EXPORT2
93u_hasBinaryProperty_4_0(UChar32 c, UProperty which)
94{
95 return u_hasBinaryProperty(c, which);
96}
97
98/*
99 * imp: common/propname.cpp
100 * hdr: common/unicode/uchar.h
101 * @stable ICU 2.4
102 */
103U_CAPI int32_t U_EXPORT2
104u_getPropertyValueEnum_4_0(UProperty property,
105 const char* alias)
106{
107 return u_getPropertyValueEnum(property, alias);
108}
109
110/*
111 * imp: common/uchar.c
112 * hdr: common/unicode/uscript.h
113 * @stable ICU 2.4
114 */
115U_CAPI UScriptCode U_EXPORT2
116uscript_getScript_4_0(UChar32 codepoint, UErrorCode *err)
117
118{
119 return uscript_getScript(codepoint, err);
120}
121
122/*
123 * imp: common/ustrcase.c
124 * hdr: common/unicode/ustring.h
125 * @stable ICU 2.0
126 */
127U_CAPI int32_t U_EXPORT2
128u_memcasecmp_4_0(const UChar *s1, const UChar *s2, int32_t length, uint32_t options) {
129 return u_memcasecmp(s1, s2, length, options);
130}
131
132/*
133 * imp: common/utypes.c
134 * hdr: common/unicode/utypes.h
135 * @stable ICU 2.0
136 */
137U_CAPI const char * U_EXPORT2
138u_errorName_4_0(UErrorCode code)
139{
140 return u_errorName(code);
141}
142
143/*
144 * imp: common/ubrk.cpp
145 * hdr: common/unicode/ubrk.h
146 * @stable ICU 2.0
147 * #if !UCONFIG_NO_BREAK_ITERATION
148 * (don't actually conditionalize this, if the underlying library is not
149 * built with break iteration, we want to fail at build time, not runtime)
150 */
151U_CAPI UBreakIterator* U_EXPORT2
152ubrk_open_4_0(UBreakIteratorType type,
153 const char *locale,
154 const UChar *text,
155 int32_t textLength,
156 UErrorCode *status)
157{
158 return ubrk_open(type, locale, text, textLength, status);
159}
160
161/*
162 * imp: common/ubrk.cpp
163 * hdr: common/unicode/ubrk.h
164 * @stable ICU 2.0
165 * #if !UCONFIG_NO_BREAK_ITERATION
166 * (don't actually conditionalize this, if the underlying library is not
167 * built with break iteration, we want to fail at build time, not runtime)
168 */
169U_CAPI void U_EXPORT2
170ubrk_close_4_0(UBreakIterator *bi)
171{
172 return ubrk_close(bi);
173}
174
175/*
176 * imp: common/ubrk.cpp
177 * hdr: common/unicode/ubrk.h
178 * @stable ICU 2.0
179 * #if !UCONFIG_NO_BREAK_ITERATION
180 * (don't actually conditionalize this, if the underlying library is not
181 * built with break iteration, we want to fail at build time, not runtime)
182 */
183U_CAPI void U_EXPORT2
184ubrk_setText_4_0(UBreakIterator* bi,
185 const UChar* text,
186 int32_t textLength,
187 UErrorCode* status)
188{
189 return ubrk_setText(bi, text, textLength, status);
190}
191
192/*
193 * imp: common/ubrk.cpp
194 * hdr: common/unicode/ubrk.h
195 * @stable ICU 2.0
196 * #if !UCONFIG_NO_BREAK_ITERATION
197 * (don't actually conditionalize this, if the underlying library is not
198 * built with break iteration, we want to fail at build time, not runtime)
199 */
200U_CAPI int32_t U_EXPORT2
201ubrk_first_4_0(UBreakIterator *bi)
202{
203 return ubrk_first(bi);
204}
205
206/*
207 * imp: common/ubrk.cpp
208 * hdr: common/unicode/ubrk.h
209 * @stable ICU 2.0
210 * #if !UCONFIG_NO_BREAK_ITERATION
211 * (don't actually conditionalize this, if the underlying library is not
212 * built with break iteration, we want to fail at build time, not runtime)
213 */
214U_CAPI int32_t U_EXPORT2
215ubrk_last_4_0(UBreakIterator *bi)
216{
217 return ubrk_last(bi);
218}
219
220/*
221 * imp: common/ubrk.cpp
222 * hdr: common/unicode/ubrk.h
223 * @stable ICU 2.0
224 * #if !UCONFIG_NO_BREAK_ITERATION
225 * (don't actually conditionalize this, if the underlying library is not
226 * built with break iteration, we want to fail at build time, not runtime)
227 */
228U_CAPI int32_t U_EXPORT2
229ubrk_next_4_0(UBreakIterator *bi)
230{
231 return ubrk_next(bi);
232}
233
234/*
235 * imp: common/ubrk.cpp
236 * hdr: common/unicode/ubrk.h
237 * @stable ICU 2.0
238 * #if !UCONFIG_NO_BREAK_ITERATION
239 * (don't actually conditionalize this, if the underlying library is not
240 * built with break iteration, we want to fail at build time, not runtime)
241 */
242U_CAPI int32_t U_EXPORT2
243ubrk_previous_4_0(UBreakIterator *bi)
244{
245 return ubrk_previous(bi);
246}
247
248/*
249 * imp: common/ubrk.cpp
250 * hdr: common/unicode/ubrk.h
251 * @stable ICU 2.0
252 * #if !UCONFIG_NO_BREAK_ITERATION
253 * (don't actually conditionalize this, if the underlying library is not
254 * built with break iteration, we want to fail at build time, not runtime)
255 */
256U_CAPI int32_t U_EXPORT2
257ubrk_preceding_4_0(UBreakIterator *bi,
258 int32_t offset)
259{
260 return ubrk_preceding(bi, offset);
261}
262
263/*
264 * imp: common/ubrk.cpp
265 * hdr: common/unicode/ubrk.h
266 * @stable ICU 2.0
267 * #if !UCONFIG_NO_BREAK_ITERATION
268 * (don't actually conditionalize this, if the underlying library is not
269 * built with break iteration, we want to fail at build time, not runtime)
270 */
271U_CAPI int32_t U_EXPORT2
272ubrk_following_4_0(UBreakIterator *bi,
273 int32_t offset)
274{
275 return ubrk_following(bi, offset);
276}
277
278
279/*
280 * imp: common/uidna.cpp
281 * hdr: common/unicode/uidna.h
282 * @stable ICU 2.6
283 */
284U_CAPI int32_t U_EXPORT2
285uidna_IDNToUnicode_4_0( const UChar* src, int32_t srcLength,
286 UChar* dest, int32_t destCapacity,
287 int32_t options,
288 UParseError* parseError,
289 UErrorCode* status)
290{
291 return uidna_IDNToUnicode(src, srcLength, dest, destCapacity, options, parseError, status);
292}
293
294/*
295 * imp: common/uidna.cpp
296 * hdr: common/unicode/uidna.h
297 * @stable ICU 2.6
298 */
299U_CAPI int32_t U_EXPORT2
300uidna_IDNToASCII_4_0( const UChar* src, int32_t srcLength,
301 UChar* dest, int32_t destCapacity,
302 int32_t options,
303 UParseError* parseError,
304 UErrorCode* status)
305{
306 return uidna_IDNToASCII(src, srcLength, dest, destCapacity, options, parseError, status);
307}
308
309
310/*
311 * imp: common/utf_impl.c
312 * hdr: common/unicode/utf8.h
313 * @internal
314 */
315U_CAPI int32_t U_EXPORT2
316utf8_appendCharSafeBody_4_0(uint8_t *s, int32_t i, int32_t length, UChar32 c, UBool *pIsError)
317{
318 return utf8_appendCharSafeBody(s, i, length, c, pIsError);
319}
320
321
322namespace icu_4_0 {
323
324/*
325 * imp: common/locid.cpp
326 * hdr: common/unicode/locid.h
327 */
328class __declspec(dllexport) Locale : public icu::Locale {
329public:
330 // @stable ICU 2.0
331 Locale(const char* language, const char* country = 0, const char* variant = 0, const char* keywordsAndValues = 0)
332 : icu::Locale(language, country, variant, keywordsAndValues)
333 {
334 }
335};
336
337
338/*
339 * imp: common/unistr.cpp
340 * hdr: common/unicode/unistr.h
341 */
342class __declspec(dllexport) UnicodeString : public icu::UnicodeString {
343public:
344 UnicodeString(UBool isTerminated, const UChar *text, int32_t textLength)
345 : icu::UnicodeString(isTerminated, text, textLength)
346 {
347 }
348
349 UnicodeString(int32_t capacity, UChar32 c, int32_t count)
350 : icu::UnicodeString(capacity, c, count)
351 {
352 }
353
354 UnicodeString()
355 : icu::UnicodeString()
356 {
357 }
358
359 UChar *getBuffer(int32_t minCapacity)
360 {
361 return icu::UnicodeString::getBuffer(minCapacity);
362 }
363
364 void releaseBuffer(int32_t newLength=-1)
365 {
366 return icu::UnicodeString::releaseBuffer(newLength);
367 }
368};
369
370
371/*
372 * imp: common/brkiter.cpp
373 * hdr: common/unicode/brkiter.h
374 */
375class __declspec(dllexport) BreakIterator : public icu::BreakIterator {
376public:
377 // @stable ICU 2.0
378 static BreakIterator* U_EXPORT2
379 createWordInstance(const icu_4_0::Locale& where, UErrorCode& status)
380 {
381 return static_cast<BreakIterator*>(icu::BreakIterator::createWordInstance(where, status));
382 }
383};
384
385}; // end namespace icu_4_0