#ifndef __UBIDI_PROPS_H__
#define __UBIDI_PROPS_H__
#include "unicode/utypes.h"
#include "unicode/uset.h"
#include "putilimp.h"
#include "uset_imp.h"
#include "udataswp.h"
U_CDECL_BEGIN
U_CFUNC void
ubidi_addPropertyStarts(const USetAdder *sa, UErrorCode *pErrorCode);
U_CFUNC int32_t
ubidi_getMaxValue(UProperty which);
U_CAPI UCharDirection
ubidi_getClass(UChar32 c);
U_CFUNC UBool
ubidi_isMirrored(UChar32 c);
U_CFUNC UChar32
ubidi_getMirror(UChar32 c);
U_CFUNC UBool
ubidi_isBidiControl(UChar32 c);
U_CFUNC UBool
ubidi_isJoinControl(UChar32 c);
U_CFUNC UJoiningType
ubidi_getJoiningType(UChar32 c);
U_CFUNC UJoiningGroup
ubidi_getJoiningGroup(UChar32 c);
U_CFUNC UBidiPairedBracketType
ubidi_getPairedBracketType(UChar32 c);
U_CFUNC UChar32
ubidi_getPairedBracket(UChar32 c);
#define UBIDI_DATA_NAME …
#define UBIDI_DATA_TYPE …
#define UBIDI_FMT_0 …
#define UBIDI_FMT_1 …
#define UBIDI_FMT_2 …
#define UBIDI_FMT_3 …
enum { … };
enum { … };
#define UBIDI_CLASS_MASK …
#define UBIDI_JT_MASK …
#define UBIDI_BPT_MASK …
#define UBIDI_MAX_JG_MASK …
#define UBIDI_GET_CLASS(props) …
#define UBIDI_GET_FLAG(props, shift) …
#if U_SIGNED_RIGHT_SHIFT_IS_ARITHMETIC
#define UBIDI_GET_MIRROR_DELTA(props) …
#else
#define UBIDI_GET_MIRROR_DELTA …
#endif
enum { … };
enum { … };
#define UBIDI_GET_MIRROR_CODE_POINT(m) …
#define UBIDI_GET_MIRROR_INDEX(m) …
U_CDECL_END
#endif