forked from OSchip/llvm-project
1039 lines
20 KiB
C++
1039 lines
20 KiB
C++
// -*- C++ -*-
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
// WARNING, this entire header is generated by
|
|
// utils/generate_escaped_output_table.py
|
|
// DO NOT MODIFY!
|
|
|
|
// UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE
|
|
//
|
|
// See Terms of Use <https://www.unicode.org/copyright.html>
|
|
// for definitions of Unicode Inc.'s Data Files and Software.
|
|
//
|
|
// NOTICE TO USER: Carefully read the following legal agreement.
|
|
// BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S
|
|
// DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"),
|
|
// YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
|
// TERMS AND CONDITIONS OF THIS AGREEMENT.
|
|
// IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE
|
|
// THE DATA FILES OR SOFTWARE.
|
|
//
|
|
// COPYRIGHT AND PERMISSION NOTICE
|
|
//
|
|
// Copyright (c) 1991-2022 Unicode, Inc. All rights reserved.
|
|
// Distributed under the Terms of Use in https://www.unicode.org/copyright.html.
|
|
//
|
|
// Permission is hereby granted, free of charge, to any person obtaining
|
|
// a copy of the Unicode data files and any associated documentation
|
|
// (the "Data Files") or Unicode software and any associated documentation
|
|
// (the "Software") to deal in the Data Files or Software
|
|
// without restriction, including without limitation the rights to use,
|
|
// copy, modify, merge, publish, distribute, and/or sell copies of
|
|
// the Data Files or Software, and to permit persons to whom the Data Files
|
|
// or Software are furnished to do so, provided that either
|
|
// (a) this copyright and permission notice appear with all copies
|
|
// of the Data Files or Software, or
|
|
// (b) this copyright and permission notice appear in associated
|
|
// Documentation.
|
|
//
|
|
// THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
|
|
// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
// WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
// NONINFRINGEMENT OF THIRD PARTY RIGHTS.
|
|
// IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
|
|
// NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
|
|
// DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
|
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
// PERFORMANCE OF THE DATA FILES OR SOFTWARE.
|
|
//
|
|
// Except as contained in this notice, the name of a copyright holder
|
|
// shall not be used in advertising or otherwise to promote the sale,
|
|
// use or other dealings in these Data Files or Software without prior
|
|
// written authorization of the copyright holder.
|
|
|
|
#ifndef _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
|
|
#define _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
|
|
|
|
#include <__algorithm/ranges_upper_bound.h>
|
|
#include <__config>
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
|
|
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
|
# pragma GCC system_header
|
|
#endif
|
|
|
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
|
|
|
#if _LIBCPP_STD_VER > 20
|
|
|
|
namespace __escaped_output_table {
|
|
|
|
/// The entries of the characters to escape in format's debug string.
|
|
///
|
|
/// Contains the entries for [format.string.escaped]/2.2.1.2.1
|
|
/// CE is a Unicode encoding and C corresponds to either a UCS scalar value
|
|
/// whose Unicode property General_Category has a value in the groups
|
|
/// Separator (Z) or Other (C) or to a UCS scalar value which has the Unicode
|
|
/// property Grapheme_Extend=Yes, as described by table 12 of UAX #44
|
|
///
|
|
/// Separator (Z) consists of General_Category
|
|
/// - Space_Separator,
|
|
/// - Line_Separator,
|
|
/// - Paragraph_Separator.
|
|
///
|
|
/// Other (C) consists of General_Category
|
|
/// - Control,
|
|
/// - Format,
|
|
/// - Surrogate,
|
|
/// - Private_Use,
|
|
/// - Unassigned.
|
|
///
|
|
/// The data is generated from
|
|
/// - https://www.unicode.org/Public/UCD/latest/ucd/DerivedCoreProperties.txt
|
|
/// - https://www.unicode.org/Public/UCD/latest/ucd/extracted/DerivedGeneralCategory.txt
|
|
///
|
|
/// The table is similar to the table
|
|
/// __extended_grapheme_custer_property_boundary::__entries
|
|
/// which explains the details of these classes. The only difference is this
|
|
/// table lacks a property, thus having more bits available for the size.
|
|
///
|
|
/// The data has 2 values:
|
|
/// - bits [0, 10] The size of the range, allowing 2048 elements.
|
|
/// - bits [11, 31] The lower bound code point of the range. The upper bound of
|
|
/// the range is lower bound + size.
|
|
inline constexpr uint32_t __entries[893] = {
|
|
0x00000020,
|
|
0x0003f821,
|
|
0x00056800,
|
|
0x0018006f,
|
|
0x001bc001,
|
|
0x001c0003,
|
|
0x001c5800,
|
|
0x001c6800,
|
|
0x001d1000,
|
|
0x00241806,
|
|
0x00298000,
|
|
0x002ab801,
|
|
0x002c5801,
|
|
0x002c802d,
|
|
0x002df800,
|
|
0x002e0801,
|
|
0x002e2001,
|
|
0x002e3808,
|
|
0x002f5803,
|
|
0x002fa810,
|
|
0x0030800a,
|
|
0x0030e000,
|
|
0x00325814,
|
|
0x00338000,
|
|
0x0036b007,
|
|
0x0036f805,
|
|
0x00373801,
|
|
0x00375003,
|
|
0x00387001,
|
|
0x00388800,
|
|
0x0039801c,
|
|
0x003d300a,
|
|
0x003d900d,
|
|
0x003f5808,
|
|
0x003fd802,
|
|
0x0040b003,
|
|
0x0040d808,
|
|
0x00412802,
|
|
0x00414806,
|
|
0x0041f800,
|
|
0x0042c804,
|
|
0x0042f800,
|
|
0x00435804,
|
|
0x00447810,
|
|
0x00465038,
|
|
0x0049d000,
|
|
0x0049e000,
|
|
0x004a0807,
|
|
0x004a6800,
|
|
0x004a8806,
|
|
0x004b1001,
|
|
0x004c0800,
|
|
0x004c2000,
|
|
0x004c6801,
|
|
0x004c8801,
|
|
0x004d4800,
|
|
0x004d8800,
|
|
0x004d9802,
|
|
0x004dd002,
|
|
0x004df000,
|
|
0x004e0805,
|
|
0x004e4801,
|
|
0x004e6800,
|
|
0x004e780c,
|
|
0x004ef000,
|
|
0x004f1003,
|
|
0x004ff004,
|
|
0x00502000,
|
|
0x00505803,
|
|
0x00508801,
|
|
0x00514800,
|
|
0x00518800,
|
|
0x0051a000,
|
|
0x0051b800,
|
|
0x0051d003,
|
|
0x00520817,
|
|
0x0052e800,
|
|
0x0052f806,
|
|
0x00538001,
|
|
0x0053a800,
|
|
0x0053b80b,
|
|
0x00542000,
|
|
0x00547000,
|
|
0x00549000,
|
|
0x00554800,
|
|
0x00558800,
|
|
0x0055a000,
|
|
0x0055d002,
|
|
0x00560807,
|
|
0x00565000,
|
|
0x00566802,
|
|
0x0056880e,
|
|
0x00571003,
|
|
0x00579006,
|
|
0x0057d007,
|
|
0x00582000,
|
|
0x00586801,
|
|
0x00588801,
|
|
0x00594800,
|
|
0x00598800,
|
|
0x0059a000,
|
|
0x0059d002,
|
|
0x0059f001,
|
|
0x005a0805,
|
|
0x005a4801,
|
|
0x005a680e,
|
|
0x005af000,
|
|
0x005b1003,
|
|
0x005bc00a,
|
|
0x005c2000,
|
|
0x005c5802,
|
|
0x005c8800,
|
|
0x005cb002,
|
|
0x005cd800,
|
|
0x005ce800,
|
|
0x005d0002,
|
|
0x005d2802,
|
|
0x005d5802,
|
|
0x005dd004,
|
|
0x005e0000,
|
|
0x005e1802,
|
|
0x005e4800,
|
|
0x005e6802,
|
|
0x005e8814,
|
|
0x005fd805,
|
|
0x00602000,
|
|
0x00606800,
|
|
0x00608800,
|
|
0x00614800,
|
|
0x0061d002,
|
|
0x0061f002,
|
|
0x00622812,
|
|
0x0062d801,
|
|
0x0062f001,
|
|
0x00631003,
|
|
0x00638006,
|
|
0x00640800,
|
|
0x00646800,
|
|
0x00648800,
|
|
0x00654800,
|
|
0x0065a000,
|
|
0x0065d002,
|
|
0x0065f800,
|
|
0x00661000,
|
|
0x00662801,
|
|
0x00664800,
|
|
0x00666010,
|
|
0x0066f800,
|
|
0x00671003,
|
|
0x00678000,
|
|
0x0067a00d,
|
|
0x00686800,
|
|
0x00688800,
|
|
0x0069d801,
|
|
0x0069f000,
|
|
0x006a0804,
|
|
0x006a4800,
|
|
0x006a6800,
|
|
0x006a8003,
|
|
0x006ab800,
|
|
0x006b1003,
|
|
0x006c0001,
|
|
0x006c2000,
|
|
0x006cb802,
|
|
0x006d9000,
|
|
0x006de000,
|
|
0x006df001,
|
|
0x006e3808,
|
|
0x006e9005,
|
|
0x006ef806,
|
|
0x006f8001,
|
|
0x006fa80b,
|
|
0x00718800,
|
|
0x0071a00a,
|
|
0x00723807,
|
|
0x0072e024,
|
|
0x00741800,
|
|
0x00742800,
|
|
0x00745800,
|
|
0x00752000,
|
|
0x00753000,
|
|
0x00758800,
|
|
0x0075a008,
|
|
0x0075f001,
|
|
0x00762800,
|
|
0x00763808,
|
|
0x0076d001,
|
|
0x0077001f,
|
|
0x0078c001,
|
|
0x0079a800,
|
|
0x0079b800,
|
|
0x0079c800,
|
|
0x007a4000,
|
|
0x007b6811,
|
|
0x007c0004,
|
|
0x007c3001,
|
|
0x007c6830,
|
|
0x007e3000,
|
|
0x007e6800,
|
|
0x007ed824,
|
|
0x00816803,
|
|
0x00819005,
|
|
0x0081c801,
|
|
0x0081e801,
|
|
0x0082c001,
|
|
0x0082f002,
|
|
0x00838803,
|
|
0x00841000,
|
|
0x00842801,
|
|
0x00846800,
|
|
0x0084e800,
|
|
0x00863000,
|
|
0x00864004,
|
|
0x00867001,
|
|
0x00924800,
|
|
0x00927001,
|
|
0x0092b800,
|
|
0x0092c800,
|
|
0x0092f001,
|
|
0x00944800,
|
|
0x00947001,
|
|
0x00958800,
|
|
0x0095b001,
|
|
0x0095f800,
|
|
0x00960800,
|
|
0x00963001,
|
|
0x0096b800,
|
|
0x00988800,
|
|
0x0098b001,
|
|
0x009ad804,
|
|
0x009be802,
|
|
0x009cd005,
|
|
0x009fb001,
|
|
0x009ff001,
|
|
0x00b40000,
|
|
0x00b4e802,
|
|
0x00b7c806,
|
|
0x00b89002,
|
|
0x00b8b008,
|
|
0x00b99001,
|
|
0x00b9b808,
|
|
0x00ba900d,
|
|
0x00bb6800,
|
|
0x00bb880e,
|
|
0x00bda001,
|
|
0x00bdb806,
|
|
0x00be3000,
|
|
0x00be480a,
|
|
0x00bee802,
|
|
0x00bf5005,
|
|
0x00bfd005,
|
|
0x00c05804,
|
|
0x00c0d005,
|
|
0x00c3c806,
|
|
0x00c42801,
|
|
0x00c54800,
|
|
0x00c55804,
|
|
0x00c7b009,
|
|
0x00c8f803,
|
|
0x00c93801,
|
|
0x00c96003,
|
|
0x00c99000,
|
|
0x00c9c806,
|
|
0x00ca0802,
|
|
0x00cb7001,
|
|
0x00cba80a,
|
|
0x00cd6003,
|
|
0x00ce5005,
|
|
0x00ced802,
|
|
0x00d0b801,
|
|
0x00d0d802,
|
|
0x00d2b000,
|
|
0x00d2c008,
|
|
0x00d31000,
|
|
0x00d32807,
|
|
0x00d3980c,
|
|
0x00d45005,
|
|
0x00d4d005,
|
|
0x00d57055,
|
|
0x00d9a006,
|
|
0x00d9e000,
|
|
0x00da1000,
|
|
0x00da6802,
|
|
0x00db5808,
|
|
0x00dbf802,
|
|
0x00dd1003,
|
|
0x00dd4001,
|
|
0x00dd5802,
|
|
0x00df3000,
|
|
0x00df4001,
|
|
0x00df6800,
|
|
0x00df7802,
|
|
0x00dfa007,
|
|
0x00e16007,
|
|
0x00e1b004,
|
|
0x00e25002,
|
|
0x00e44806,
|
|
0x00e5d801,
|
|
0x00e6400a,
|
|
0x00e6a00c,
|
|
0x00e71006,
|
|
0x00e76800,
|
|
0x00e7a000,
|
|
0x00e7c001,
|
|
0x00e7d804,
|
|
0x00ee003f,
|
|
0x00f8b001,
|
|
0x00f8f001,
|
|
0x00fa3001,
|
|
0x00fa7001,
|
|
0x00fac000,
|
|
0x00fad000,
|
|
0x00fae000,
|
|
0x00faf000,
|
|
0x00fbf001,
|
|
0x00fda800,
|
|
0x00fe2800,
|
|
0x00fea001,
|
|
0x00fee000,
|
|
0x00ff8001,
|
|
0x00ffa800,
|
|
0x00fff810,
|
|
0x01014007,
|
|
0x0102f810,
|
|
0x01039001,
|
|
0x01047800,
|
|
0x0104e802,
|
|
0x0106083e,
|
|
0x010c6003,
|
|
0x01213818,
|
|
0x01225814,
|
|
0x015ba001,
|
|
0x015cb000,
|
|
0x01677802,
|
|
0x0167a004,
|
|
0x01693000,
|
|
0x01694004,
|
|
0x01697001,
|
|
0x016b4006,
|
|
0x016b880e,
|
|
0x016cb808,
|
|
0x016d3800,
|
|
0x016d7800,
|
|
0x016db800,
|
|
0x016df800,
|
|
0x016e3800,
|
|
0x016e7800,
|
|
0x016eb800,
|
|
0x016ef820,
|
|
0x0172f021,
|
|
0x0174d000,
|
|
0x0177a00b,
|
|
0x017eb019,
|
|
0x017fe004,
|
|
0x01815005,
|
|
0x01820000,
|
|
0x0184b803,
|
|
0x01880004,
|
|
0x01898000,
|
|
0x018c7800,
|
|
0x018f200b,
|
|
0x0190f800,
|
|
0x05246802,
|
|
0x05263808,
|
|
0x05316013,
|
|
0x05337803,
|
|
0x0533a009,
|
|
0x0534f001,
|
|
0x05378001,
|
|
0x0537c007,
|
|
0x053e5804,
|
|
0x053e9000,
|
|
0x053ea000,
|
|
0x053ed017,
|
|
0x05401000,
|
|
0x05403000,
|
|
0x05405800,
|
|
0x05412801,
|
|
0x05416003,
|
|
0x0541d005,
|
|
0x0543c007,
|
|
0x05462009,
|
|
0x0546d017,
|
|
0x0547f800,
|
|
0x05493007,
|
|
0x054a380a,
|
|
0x054aa00a,
|
|
0x054be805,
|
|
0x054d9800,
|
|
0x054db003,
|
|
0x054de001,
|
|
0x054e7000,
|
|
0x054ed003,
|
|
0x054f2800,
|
|
0x054ff800,
|
|
0x05514805,
|
|
0x05518801,
|
|
0x0551a80a,
|
|
0x05521800,
|
|
0x05526000,
|
|
0x05527001,
|
|
0x0552d001,
|
|
0x0553e000,
|
|
0x05558000,
|
|
0x05559002,
|
|
0x0555b801,
|
|
0x0555f001,
|
|
0x05560800,
|
|
0x05561817,
|
|
0x05576001,
|
|
0x0557b00a,
|
|
0x05583801,
|
|
0x05587801,
|
|
0x0558b808,
|
|
0x05593800,
|
|
0x05597800,
|
|
0x055b6003,
|
|
0x055f2800,
|
|
0x055f4000,
|
|
0x055f6802,
|
|
0x055fd005,
|
|
0x06bd200b,
|
|
0x06be3803,
|
|
0x06bfe7ff,
|
|
0x06ffe7ff,
|
|
0x073fe7ff,
|
|
0x077fe7ff,
|
|
0x07bfe103,
|
|
0x07d37001,
|
|
0x07d6d025,
|
|
0x07d8380b,
|
|
0x07d8c004,
|
|
0x07d8f000,
|
|
0x07d9b800,
|
|
0x07d9e800,
|
|
0x07d9f800,
|
|
0x07da1000,
|
|
0x07da2800,
|
|
0x07de180f,
|
|
0x07ec8001,
|
|
0x07ee4006,
|
|
0x07ee801f,
|
|
0x07f0000f,
|
|
0x07f0d015,
|
|
0x07f29800,
|
|
0x07f33800,
|
|
0x07f36003,
|
|
0x07f3a800,
|
|
0x07f7e803,
|
|
0x07fcf001,
|
|
0x07fdf802,
|
|
0x07fe4001,
|
|
0x07fe8001,
|
|
0x07fec001,
|
|
0x07fee802,
|
|
0x07ff3800,
|
|
0x07ff780c,
|
|
0x07fff001,
|
|
0x08006000,
|
|
0x08013800,
|
|
0x0801d800,
|
|
0x0801f000,
|
|
0x08027001,
|
|
0x0802f021,
|
|
0x0807d804,
|
|
0x08081803,
|
|
0x0809a002,
|
|
0x080c7800,
|
|
0x080ce802,
|
|
0x080d082e,
|
|
0x080fe882,
|
|
0x0814e802,
|
|
0x0816880f,
|
|
0x0817e003,
|
|
0x08192008,
|
|
0x081a5804,
|
|
0x081bb009,
|
|
0x081cf000,
|
|
0x081e2003,
|
|
0x081eb029,
|
|
0x0824f001,
|
|
0x08255005,
|
|
0x0826a003,
|
|
0x0827e003,
|
|
0x08294007,
|
|
0x082b200a,
|
|
0x082bd800,
|
|
0x082c5800,
|
|
0x082c9800,
|
|
0x082cb000,
|
|
0x082d1000,
|
|
0x082d9000,
|
|
0x082dd000,
|
|
0x082de842,
|
|
0x0839b808,
|
|
0x083ab009,
|
|
0x083b4017,
|
|
0x083c3000,
|
|
0x083d8800,
|
|
0x083dd844,
|
|
0x08403001,
|
|
0x08404800,
|
|
0x0841b000,
|
|
0x0841c802,
|
|
0x0841e801,
|
|
0x0842b000,
|
|
0x0844f807,
|
|
0x0845802f,
|
|
0x08479800,
|
|
0x0847b004,
|
|
0x0848e002,
|
|
0x0849d004,
|
|
0x084a003f,
|
|
0x084dc003,
|
|
0x084e8001,
|
|
0x0850080e,
|
|
0x0850a000,
|
|
0x0850c000,
|
|
0x0851b009,
|
|
0x08524806,
|
|
0x0852c806,
|
|
0x0855001f,
|
|
0x08572805,
|
|
0x0857b808,
|
|
0x0859b002,
|
|
0x085ab001,
|
|
0x085b9804,
|
|
0x085c9006,
|
|
0x085ce80b,
|
|
0x085d804f,
|
|
0x08624836,
|
|
0x0865980c,
|
|
0x08679806,
|
|
0x0869200b,
|
|
0x0869d125,
|
|
0x0873f800,
|
|
0x08755002,
|
|
0x08757001,
|
|
0x0875904d,
|
|
0x08794007,
|
|
0x087a300a,
|
|
0x087ad015,
|
|
0x087c1003,
|
|
0x087c5025,
|
|
0x087e6013,
|
|
0x087fb808,
|
|
0x08800800,
|
|
0x0881c00e,
|
|
0x08827003,
|
|
0x08838000,
|
|
0x08839801,
|
|
0x0883b00b,
|
|
0x08859803,
|
|
0x0885c801,
|
|
0x0885e800,
|
|
0x0886100d,
|
|
0x08874806,
|
|
0x0887d008,
|
|
0x08893804,
|
|
0x08896808,
|
|
0x088a4007,
|
|
0x088b9800,
|
|
0x088bb80a,
|
|
0x088db008,
|
|
0x088e4803,
|
|
0x088e7800,
|
|
0x088f0000,
|
|
0x088fa80a,
|
|
0x08909000,
|
|
0x08917802,
|
|
0x0891a000,
|
|
0x0891b001,
|
|
0x0891f000,
|
|
0x0892083e,
|
|
0x08943800,
|
|
0x08944800,
|
|
0x08947000,
|
|
0x0894f000,
|
|
0x08955005,
|
|
0x0896f800,
|
|
0x0897180c,
|
|
0x0897d007,
|
|
0x08982000,
|
|
0x08986801,
|
|
0x08988801,
|
|
0x08994800,
|
|
0x08998800,
|
|
0x0899a000,
|
|
0x0899d002,
|
|
0x0899f000,
|
|
0x089a0000,
|
|
0x089a2801,
|
|
0x089a4801,
|
|
0x089a7001,
|
|
0x089a880b,
|
|
0x089b209b,
|
|
0x08a1c007,
|
|
0x08a21002,
|
|
0x08a23000,
|
|
0x08a2e000,
|
|
0x08a2f000,
|
|
0x08a3101d,
|
|
0x08a58000,
|
|
0x08a59805,
|
|
0x08a5d000,
|
|
0x08a5e800,
|
|
0x08a5f801,
|
|
0x08a61001,
|
|
0x08a64007,
|
|
0x08a6d0a5,
|
|
0x08ad7800,
|
|
0x08ad9005,
|
|
0x08ade001,
|
|
0x08adf801,
|
|
0x08aee023,
|
|
0x08b19807,
|
|
0x08b1e800,
|
|
0x08b1f801,
|
|
0x08b2280a,
|
|
0x08b2d005,
|
|
0x08b36812,
|
|
0x08b55800,
|
|
0x08b56800,
|
|
0x08b58005,
|
|
0x08b5b800,
|
|
0x08b5d005,
|
|
0x08b65035,
|
|
0x08b8d804,
|
|
0x08b91003,
|
|
0x08b93808,
|
|
0x08ba38b8,
|
|
0x08c17808,
|
|
0x08c1c801,
|
|
0x08c1e063,
|
|
0x08c7980b,
|
|
0x08c83801,
|
|
0x08c85001,
|
|
0x08c8a000,
|
|
0x08c8b800,
|
|
0x08c98000,
|
|
0x08c9b000,
|
|
0x08c9c803,
|
|
0x08c9f000,
|
|
0x08ca1800,
|
|
0x08ca3808,
|
|
0x08cad045,
|
|
0x08cd4001,
|
|
0x08cea007,
|
|
0x08cf0000,
|
|
0x08cf281a,
|
|
0x08d00809,
|
|
0x08d19805,
|
|
0x08d1d803,
|
|
0x08d23808,
|
|
0x08d28805,
|
|
0x08d2c802,
|
|
0x08d4500c,
|
|
0x08d4c001,
|
|
0x08d5180c,
|
|
0x08d7c806,
|
|
0x08d850f5,
|
|
0x08e04800,
|
|
0x08e1800d,
|
|
0x08e1f800,
|
|
0x08e23009,
|
|
0x08e36802,
|
|
0x08e48018,
|
|
0x08e55006,
|
|
0x08e59001,
|
|
0x08e5a84a,
|
|
0x08e83800,
|
|
0x08e85000,
|
|
0x08e98814,
|
|
0x08ea3808,
|
|
0x08ead005,
|
|
0x08eb3000,
|
|
0x08eb4800,
|
|
0x08ec7803,
|
|
0x08eca800,
|
|
0x08ecb800,
|
|
0x08ecc806,
|
|
0x08ed5135,
|
|
0x08f79801,
|
|
0x08f7c808,
|
|
0x08f88800,
|
|
0x08f9b007,
|
|
0x08fa0000,
|
|
0x08fa1000,
|
|
0x08fad055,
|
|
0x08fd880e,
|
|
0x08ff900c,
|
|
0x091cd065,
|
|
0x09237800,
|
|
0x0923a80a,
|
|
0x092a27ff,
|
|
0x096a224b,
|
|
0x097f980c,
|
|
0x09a18010,
|
|
0x09a23fff,
|
|
0x09e23fb8,
|
|
0x0a323fff,
|
|
0x0a723fff,
|
|
0x0ab23fff,
|
|
0x0af23fff,
|
|
0x0b3239b8,
|
|
0x0b51c806,
|
|
0x0b52f800,
|
|
0x0b535003,
|
|
0x0b55f800,
|
|
0x0b565005,
|
|
0x0b577006,
|
|
0x0b57b009,
|
|
0x0b598006,
|
|
0x0b5a3009,
|
|
0x0b5ad000,
|
|
0x0b5b1000,
|
|
0x0b5bc004,
|
|
0x0b5c82af,
|
|
0x0b74d864,
|
|
0x0b7a5804,
|
|
0x0b7c400a,
|
|
0x0b7d003f,
|
|
0x0b7f200b,
|
|
0x0b7f900d,
|
|
0x0c3fc007,
|
|
0x0c66b029,
|
|
0x0c684fff,
|
|
0x0ca84fff,
|
|
0x0ce84fff,
|
|
0x0d284fff,
|
|
0x0d684ae6,
|
|
0x0d7fa000,
|
|
0x0d7fe000,
|
|
0x0d7ff800,
|
|
0x0d89180e,
|
|
0x0d89981c,
|
|
0x0d8a9801,
|
|
0x0d8ab00d,
|
|
0x0d8b4007,
|
|
0x0d97e7ff,
|
|
0x0dd7e103,
|
|
0x0de35804,
|
|
0x0de3e802,
|
|
0x0de44806,
|
|
0x0de4d001,
|
|
0x0de4e801,
|
|
0x0de507ff,
|
|
0x0e2507ff,
|
|
0x0e6502af,
|
|
0x0e7e203b,
|
|
0x0e87b009,
|
|
0x0e893801,
|
|
0x0e8b2800,
|
|
0x0e8b3802,
|
|
0x0e8b7014,
|
|
0x0e8c2806,
|
|
0x0e8d5003,
|
|
0x0e8f5814,
|
|
0x0e921002,
|
|
0x0e923079,
|
|
0x0e96a00b,
|
|
0x0e97a00b,
|
|
0x0e9ab808,
|
|
0x0e9bc886,
|
|
0x0ea2a800,
|
|
0x0ea4e800,
|
|
0x0ea50001,
|
|
0x0ea51801,
|
|
0x0ea53801,
|
|
0x0ea56800,
|
|
0x0ea5d000,
|
|
0x0ea5e000,
|
|
0x0ea62000,
|
|
0x0ea83000,
|
|
0x0ea85801,
|
|
0x0ea8a800,
|
|
0x0ea8e800,
|
|
0x0ea9d000,
|
|
0x0ea9f800,
|
|
0x0eaa2800,
|
|
0x0eaa3802,
|
|
0x0eaa8800,
|
|
0x0eb53001,
|
|
0x0ebe6001,
|
|
0x0ed00036,
|
|
0x0ed1d831,
|
|
0x0ed3a800,
|
|
0x0ed42000,
|
|
0x0ed46473,
|
|
0x0ef8f805,
|
|
0x0ef95904,
|
|
0x0f037091,
|
|
0x0f096809,
|
|
0x0f09f001,
|
|
0x0f0a5003,
|
|
0x0f0a813f,
|
|
0x0f157011,
|
|
0x0f176003,
|
|
0x0f17d004,
|
|
0x0f1801cf,
|
|
0x0f276003,
|
|
0x0f27d2e5,
|
|
0x0f3f3800,
|
|
0x0f3f6000,
|
|
0x0f3f7800,
|
|
0x0f3ff800,
|
|
0x0f462801,
|
|
0x0f46802f,
|
|
0x0f4a2006,
|
|
0x0f4a6003,
|
|
0x0f4ad003,
|
|
0x0f4b0310,
|
|
0x0f65a84b,
|
|
0x0f69f0c1,
|
|
0x0f702000,
|
|
0x0f710000,
|
|
0x0f711800,
|
|
0x0f712801,
|
|
0x0f714000,
|
|
0x0f719800,
|
|
0x0f71c000,
|
|
0x0f71d000,
|
|
0x0f71e005,
|
|
0x0f721803,
|
|
0x0f724000,
|
|
0x0f725000,
|
|
0x0f726000,
|
|
0x0f728000,
|
|
0x0f729800,
|
|
0x0f72a801,
|
|
0x0f72c000,
|
|
0x0f72d000,
|
|
0x0f72e000,
|
|
0x0f72f000,
|
|
0x0f730000,
|
|
0x0f731800,
|
|
0x0f732801,
|
|
0x0f735800,
|
|
0x0f739800,
|
|
0x0f73c000,
|
|
0x0f73e800,
|
|
0x0f73f800,
|
|
0x0f745000,
|
|
0x0f74e004,
|
|
0x0f752000,
|
|
0x0f755000,
|
|
0x0f75e033,
|
|
0x0f77910d,
|
|
0x0f816003,
|
|
0x0f84a00b,
|
|
0x0f857801,
|
|
0x0f860000,
|
|
0x0f868000,
|
|
0x0f87b009,
|
|
0x0f8d7037,
|
|
0x0f90180c,
|
|
0x0f91e003,
|
|
0x0f924806,
|
|
0x0f92900d,
|
|
0x0f933099,
|
|
0x0fb6c003,
|
|
0x0fb76802,
|
|
0x0fb7e802,
|
|
0x0fbbb803,
|
|
0x0fbed005,
|
|
0x0fbf6003,
|
|
0x0fbf880e,
|
|
0x0fc06003,
|
|
0x0fc24007,
|
|
0x0fc2d005,
|
|
0x0fc44007,
|
|
0x0fc57001,
|
|
0x0fc5904d,
|
|
0x0fd2a00b,
|
|
0x0fd37001,
|
|
0x0fd3e802,
|
|
0x0fd44806,
|
|
0x0fd5f000,
|
|
0x0fd63007,
|
|
0x0fd6e003,
|
|
0x0fd74806,
|
|
0x0fd7c806,
|
|
0x0fdc9800,
|
|
0x0fde5824,
|
|
0x0fdfd405,
|
|
0x1537001f,
|
|
0x15b9d005,
|
|
0x15c0f001,
|
|
0x1675100d,
|
|
0x175f0fff,
|
|
0x179f0c1e,
|
|
0x17d0f5e1,
|
|
0x189a5804};
|
|
|
|
/// At the end of the valid Unicode code points space a lot of code points are
|
|
/// either reserved or a noncharacter. Adding all these entries to the
|
|
/// lookup table would add 446 entries to the table (in Unicode 14).
|
|
/// Instead the only the start of the region is stored, every code point in
|
|
/// this region needs to be escaped.
|
|
inline constexpr uint32_t __unallocated_region_lower_bound = 0x000323b0;
|
|
|
|
/// Returns whether the code unit needs to be escaped.
|
|
///
|
|
/// \pre The code point is a valid Unicode code point.
|
|
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr bool __needs_escape(const char32_t __code_point) noexcept {
|
|
// Since __unallocated_region_lower_bound contains the unshifted range do the
|
|
// comparison without shifting.
|
|
if (__code_point >= __unallocated_region_lower_bound)
|
|
return true;
|
|
|
|
ptrdiff_t __i = std::ranges::upper_bound(__entries, (__code_point << 11) | 0x7ffu) - __entries;
|
|
if (__i == 0)
|
|
return false;
|
|
|
|
--__i;
|
|
uint32_t __upper_bound = (__entries[__i] >> 11) + (__entries[__i] & 0x7ffu);
|
|
return __code_point <= __upper_bound;
|
|
}
|
|
|
|
} // namespace __escaped_output_table
|
|
|
|
#endif //_LIBCPP_STD_VER > 20
|
|
|
|
_LIBCPP_END_NAMESPACE_STD
|
|
|
|
#endif // _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
|