// © 2016 and later: Unicode, Inc. and others. // License & terms of use: http://www.unicode.org/copyright.html /* ****************************************************************************** * * Copyright (C) 2007, International Business Machines * Corporation and others. All Rights Reserved. * ****************************************************************************** * file name: bmpset.h * encoding: UTF-8 * tab size: 8 (not used) * indentation:4 * * created on: 2007jan29 * created by: Markus W. Scherer */ #ifndef __BMPSET_H__ #define __BMPSET_H__ #include "unicode/utypes.h" #include "unicode/uniset.h" U_NAMESPACE_BEGIN /* * Helper class for frozen UnicodeSets, implements contains() and span() * optimized for BMP code points. Structured to be UTF-8-friendly. * * Latin-1: Look up bytes. * 2-byte characters: Bits organized vertically. * 3-byte characters: Use zero/one/mixed data per 64-block in U+0000..U+FFFF, * with mixed for illegal ranges. * Supplementary characters: Binary search over * the supplementary part of the parent set's inversion list. */ class BMPSet : public UMemory { … }; inline UBool BMPSet::containsSlow(UChar32 c, int32_t lo, int32_t hi) const { … } U_NAMESPACE_END #endif