]> git.saurik.com Git - apple/icu.git/blob - icuSources/common/uset_imp.h
ICU-59180.0.1.tar.gz
[apple/icu.git] / icuSources / common / uset_imp.h
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 *******************************************************************************
5 *
6 * Copyright (C) 2004-2007, International Business Machines
7 * Corporation and others. All Rights Reserved.
8 *
9 *******************************************************************************
10 * file name: uset_imp.h
11 * encoding: UTF-8
12 * tab size: 8 (not used)
13 * indentation:4
14 *
15 * created on: 2004sep07
16 * created by: Markus W. Scherer
17 *
18 * Internal USet definitions.
19 */
20
21 #ifndef __USET_IMP_H__
22 #define __USET_IMP_H__
23
24 #include "unicode/utypes.h"
25 #include "unicode/uset.h"
26
27 U_CDECL_BEGIN
28
29 typedef void U_CALLCONV
30 USetAdd(USet *set, UChar32 c);
31
32 typedef void U_CALLCONV
33 USetAddRange(USet *set, UChar32 start, UChar32 end);
34
35 typedef void U_CALLCONV
36 USetAddString(USet *set, const UChar *str, int32_t length);
37
38 typedef void U_CALLCONV
39 USetRemove(USet *set, UChar32 c);
40
41 typedef void U_CALLCONV
42 USetRemoveRange(USet *set, UChar32 start, UChar32 end);
43
44 /**
45 * Interface for adding items to a USet, to keep low-level code from
46 * statically depending on the USet implementation.
47 * Calls will look like sa->add(sa->set, c);
48 */
49 struct USetAdder {
50 USet *set;
51 USetAdd *add;
52 USetAddRange *addRange;
53 USetAddString *addString;
54 USetRemove *remove;
55 USetRemoveRange *removeRange;
56 };
57 typedef struct USetAdder USetAdder;
58
59 U_CDECL_END
60
61 #endif
62