blob: 1a83256aee31133e029219700b229103680db19d [file] [log] [blame]
// Copyright 2020 The Pigweed Authors
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
// AUTOGENERATED - DO NOT EDIT
//
// This file was generated by generate_argument_types_macro.py.
// To make changes, update the script and run it to generate new files.
#pragma once
// Macro for encoding tokenizer argument types into an 8-byte value.
//
// PW_TOKENIZER_ARG_TYPES could be implemented with recursive macro expansion,
// but that seems to compile a little slower. Instead, the full macro is
// generated with Python code. This file is best viewed with line wrapping
// disabled.
//
// These macros depend on macros in pw_tokenizer/internal/argument_types.h.
// clang-format off
#define _PW_TOKENIZER_TYPES_1(a1) (_PW_VARARGS_TYPE(a1) << 6 | 1)
#define _PW_TOKENIZER_TYPES_2(a1, a2) (_PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 2)
#define _PW_TOKENIZER_TYPES_3(a1, a2, a3) (_PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 3)
#define _PW_TOKENIZER_TYPES_4(a1, a2, a3, a4) (_PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 4)
#define _PW_TOKENIZER_TYPES_5(a1, a2, a3, a4, a5) (_PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 5)
#define _PW_TOKENIZER_TYPES_6(a1, a2, a3, a4, a5, a6) (_PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 6)
#define _PW_TOKENIZER_TYPES_7(a1, a2, a3, a4, a5, a6, a7) (_PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 7)
#define _PW_TOKENIZER_TYPES_8(a1, a2, a3, a4, a5, a6, a7, a8) (_PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 8)
#define _PW_TOKENIZER_TYPES_9(a1, a2, a3, a4, a5, a6, a7, a8, a9) (_PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 9)
#define _PW_TOKENIZER_TYPES_10(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (_PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 10)
#define _PW_TOKENIZER_TYPES_11(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (_PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 11)
#define _PW_TOKENIZER_TYPES_12(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (_PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 12)
#define _PW_TOKENIZER_TYPES_13(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (_PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 13)
#define _PW_TOKENIZER_TYPES_14(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) (_PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 14)
#define _PW_TOKENIZER_TYPES_15(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) (_PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 15)
#define _PW_TOKENIZER_TYPES_16(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) (_PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 16)
#define _PW_TOKENIZER_TYPES_17(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) (_PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 17)
#define _PW_TOKENIZER_TYPES_18(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) (_PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 18)
#define _PW_TOKENIZER_TYPES_19(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) (_PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 19)
#define _PW_TOKENIZER_TYPES_20(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) (_PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 20)
#define _PW_TOKENIZER_TYPES_21(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) (_PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 21)
#define _PW_TOKENIZER_TYPES_22(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) (_PW_VARARGS_TYPE(a22) << 48 | _PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 22)
#define _PW_TOKENIZER_TYPES_23(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) (_PW_VARARGS_TYPE(a23) << 50 | _PW_VARARGS_TYPE(a22) << 48 | _PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 23)
#define _PW_TOKENIZER_TYPES_24(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) (_PW_VARARGS_TYPE(a24) << 52 | _PW_VARARGS_TYPE(a23) << 50 | _PW_VARARGS_TYPE(a22) << 48 | _PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 24)
#define _PW_TOKENIZER_TYPES_25(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) (_PW_VARARGS_TYPE(a25) << 54 | _PW_VARARGS_TYPE(a24) << 52 | _PW_VARARGS_TYPE(a23) << 50 | _PW_VARARGS_TYPE(a22) << 48 | _PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 25)
#define _PW_TOKENIZER_TYPES_26(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) (_PW_VARARGS_TYPE(a26) << 56 | _PW_VARARGS_TYPE(a25) << 54 | _PW_VARARGS_TYPE(a24) << 52 | _PW_VARARGS_TYPE(a23) << 50 | _PW_VARARGS_TYPE(a22) << 48 | _PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 26)
#define _PW_TOKENIZER_TYPES_27(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27) (_PW_VARARGS_TYPE(a27) << 58 | _PW_VARARGS_TYPE(a26) << 56 | _PW_VARARGS_TYPE(a25) << 54 | _PW_VARARGS_TYPE(a24) << 52 | _PW_VARARGS_TYPE(a23) << 50 | _PW_VARARGS_TYPE(a22) << 48 | _PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 27)
#define _PW_TOKENIZER_TYPES_28(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28) (_PW_VARARGS_TYPE(a28) << 60 | _PW_VARARGS_TYPE(a27) << 58 | _PW_VARARGS_TYPE(a26) << 56 | _PW_VARARGS_TYPE(a25) << 54 | _PW_VARARGS_TYPE(a24) << 52 | _PW_VARARGS_TYPE(a23) << 50 | _PW_VARARGS_TYPE(a22) << 48 | _PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 28)
#define _PW_TOKENIZER_TYPES_29(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29) (_PW_VARARGS_TYPE(a29) << 62 | _PW_VARARGS_TYPE(a28) << 60 | _PW_VARARGS_TYPE(a27) << 58 | _PW_VARARGS_TYPE(a26) << 56 | _PW_VARARGS_TYPE(a25) << 54 | _PW_VARARGS_TYPE(a24) << 52 | _PW_VARARGS_TYPE(a23) << 50 | _PW_VARARGS_TYPE(a22) << 48 | _PW_VARARGS_TYPE(a21) << 46 | _PW_VARARGS_TYPE(a20) << 44 | _PW_VARARGS_TYPE(a19) << 42 | _PW_VARARGS_TYPE(a18) << 40 | _PW_VARARGS_TYPE(a17) << 38 | _PW_VARARGS_TYPE(a16) << 36 | _PW_VARARGS_TYPE(a15) << 34 | _PW_VARARGS_TYPE(a14) << 32 | _PW_VARARGS_TYPE(a13) << 30 | _PW_VARARGS_TYPE(a12) << 28 | _PW_VARARGS_TYPE(a11) << 26 | _PW_VARARGS_TYPE(a10) << 24 | _PW_VARARGS_TYPE(a9) << 22 | _PW_VARARGS_TYPE(a8) << 20 | _PW_VARARGS_TYPE(a7) << 18 | _PW_VARARGS_TYPE(a6) << 16 | _PW_VARARGS_TYPE(a5) << 14 | _PW_VARARGS_TYPE(a4) << 12 | _PW_VARARGS_TYPE(a3) << 10 | _PW_VARARGS_TYPE(a2) << 8 | _PW_VARARGS_TYPE(a1) << 6 | 29)
// clang-format on