uset_imp.h revision 51cfa1a9a96cad34675a6415fe86dfdf3f525bb6
1/*
2*******************************************************************************
3*
4*   Copyright (C) 2004-2007, International Business Machines
5*   Corporation and others.  All Rights Reserved.
6*
7*******************************************************************************
8*   file name:  uset_imp.h
9*   encoding:   US-ASCII
10*   tab size:   8 (not used)
11*   indentation:4
12*
13*   created on: 2004sep07
14*   created by: Markus W. Scherer
15*
16*   Internal USet definitions.
17*/
18
19#ifndef __USET_IMP_H__
20#define __USET_IMP_H__
21
22#include "unicode/utypes.h"
23#include "unicode/uset.h"
24
25U_CDECL_BEGIN
26
27typedef void U_CALLCONV
28USetAdd(USet *set, UChar32 c);
29
30typedef void U_CALLCONV
31USetAddRange(USet *set, UChar32 start, UChar32 end);
32
33typedef void U_CALLCONV
34USetAddString(USet *set, const UChar *str, int32_t length);
35
36typedef void U_CALLCONV
37USetRemove(USet *set, UChar32 c);
38
39/**
40 * Interface for adding items to a USet, to keep low-level code from
41 * statically depending on the USet implementation.
42 * Calls will look like sa->add(sa->set, c);
43 */
44struct USetAdder {
45    USet *set;
46    USetAdd *add;
47    USetAddRange *addRange;
48    USetAddString *addString;
49    USetRemove *remove;
50};
51typedef struct USetAdder USetAdder;
52
53U_CDECL_END
54
55#endif
56
57