// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ******************************************************************************* * * Copyright (C) 2004-2007, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * file name: uset_imp.h * encoding: UTF-8 * tab size: 8 (not used) * indentation:4 * * created on: 2004sep07 * created by: Markus W. Scherer * * Internal USet definitions. */ #ifndef __USET_IMP_H__ #define __USET_IMP_H__ #include "unicode/utypes.h" #include "unicode/uset.h" U_CDECL_BEGIN typedef void U_CALLCONV USetAdd(USet *set, UChar32 c); typedef void U_CALLCONV USetAddRange(USet *set, UChar32 start, UChar32 end); typedef void U_CALLCONV USetAddString(USet *set, const UChar *str, int32_t length); typedef void U_CALLCONV USetRemove(USet *set, UChar32 c); typedef void U_CALLCONV USetRemoveRange(USet *set, UChar32 start, UChar32 end); /** * Interface for adding items to a USet, to keep low-level code from * statically depending on the USet implementation. * Calls will look like sa->add(sa->set, c); */ struct USetAdder { USet *set; USetAdd *add; USetAddRange *addRange; USetAddString *addString; USetRemove *remove; USetRemoveRange *removeRange; }; typedef struct USetAdder USetAdder; U_CDECL_END #ifdef __cplusplus namespace { constexpr int32_t USET_CASE_MASK = USET_CASE_INSENSITIVE | USET_ADD_CASE_MAPPINGS; } // namespace #endif // __cplusplus #endif