16 #ifndef INCLUDE_NN_NLIB_UNICODE_STRINGPREP_H_ 17 #define INCLUDE_NN_NLIB_UNICODE_STRINGPREP_H_ 41 return utf32 < 0x0020 || utf32 == 0x007F;
48 return utf32 >= 0xD800 && utf32 <= 0xDFFF;
51 return utf32 >= 0xFFF9 && utf32 <= 0xFFFD;
54 return utf32 >= 0x2FF0 && utf32 <= 0x2FFB;
58 return utf32 == 0xE0001 || (utf32 >= 0xE0020 && utf32 <= 0xE007F);
67 #endif // INCLUDE_NN_NLIB_UNICODE_STRINGPREP_H_ static constexpr bool InTableC9(uint32_t utf32) noexcept
RFC3454のC.9に記載された文字(タグ文字)かどうかを判定します。
RFC3454で定義されている各種テーブルを実装しています。
StringPrepによるマッピングの結果を格納する構造体です。
static constexpr bool InTableC11(uint32_t utf32) noexcept
RFC3454のC.1.1に記載された文字(ASCIIのスペースのみ)かどうかを判定します。
size_t n
StringPrepMapResult::codeに格納されている文字数
#define NLIB_NOEXCEPT
環境に合わせてnoexcept 又は同等の定義がされます。
#define NLIB_CEXPR
利用可能であればconstexprが定義されます。そうでない場合は空文字列です。
static constexpr bool InTableC5(uint32_t utf32) noexcept
RFC3454のC.5に記載された文字(サロゲートコード)かどうかを判定します。
static constexpr bool InTableC6(uint32_t utf32) noexcept
RFC3454のC.6に記載された文字(平文として不適切)かどうかを判定します。
#define NLIB_FINAL
利用可能であればfinalが定義されます。そうでない場合は空文字列です。
static constexpr bool InTableC21(uint32_t utf32) noexcept
RFC3454のC.2.1に記載された文字(ASCIIの制御文字)かどうかを判定します。
static constexpr bool InTableC7(uint32_t utf32) noexcept
RFC3454のC.7に記載された文字(正規表現には不適切)かどうかを判定します。