Home | History | Annotate | Download | only in common
      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 
     25 U_CDECL_BEGIN
     26 
     27 typedef void U_CALLCONV
     28 USetAdd(USet *set, UChar32 c);
     29 
     30 typedef void U_CALLCONV
     31 USetAddRange(USet *set, UChar32 start, UChar32 end);
     32 
     33 typedef void U_CALLCONV
     34 USetAddString(USet *set, const UChar *str, int32_t length);
     35 
     36 typedef void U_CALLCONV
     37 USetRemove(USet *set, UChar32 c);
     38 
     39 typedef void U_CALLCONV
     40 USetRemoveRange(USet *set, UChar32 start, UChar32 end);
     41 
     42 /**
     43  * Interface for adding items to a USet, to keep low-level code from
     44  * statically depending on the USet implementation.
     45  * Calls will look like sa->add(sa->set, c);
     46  */
     47 struct USetAdder {
     48     USet *set;
     49     USetAdd *add;
     50     USetAddRange *addRange;
     51     USetAddString *addString;
     52     USetRemove *remove;
     53     USetRemoveRange *removeRange;
     54 };
     55 typedef struct USetAdder USetAdder;
     56 
     57 U_CDECL_END
     58 
     59 #endif
     60 
     61