#include "unicode/utypes.h"
#include "unicode/localpointer.h"
#include "unicode/uchar.h"
#include "unicode/ucpmap.h"
#include "unicode/ucptrie.h"
#include "unicode/umutablecptrie.h"
#include "unicode/uniset.h"
#include "unicode/uscript.h"
#include "unicode/uset.h"
#include "cmemory.h"
#include "emojiprops.h"
#include "mutex.h"
#include "normalizer2impl.h"
#include "uassert.h"
#include "ubidi_props.h"
#include "ucase.h"
#include "ucln_cmn.h"
#include "umutex.h"
#include "uprops.h"
LocalPointer;
#if !UCONFIG_NO_NORMALIZATION
Normalizer2Factory;
Normalizer2Impl;
#endif
UInitOnce;
UnicodeSet;
namespace {
UBool U_CALLCONV characterproperties_cleanup();
constexpr int32_t NUM_INCLUSIONS = …;
struct Inclusion { … };
Inclusion gInclusions[NUM_INCLUSIONS];
UnicodeSet *sets[UCHAR_BINARY_LIMIT] = …;
UCPMap *maps[UCHAR_INT_LIMIT - UCHAR_INT_START] = …;
icu::UMutex cpMutex;
void U_CALLCONV
_set_add(USet *set, UChar32 c) { … }
void U_CALLCONV
_set_addRange(USet *set, UChar32 start, UChar32 end) { … }
void U_CALLCONV
_set_addString(USet *set, const char16_t *str, int32_t length) { … }
UBool U_CALLCONV characterproperties_cleanup() { … }
void U_CALLCONV initInclusion(UPropertySource src, UErrorCode &errorCode) { … }
const UnicodeSet *getInclusionsForSource(UPropertySource src, UErrorCode &errorCode) { … }
void U_CALLCONV initIntPropInclusion(UProperty prop, UErrorCode &errorCode) { … }
}
U_NAMESPACE_BEGIN
const UnicodeSet *CharacterProperties::getInclusionsForProperty(
UProperty prop, UErrorCode &errorCode) { … }
U_NAMESPACE_END
namespace {
UnicodeSet *makeSet(UProperty property, UErrorCode &errorCode) { … }
UCPMap *makeMap(UProperty property, UErrorCode &errorCode) { … }
}
U_NAMESPACE_BEGIN
const UnicodeSet *CharacterProperties::getBinaryPropertySet(UProperty property, UErrorCode &errorCode) { … }
U_NAMESPACE_END
U_NAMESPACE_USE
U_CAPI const USet * U_EXPORT2
u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode) { … }
U_CAPI const UCPMap * U_EXPORT2
u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode) { … }