Skip to content

Instantly share code, notes, and snippets.

@johnmcfarlane
Created August 27, 2017 17:57
Show Gist options
  • Save johnmcfarlane/a399d068b7940d4c18d5fb21a0235cfe to your computer and use it in GitHub Desktop.
Save johnmcfarlane/a399d068b7940d4c18d5fb21a0235cfe to your computer and use it in GitHub Desktop.
One of many uncrustify failures found using unformat project.
# Uncrustify-0.65-153-37c30cf5
newlines = lf
output_tab_size = 17
string_replace_tab_chars = true
sp_assign = remove
sp_compare = force
sp_paren_paren = force
sp_after_ptr_star = force
sp_ptr_star_paren = remove
sp_before_byref_func = add
sp_angle_paren = remove
sp_angle_paren_empty = add
sp_angle_shift = remove
sp_permit_cpp11_shift = true
sp_sparen_brace = add
sp_before_semi_for = force
sp_before_semi_for_empty = add
sp_after_semi_for = ignore
sp_before_square = remove
sp_after_mdatype_commas = remove
sp_before_mdatype_commas = remove
sp_before_ellipsis = add
sp_before_constr_colon = force
sp_before_type_brace_init_lst_close = force
sp_type_brace_init_lst = force
sp_func_proto_paren = force
sp_func_proto_paren_empty = force
sp_inside_tparen = force
sp_fparen_brace = remove
sp_func_class_paren = force
sp_return_paren = force
sp_version_paren = add
sp_catch_brace = add
sp_d_array_colon = force
sp_deref = add
sp_after_oc_scope = remove
sp_after_oc_type = force
sp_after_oc_at_sel_parens = force
sp_before_oc_block_caret = force
sp_after_for_colon = add
sp_before_for_colon = remove
sp_cmt_cpp_doxygen = true
sp_after_newop_paren = add
sp_inside_newop_paren = remove
sp_inside_newop_paren_open = remove
sp_inside_newop_paren_close = remove
sp_before_tr_emb_cmt = remove
sp_annotation_paren = force
indent_cmt_with_tabs = true
indent_xml_string = 4
indent_braces = true
indent_cs_delegate_brace = true
indent_namespace_level = 3
indent_namespace_limit = 9
indent_class = true
indent_else_if = true
indent_func_def_force_col1 = true
indent_func_call_param = true
indent_func_def_param = true
indent_func_ctor_var_param = true
indent_case_shift = 1
indent_case_brace = 9
indent_label = 0
indent_paren_nl = true
indent_paren_after_func_decl = true
indent_oc_block_msg = 3
indent_oc_block_msg_from_keyword = true
indent_cpp_lambda_body = true
indent_ternary_operator = 1
nl_while_leave_one_liners = true
nl_oc_msg_leave_one_liner = true
nl_start_of_file_min = 2
nl_end_of_file = force
nl_after_square_assign = force
nl_typedef_blk_start = 2
nl_typedef_blk_in = 2
nl_var_def_blk_start = 2
nl_var_def_blk_end = 2
nl_enum_identifier_colon = force
nl_enum_colon_type = add
nl_union_brace = force
nl_try_brace = remove
nl_brace_square = add
nl_scope_brace = add
nl_do_brace = add
nl_synchronized_brace = add
nl_enum_own_lines = add
nl_func_scope_name = add
nl_func_paren = add
nl_func_def_paren = add
nl_func_def_start = add
nl_func_decl_start_single = add
nl_func_def_args_multi_line = true
nl_func_def_end_multi_line = true
nl_func_call_args_multi_line = true
nl_fdef_brace = add
nl_after_vbrace_open = true
nl_after_vbrace_open_empty = true
nl_brace_struct_var = force
nl_define_macro = true
nl_after_if = remove
nl_before_do = force
nl_after_do = force
nl_split_while_one_liner = true
nl_max_blank_in_func = 6
nl_after_func_class_proto = 3
nl_after_func_body_one_liner = 6
nl_after_multiline_comment = true
nl_after_struct = 6
nl_after_access_spec = 9
nl_comment_func_def = 6
nl_around_cs_property = 3
eat_blanks_before_close_brace = true
nl_after_return = true
pos_bool = trail
pos_compare = trail
pos_conditional = lead
pos_class_comma = trail
code_width = 4
ls_for_split_full = true
ls_func_split_full = true
align_with_tabs = true
align_var_def_colon = true
align_var_def_attribute = true
align_var_def_inline = true
align_assign_span = 3
align_assign_thresh = 3
align_var_class_thresh = 2
align_var_class_gap = 2
align_var_struct_gap = 6
align_typedef_amp_style = 3
align_nl_cont = true
align_oc_msg_colon_first = true
cmt_reflow_mode = 4
cmt_indent_multi = false
cmt_cpp_group = true
cmt_sp_after_star_cont = 3
cmt_multi_first_len_minimum = 6
cmt_insert_before_preproc = true
cmt_insert_before_ctor_dtor = true
mod_full_brace_for = force
mod_full_brace_nl = 4
mod_full_brace_while = add
mod_pawn_semicolon = true
mod_add_long_class_closebrace_comment = 1
mod_sort_import = true
mod_case_brace = add
mod_sort_oc_properties = true
mod_sort_oc_property_setter_weight = 12
pp_space = force
pp_define_at_level = true
pp_indent_extern = false
use_indent_func_call_param = false
# option(s) with 'not default' value: 152
#
# -=====-
# Line Tag Parent Columns Br/Lvl/pp Flag Nl Text
# 1> NEWLINE[ NONE][ 1/ 1/ 1/ 0][0/0/0][ 0][1-0]
# 2> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 1/ 50/ 0][0/0/0][ 0][0-0] // Copyright John McFarlane 2015 - 2017.
# 2> NEWLINE[ NONE][ 50/ 50/ 1/ 0][0/0/0][ 0][1-0]
# 3> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 1/ 62/ 0][0/0/0][ 0][0-0] // Distributed under the Boost Software License, Version 1.0.
# 3> NEWLINE[ NONE][ 62/ 62/ 1/ 0][0/0/0][ 0][1-0]
# 4> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 1/ 59/ 0][0/0/0][ 0][0-0] // (See accompanying file ../LICENSE_1_0.txt or copy at
# 4> NEWLINE[ NONE][ 59/ 59/ 1/ 0][0/0/0][ 0][1-0]
# 5> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 1/ 50/ 0][0/0/0][ 0][0-0] // http://www.boost.org/LICENSE_1_0.txt)
# 5> NEWLINE[ NONE][ 50/ 50/ 1/ 0][0/0/0][ 0][2-0]
# 7> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 1/ 10/ 0][0/0/0][ 0][0-0] /// \file
# 7> NEWLINE[ NONE][ 10/ 10/ 1/ 0][0/0/0][ 0][1-0]
# 8> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 1/ 69/ 0][0/0/0][ 0][0-0] /// \brief definitions supporting generic treatment of numeric types
# 8> NEWLINE[ NONE][ 69/ 69/ 1/ 0][0/0/0][ 0][2-0]
# 10> PREPROC[ PP_IF][ 1/ 1/ 2/ 0][0/0/0][ 100080001][0-0] #
# 10> PP_IF[ NONE][ 2/ 2/ 4/ 0][0/0/1][ 1][0-0] if
# 10> NL_CONT[ NONE][ 18/ 4/ 0/ 0][0/0/1][ 200001][1-0] \
# 10> NOT[ NONE][ 9/ 5/ 6/ 1][0/0/1][ 100040001][0-0] !
# 10> NL_CONT[ NONE][ 18/ 6/ 0/ 0][0/0/1][ 200001][1-0] \
# 10> PP_DEFINED[ NONE][ 9/ 6/ 13/ 0][0/0/1][ 1][0-0] defined
# 10> PAREN_OPEN[ NONE][ 16/ 13/ 14/ 0][0/0/1][ 100000001][0-0] (
# 10> NL_CONT[ NONE][ 18/ 14/ 0/ 0][0/0/1][ 200001][1-0] \
# 10> WORD[ NONE][ 17/ 14/ 32/ 0][0/0/1][ 40001][0-0] CNL_NUMERIC_TRAITS
# 10> PAREN_CLOSE[ NONE][ 35/ 32/ 33/ 0][0/0/1][ 100000001][0-0] )
# 10> NEWLINE[ NONE][ 36/ 33/ 1/ 0][0/0/1][ 0][1-0]
# 11> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][1/1/1][ 100060001][0-0] #
# 11> NL_CONT[ NONE][ 28/ 2/ 0/ 0][1/1/1][ 200001][1-0] \
# 11> PP_DEFINE[ NONE][ 9/ 2/ 8/ 0][1/1/1][ 10001][0-0] define
# 11> NL_CONT[ NONE][ 28/ 8/ 0/ 0][1/1/1][ 200001][1-0] \
# 11> MACRO[ NONE][ 9/ 9/ 27/ 1][1/1/1][ 1][0-0] CNL_NUMERIC_TRAITS
# 11> NL_CONT[ NONE][ 28/ 27/ 0/ 0][1/1/1][ 200001][1-0] \
# 11> NUMBER[ NONE][ 9/ 28/ 29/ 1][1/1/1][ 40001][0-0] 1
# 11> NEWLINE[ NONE][ 10/ 29/ 1/ 0][0/0/1][ 0][2-0]
# 13> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][0/0/1][ 100080001][0-0] #
# 13> NL_CONT[ NONE][ 17/ 2/ 0/ 0][0/0/1][ 200001][1-0] \
# 13> PP_INCLUDE[ NONE][ 9/ 2/ 9/ 0][0/0/1][ 1][0-0] include
# 13> NL_CONT[ NONE][ 17/ 9/ 0/ 0][0/0/1][ 200001][1-0] \
# 13> STRING[ NONE][ 9/ 10/ 25/ 1][0/0/1][ 1][0-0] "bits/limits.h"
# 13> NEWLINE[ NONE][ 24/ 25/ 1/ 0][0/0/1][ 0][1-0]
# 14> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][0/0/1][ 100080001][0-0] #
# 14> NL_CONT[ NONE][ 17/ 2/ 0/ 0][0/0/1][ 200001][1-0] \
# 14> PP_INCLUDE[ NONE][ 9/ 2/ 9/ 0][0/0/1][ 1][0-0] include
# 14> NL_CONT[ NONE][ 17/ 9/ 0/ 0][0/0/1][ 200001][1-0] \
# 14> STRING[ NONE][ 9/ 10/ 30/ 1][0/0/1][ 1][0-0] "bits/type_traits.h"
# 14> NEWLINE[ NONE][ 29/ 30/ 1/ 0][0/0/1][ 0][2-0]
# 16> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][0/0/1][ 100080001][0-0] #
# 16> NL_CONT[ NONE][ 17/ 2/ 0/ 0][0/0/1][ 200001][1-0] \
# 16> PP_INCLUDE[ NONE][ 9/ 2/ 9/ 0][0/0/1][ 1][0-0] include
# 16> NL_CONT[ NONE][ 17/ 9/ 0/ 0][0/0/1][ 200001][1-0] \
# 16> STRING[ NONE][ 9/ 10/ 19/ 1][0/0/1][ 1][0-0] <utility>
# 16> NEWLINE[ NONE][ 18/ 19/ 1/ 0][0/0/1][ 0][2-0]
# 18> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 1/ 34/ 0][0/0/1][ 0][0-0] /// compositional numeric library
# 18> NEWLINE[ NONE][ 34/ 34/ 1/ 0][0/0/1][ 0][1-0]
# 19> NAMESPACE[ NONE][ 1/ 1/ 10/ 0][0/0/1][ 70000][0-0] namespace
# 19> NEWLINE[ NONE][ 1/ 10/ 0/ 0][0/0/1][ 0][1-0]
# 19> WORD[ NAMESPACE][ 1/ 11/ 14/ 1][0/0/1][ 0][0-0] cnl
# 19> NEWLINE[ NONE][ 11/ 14/ 0/ 0][0/0/1][ 0][1-0]
# 19> BRACE_OPEN[ NAMESPACE][ 1/ 15/ 16/ 1][0/0/1][ 500000000][0-0] {
# 19> NEWLINE[ NONE][ 2/ 16/ 5/ 0][1/1/1][ 1000][2-0]
# 21> USING[ NONE][ 1/ 5/ 10/ 0][1/1/1][ 10071000][0-0] using
# 21> NEWLINE[ NONE][ 5/ 10/ 0/ 0][1/1/1][ 1000][1-0]
# 21> WORD[ NONE][ 9/ 11/ 23/ 1][1/1/1][ 10001000][0-0] _digits_type
# 21> NEWLINE[ NONE][ 11/ 23/ 0/ 0][1/1/1][ 1000][1-0]
# 21> ASSIGN[ NONE][ 17/ 24/ 25/ 1][1/1/1][ 100101000][0-0] =
# 21> NEWLINE[ NONE][ 32/ 25/ 0/ 0][1/1/1][ 1000][1-0]
# 21> TYPE[ NONE][ 25/ 26/ 29/ 1][1/1/1][ 41000][0-0] int
# 21> SEMICOLON[ NONE][ 28/ 29/ 30/ 0][1/1/1][ 100001000][0-0] ;
# 21> NEWLINE[ NONE][ 29/ 30/ 5/ 0][1/1/1][ 1000][2-0]
# 23> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 23> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 24> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 50/ 0][1/1/1][ 1000][0-0] // cnl::is_composite (default specialization)
# 24> NEWLINE[ NONE][ 46/ 50/ 5/ 0][1/1/1][ 1000][2-0]
# 26> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 26> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 26> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 26> WORD[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 26> COMMA[ NONE][ 17/ 21/ 22/ 0][1/2/1][ 100001040][0-0] ,
# 26> NEWLINE[ NONE][ 21/ 22/ 0/ 0][1/2/1][ 1040][1-0]
# 26> TYPE[ NONE][ 10/ 23/ 28/ 1][1/2/1][ 10051040][0-0] class
# 26> WORD[ NONE][ 16/ 29/ 35/ 1][1/2/1][ 10001040][0-0] Enable
# 26> ASSIGN[ NONE][ 22/ 36/ 37/ 1][1/2/1][ 100001040][0-0] =
# 26> TYPE[ NONE][ 23/ 38/ 42/ 1][1/2/1][ 41040][0-0] void
# 26> ANGLE_CLOSE[ TEMPLATE][ 27/ 42/ 43/ 0][1/1/1][ 100001040][0-0] >
# 26> NEWLINE[ NONE][ 28/ 43/ 5/ 0][1/1/1][ 801000][2-0]
# 27> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 27> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 27> TYPE[ STRUCT][ 1/ 12/ 24/ 1][1/1/1][ 1000][0-0] is_composite
# 27> NEWLINE[ NONE][ 13/ 24/ 0/ 0][1/1/1][ 1000][1-0]
# 27> CLASS_COLON[ STRUCT][ 9/ 25/ 26/ 1][1/1/1][ 100001800][0-0] :
# 27> NEWLINE[ NONE][ 25/ 26/ 0/ 0][1/1/1][ 1800][1-0]
# 27> TYPE[ NONE][ 9/ 27/ 30/ 1][1/1/1][ 61800][0-0] std
# 27> NEWLINE[ NONE][ 27/ 30/ 0/ 0][1/1/1][ 1800][1-0]
# 27> DC_MEMBER[ NONE][ 9/ 30/ 32/ 0][1/1/1][ 100001800][0-0] ::
# 27> NEWLINE[ NONE][ 30/ 32/ 0/ 0][1/1/1][ 1800][1-0]
# 27> WORD[ NONE][ 9/ 32/ 42/ 0][1/1/1][ 1801800][0-0] false_type
# 27> NEWLINE[ NONE][ 32/ 42/ 0/ 0][1/1/1][ 1800][1-0]
# 27> BRACE_OPEN[ STRUCT][ 9/ 43/ 44/ 1][1/1/1][ 100001000][0-0] {
# 27> NEWLINE[ NONE][ 10/ 44/ 9/ 0][2/2/1][ 1000][1-0]
# 28> FUNC_CALL[ NONE][ 9/ 9/ 22/ 0][2/2/1][ 61400][0-0] static_assert
# 28> FPAREN_OPEN[ FUNC_CALL][ 22/ 22/ 23/ 0][2/2/1][ 100001400][0-0] (
# 28> NEWLINE[ NONE][ 22/ 23/ 0/ 0][2/2/1][ 1400][1-0]
# 28> NOT[ NONE][ 23/ 23/ 24/ 0][2/3/1][ 100041410][0-0] !
# 28> TYPE[ NONE][ 24/ 24/ 27/ 0][2/3/1][ 41410][0-0] std
# 28> DC_MEMBER[ NONE][ 27/ 27/ 29/ 0][2/3/1][ 100001410][0-0] ::
# 28> WORD[ NONE][ 29/ 29/ 41/ 0][2/3/1][ 1410][0-0] is_reference
# 28> ANGLE_OPEN[ TEMPLATE][ 41/ 41/ 42/ 0][2/3/1][ 100001450][0-0] <
# 28> TYPE[ NONE][ 42/ 42/ 43/ 0][2/4/1][ 41450][0-0] T
# 28> ANGLE_CLOSE[ TEMPLATE][ 43/ 43/ 44/ 0][2/3/1][ 100001450][0-0] >
# 28> DC_MEMBER[ NONE][ 44/ 44/ 46/ 0][2/3/1][ 100041410][0-0] ::
# 28> WORD[ NONE][ 46/ 46/ 51/ 0][2/3/1][ 1410][0-0] value
# 28> COMMA[ NONE][ 51/ 51/ 52/ 0][2/3/1][ 100001410][0-0] ,
# 28> NEWLINE[ NONE][ 51/ 52/ 0/ 0][2/3/1][ 1410][1-0]
# 28> STRING[ NONE][ 17/ 53/ 71/ 1][2/3/1][ 41410][0-0] "T is a reference"
# 28> FPAREN_CLOSE[ FUNC_CALL][ 35/ 71/ 72/ 0][2/2/1][ 100001400][0-0] )
# 28> SEMICOLON[ NONE][ 36/ 72/ 73/ 0][2/2/1][ 100001400][0-0] ;
# 28> NEWLINE[ NONE][ 37/ 73/ 9/ 0][2/2/1][ 1000][1-0]
# 29> FUNC_CALL[ NONE][ 9/ 9/ 22/ 0][2/2/1][ 61400][0-0] static_assert
# 29> FPAREN_OPEN[ FUNC_CALL][ 22/ 22/ 23/ 0][2/2/1][ 100001400][0-0] (
# 29> NEWLINE[ NONE][ 22/ 23/ 0/ 0][2/2/1][ 1400][1-0]
# 29> NOT[ NONE][ 23/ 23/ 24/ 0][2/3/1][ 100041410][0-0] !
# 29> TYPE[ NONE][ 24/ 24/ 27/ 0][2/3/1][ 41410][0-0] std
# 29> DC_MEMBER[ NONE][ 27/ 27/ 29/ 0][2/3/1][ 100001410][0-0] ::
# 29> WORD[ NONE][ 29/ 29/ 37/ 0][2/3/1][ 1410][0-0] is_const
# 29> ANGLE_OPEN[ TEMPLATE][ 37/ 37/ 38/ 0][2/3/1][ 100001450][0-0] <
# 29> TYPE[ NONE][ 38/ 38/ 39/ 0][2/4/1][ 41450][0-0] T
# 29> ANGLE_CLOSE[ TEMPLATE][ 39/ 39/ 40/ 0][2/3/1][ 100001450][0-0] >
# 29> DC_MEMBER[ NONE][ 40/ 40/ 42/ 0][2/3/1][ 100041410][0-0] ::
# 29> WORD[ NONE][ 42/ 42/ 47/ 0][2/3/1][ 1410][0-0] value
# 29> COMMA[ NONE][ 47/ 47/ 48/ 0][2/3/1][ 100001410][0-0] ,
# 29> NEWLINE[ NONE][ 47/ 48/ 0/ 0][2/3/1][ 1410][1-0]
# 29> STRING[ NONE][ 17/ 49/ 61/ 1][2/3/1][ 41410][0-0] "T is const"
# 29> FPAREN_CLOSE[ FUNC_CALL][ 29/ 61/ 62/ 0][2/2/1][ 100001400][0-0] )
# 29> SEMICOLON[ NONE][ 30/ 62/ 63/ 0][2/2/1][ 100001400][0-0] ;
# 29> NEWLINE[ NONE][ 31/ 63/ 9/ 0][2/2/1][ 1000][1-0]
# 30> FUNC_CALL[ NONE][ 9/ 9/ 22/ 0][2/2/1][ 61400][0-0] static_assert
# 30> FPAREN_OPEN[ FUNC_CALL][ 22/ 22/ 23/ 0][2/2/1][ 100001400][0-0] (
# 30> NEWLINE[ NONE][ 22/ 23/ 0/ 0][2/2/1][ 1400][1-0]
# 30> NOT[ NONE][ 23/ 23/ 24/ 0][2/3/1][ 100041410][0-0] !
# 30> TYPE[ NONE][ 24/ 24/ 27/ 0][2/3/1][ 41410][0-0] std
# 30> DC_MEMBER[ NONE][ 27/ 27/ 29/ 0][2/3/1][ 100001410][0-0] ::
# 30> WORD[ NONE][ 29/ 29/ 40/ 0][2/3/1][ 1410][0-0] is_volatile
# 30> ANGLE_OPEN[ TEMPLATE][ 40/ 40/ 41/ 0][2/3/1][ 100001450][0-0] <
# 30> TYPE[ NONE][ 41/ 41/ 42/ 0][2/4/1][ 41450][0-0] T
# 30> ANGLE_CLOSE[ TEMPLATE][ 42/ 42/ 43/ 0][2/3/1][ 100001450][0-0] >
# 30> DC_MEMBER[ NONE][ 43/ 43/ 45/ 0][2/3/1][ 100041410][0-0] ::
# 30> WORD[ NONE][ 45/ 45/ 50/ 0][2/3/1][ 1410][0-0] value
# 30> COMMA[ NONE][ 50/ 50/ 51/ 0][2/3/1][ 100001410][0-0] ,
# 30> NEWLINE[ NONE][ 50/ 51/ 0/ 0][2/3/1][ 1410][1-0]
# 30> STRING[ NONE][ 17/ 52/ 67/ 1][2/3/1][ 41410][0-0] "T is volatile"
# 30> FPAREN_CLOSE[ FUNC_CALL][ 32/ 67/ 68/ 0][2/2/1][ 100001400][0-0] )
# 30> SEMICOLON[ NONE][ 33/ 68/ 69/ 0][2/2/1][ 100001400][0-0] ;
# 30> NEWLINE[ NONE][ 34/ 69/ 5/ 0][2/2/1][ 1000][1-0]
# 31> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 100001400][0-0] }
# 31> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 31> NEWLINE[ NONE][ 11/ 7/ 1/ 0][1/1/1][ 801000][6-0]
# 33> PREPROC[ PP_IF][ 1/ 1/ 2/ 0][1/1/1][ 100080001][0-0] #
# 33> PP_IF[ NONE][ 2/ 2/ 4/ 0][1/1/2][ 1][0-0] if
# 33> PAREN_OPEN[ NONE][ 5/ 5/ 6/ 1][1/1/2][ 100040001][0-0] (
# 33> NL_CONT[ NONE][ 21/ 6/ 0/ 0][1/1/2][ 200001][1-0] \
# 33> WORD[ NONE][ 9/ 6/ 17/ 0][1/1/2][ 40001][0-0] __cplusplus
# 33> NL_CONT[ NONE][ 21/ 17/ 0/ 0][1/1/2][ 200001][1-0] \
# 33> COMPARE[ NONE][ 9/ 18/ 19/ 1][1/1/2][ 100000001][0-0] >
# 33> NL_CONT[ NONE][ 21/ 19/ 0/ 0][1/1/2][ 200001][1-0] \
# 33> NUMBER[ NONE][ 9/ 20/ 27/ 1][1/1/2][ 40001][0-0] 201402L
# 33> PAREN_CLOSE[ NONE][ 16/ 27/ 28/ 0][1/1/2][ 100000001][0-0] )
# 33> NEWLINE[ NONE][ 17/ 28/ 5/ 0][1/1/2][ 1000][1-0]
# 34> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/2][ 10061000][0-0] template
# 34> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/2][ 110001040][0-0] <
# 34> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/2][ 10051040][0-0] class
# 34> TYPE[ NONE][ 16/ 20/ 21/ 1][1/2/2][ 10001040][0-0] T
# 34> ANGLE_CLOSE[ TEMPLATE][ 17/ 21/ 22/ 0][1/1/2][ 110001040][0-0] >
# 34> NEWLINE[ NONE][ 18/ 22/ 5/ 0][1/1/2][ 801000][2-0]
# 35> QUALIFIER[ NONE][ 1/ 5/ 14/ 0][1/1/2][ 10051000][0-0] constexpr
# 35> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/2][ 1000][1-0]
# 35> TYPE[ NONE][ 1/ 15/ 19/ 1][1/1/2][ 10011000][0-0] auto
# 35> NEWLINE[ NONE][ 7/ 19/ 0/ 0][1/1/2][ 1000][1-0]
# 35> WORD[ NONE][ 1/ 20/ 34/ 1][1/1/2][ 10001000][0-0] is_composite_v
# 35> NEWLINE[ NONE][ 15/ 34/ 0/ 0][1/1/2][ 1000][1-0]
# 35> ASSIGN[ NONE][ 9/ 35/ 36/ 1][1/1/2][ 100101000][0-0] =
# 35> NEWLINE[ NONE][ 35/ 36/ 0/ 0][1/1/2][ 1000][1-0]
# 35> WORD[ NONE][ 17/ 37/ 49/ 1][1/1/2][ 41000][0-0] is_composite
# 35> ANGLE_OPEN[ TEMPLATE][ 29/ 49/ 50/ 0][1/1/2][ 100001040][0-0] <
# 35> TYPE[ NONE][ 30/ 50/ 51/ 0][1/2/2][ 41040][0-0] T
# 35> ANGLE_CLOSE[ TEMPLATE][ 31/ 51/ 52/ 0][1/1/2][ 100001040][0-0] >
# 35> NEWLINE[ NONE][ 59/ 52/ 0/ 0][1/1/2][ 1040][1-0]
# 35> DC_MEMBER[ NONE][ 17/ 52/ 54/ 0][1/1/2][ 100041000][0-0] ::
# 35> NEWLINE[ NONE][ 60/ 54/ 0/ 0][1/1/2][ 1000][1-0]
# 35> WORD[ NONE][ 17/ 54/ 59/ 0][1/1/2][ 1000][0-0] value
# 35> SEMICOLON[ NONE][ 22/ 59/ 60/ 0][1/1/2][ 100001000][0-0] ;
# 35> NEWLINE[ NONE][ 23/ 60/ 1/ 0][1/1/2][ 801000][2-0]
# 36> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][1/1/1][ 100080001][0-0] #
# 36> NL_CONT[ NONE][ 3/ 2/ 0/ 0][1/1/1][ 200001][1-0] \
# 36> PP_ENDIF[ NONE][ 9/ 2/ 7/ 0][1/1/1][ 1][0-0] endif
# 36> NEWLINE[ NONE][ 14/ 7/ 5/ 0][1/1/1][ 1000][2-0]
# 38> NAMESPACE[ NONE][ 1/ 5/ 14/ 0][1/1/1][ 71000][0-0] namespace
# 38> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 38> WORD[ NAMESPACE][ 1/ 15/ 31/ 1][1/1/1][ 1000][0-0] _num_traits_impl
# 38> NEWLINE[ NONE][ 17/ 31/ 0/ 0][1/1/1][ 1000][1-0]
# 38> BRACE_OPEN[ NAMESPACE][ 1/ 32/ 33/ 1][1/1/1][ 500001000][0-0] {
# 38> NEWLINE[ NONE][ 2/ 33/ 9/ 0][2/2/1][ 1000][1-0]
# 39> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 39> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 40> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 48/ 0][2/2/1][ 1000][0-0] // cnl::_num_traits_impl::are_composite
# 40> NEWLINE[ NONE][ 40/ 48/ 9/ 0][2/2/1][ 1000][2-0]
# 42> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 42> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 42> WORD[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 41040][0-0] class
# 42> ELLIPSIS[ NONE][ 16/ 24/ 27/ 1][2/3/1][ 100001040][0-0] ...
# 42> TYPE[ NONE][ 20/ 28/ 32/ 1][2/3/1][ 1040][0-0] Args
# 42> ANGLE_CLOSE[ TEMPLATE][ 24/ 32/ 33/ 0][2/2/1][ 100001040][0-0] >
# 42> NEWLINE[ NONE][ 25/ 33/ 9/ 0][2/2/1][ 801000][2-0]
# 43> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 43> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 43> TYPE[ STRUCT][ 1/ 16/ 29/ 1][2/2/1][ 1000][0-0] are_composite
# 43> SEMICOLON[ STRUCT][ 14/ 29/ 30/ 0][2/2/1][ 100001000][0-0] ;
# 43> NEWLINE[ NONE][ 15/ 30/ 9/ 0][2/2/1][ 801000][6-0]
# 45> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 45> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 45> ANGLE_CLOSE[ TEMPLATE][ 10/ 18/ 19/ 0][2/2/1][ 100041040][0-0] >
# 45> NEWLINE[ NONE][ 11/ 19/ 9/ 0][2/2/1][ 801000][2-0]
# 46> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 46> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 46> TYPE[ STRUCT][ 1/ 16/ 29/ 1][2/2/1][ 1000][0-0] are_composite
# 46> ANGLE_OPEN[ STRUCT][ 14/ 29/ 30/ 0][2/2/1][ 100001040][0-0] <
# 46> ANGLE_CLOSE[ TEMPLATE][ 15/ 30/ 31/ 0][2/2/1][ 100041040][0-0] >
# 46> NEWLINE[ NONE][ 16/ 31/ 0/ 0][2/2/1][ 1040][1-0]
# 46> CLASS_COLON[ NONE][ 9/ 32/ 33/ 1][2/2/1][ 100041800][0-0] :
# 46> NEWLINE[ NONE][ 24/ 33/ 0/ 0][2/2/1][ 1800][1-0]
# 46> TYPE[ NONE][ 9/ 34/ 37/ 1][2/2/1][ 61800][0-0] std
# 46> NEWLINE[ NONE][ 26/ 37/ 0/ 0][2/2/1][ 1800][1-0]
# 46> DC_MEMBER[ NONE][ 9/ 37/ 39/ 0][2/2/1][ 100001800][0-0] ::
# 46> NEWLINE[ NONE][ 29/ 39/ 0/ 0][2/2/1][ 1800][1-0]
# 46> WORD[ NONE][ 9/ 39/ 49/ 0][2/2/1][ 1801800][0-0] false_type
# 46> NEWLINE[ NONE][ 31/ 49/ 0/ 0][2/2/1][ 1800][1-0]
# 46> BRACE_OPEN[ STRUCT][ 9/ 50/ 51/ 1][2/2/1][ 140001000][0-0] {
# 46> NEWLINE[ NONE][ 10/ 51/ 9/ 0][3/3/1][ 1000][1-0]
# 47> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 47> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 47> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 49> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 49> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 49> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 49> WORD[ NONE][ 16/ 24/ 31/ 1][2/3/1][ 1040][0-0] ArgHead
# 49> COMMA[ NONE][ 23/ 31/ 32/ 0][2/3/1][ 100001040][0-0] ,
# 49> NEWLINE[ NONE][ 31/ 32/ 0/ 0][2/3/1][ 1040][1-0]
# 49> WORD[ NONE][ 10/ 33/ 38/ 1][2/3/1][ 41040][0-0] class
# 49> ELLIPSIS[ NONE][ 16/ 39/ 42/ 1][2/3/1][ 100001040][0-0] ...
# 49> TYPE[ NONE][ 20/ 43/ 50/ 1][2/3/1][ 1040][0-0] ArgTail
# 49> ANGLE_CLOSE[ TEMPLATE][ 27/ 50/ 51/ 0][2/2/1][ 100001040][0-0] >
# 49> NEWLINE[ NONE][ 28/ 51/ 9/ 0][2/2/1][ 801000][2-0]
# 50> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 50> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 50> TYPE[ STRUCT][ 1/ 16/ 29/ 1][2/2/1][ 1000][0-0] are_composite
# 50> ANGLE_OPEN[ STRUCT][ 14/ 29/ 30/ 0][2/2/1][ 100001040][0-0] <
# 50> WORD[ NONE][ 15/ 30/ 37/ 0][2/3/1][ 41040][0-0] ArgHead
# 50> COMMA[ NONE][ 22/ 37/ 38/ 0][2/3/1][ 100001040][0-0] ,
# 50> NEWLINE[ NONE][ 23/ 38/ 0/ 0][2/3/1][ 1040][1-0]
# 50> WORD[ NONE][ 15/ 39/ 46/ 1][2/3/1][ 41040][0-0] ArgTail
# 50> ELLIPSIS[ NONE][ 23/ 46/ 49/ 0][2/3/1][ 100001040][0-0] ...
# 50> ANGLE_CLOSE[ TEMPLATE][ 26/ 49/ 50/ 0][2/2/1][ 100001040][0-0] >
# 50> NEWLINE[ NONE][ 27/ 50/ 17/ 0][2/2/1][ 1000][1-0]
# 51> CLASS_COLON[ NONE][ 9/ 17/ 18/ 0][2/2/1][ 100041800][0-0] :
# 51> NEWLINE[ NONE][ 17/ 18/ 0/ 0][2/2/1][ 1800][1-0]
# 51> TYPE[ NONE][ 9/ 19/ 22/ 1][2/2/1][ 61800][0-0] std
# 51> NEWLINE[ NONE][ 12/ 22/ 0/ 0][2/2/1][ 1800][1-0]
# 51> DC_MEMBER[ NONE][ 9/ 22/ 24/ 0][2/2/1][ 100001800][0-0] ::
# 51> NEWLINE[ NONE][ 14/ 24/ 0/ 0][2/2/1][ 1800][1-0]
# 51> WORD[ NONE][ 9/ 24/ 41/ 0][2/2/1][ 1801800][0-0] integral_constant
# 51> ANGLE_OPEN[ TEMPLATE][ 26/ 41/ 42/ 0][2/2/1][ 100001840][0-0] <
# 51> TYPE[ NONE][ 27/ 42/ 46/ 0][2/3/1][ 41840][0-0] bool
# 51> COMMA[ NONE][ 31/ 46/ 47/ 0][2/3/1][ 100001840][0-0] ,
# 51> NEWLINE[ NONE][ 38/ 47/ 0/ 0][2/3/1][ 1840][1-0]
# 51> WORD[ NONE][ 27/ 48/ 60/ 1][2/3/1][ 41840][0-0] is_composite
# 51> ANGLE_OPEN[ TEMPLATE][ 39/ 60/ 61/ 0][2/3/1][ 100001840][0-0] <
# 51> TYPENAME[ NONE][ 40/ 61/ 69/ 0][2/4/1][ 51840][0-0] typename
# 51> TYPE[ NONE][ 49/ 70/ 73/ 1][2/4/1][ 1840][0-0] std
# 51> DC_MEMBER[ NONE][ 52/ 73/ 75/ 0][2/4/1][ 100001840][0-0] ::
# 51> WORD[ NONE][ 54/ 75/ 80/ 0][2/4/1][ 1840][0-0] decay
# 51> ANGLE_OPEN[ TEMPLATE][ 59/ 80/ 81/ 0][2/4/1][ 100001840][0-0] <
# 51> TYPE[ NONE][ 60/ 81/ 88/ 0][2/5/1][ 41840][0-0] ArgHead
# 51> ANGLE_CLOSE[ TEMPLATE][ 67/ 88/ 89/ 0][2/4/1][ 100001840][0-0] >
# 51> DC_MEMBER[ NONE][ 68/ 89/ 91/ 0][2/4/1][ 100041840][0-0] ::
# 51> TYPE[ NONE][ 70/ 91/ 95/ 0][2/4/1][ 1840][0-0] type
# 51> ANGLE_CLOSE[ TEMPLATE][ 74/ 95/ 96/ 0][2/3/1][ 100001840][0-0] >
# 51> DC_MEMBER[ NONE][ 75/ 96/ 98/ 0][2/3/1][ 100041840][0-0] ::
# 51> WORD[ NONE][ 77/ 98/103/ 0][2/3/1][ 1840][0-0] value
# 51> BOOL[ NONE][ 83/104/106/ 1][2/3/1][ 100001840][0-0] ||
# 51> NEWLINE[ NONE][122/106/ 0/ 0][2/3/1][ 1840][1-0]
# 51> WORD[ NONE][ 27/107/120/ 1][2/3/1][ 41840][0-0] are_composite
# 51> ANGLE_OPEN[ TEMPLATE][ 40/120/121/ 0][2/3/1][ 100001840][0-0] <
# 51> WORD[ NONE][ 41/121/128/ 0][2/4/1][ 41840][0-0] ArgTail
# 51> ELLIPSIS[ NONE][ 49/128/131/ 0][2/4/1][ 100001840][0-0] ...
# 51> ANGLE_CLOSE[ TEMPLATE][ 52/131/132/ 0][2/3/1][ 100001840][0-0] >
# 51> DC_MEMBER[ NONE][ 53/132/134/ 0][2/3/1][ 100041840][0-0] ::
# 51> TYPE[ NONE][ 55/134/139/ 0][2/3/1][ 1840][0-0] value
# 51> ANGLE_CLOSE[ TEMPLATE][ 60/139/140/ 0][2/2/1][ 100001840][0-0] >
# 51> NEWLINE[ NONE][139/140/ 0/ 0][2/2/1][ 1840][1-0]
# 51> BRACE_OPEN[ STRUCT][ 9/141/142/ 1][2/2/1][ 140041000][0-0] {
# 51> NEWLINE[ NONE][ 10/142/ 9/ 0][3/3/1][ 1000][1-0]
# 52> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 52> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 52> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 54> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 54> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 55> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 51/ 0][2/2/1][ 1000][0-0] // cnl::_num_traits_impl::enable_for_range
# 55> NEWLINE[ NONE][ 43/ 51/ 9/ 0][2/2/1][ 1000][2-0]
# 57> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 57> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 57> TYPE[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 57> WORD[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 57> COMMA[ NONE][ 35/ 43/ 44/ 0][2/3/1][ 100001040][0-0] ,
# 57> NEWLINE[ NONE][ 43/ 44/ 0/ 0][2/3/1][ 1040][1-0]
# 57> TYPE[ NONE][ 10/ 45/ 50/ 1][2/3/1][ 51040][0-0] class
# 57> WORD[ NONE][ 16/ 51/ 58/ 1][2/3/1][ 1040][0-0] Smaller
# 57> COMMA[ NONE][ 23/ 58/ 59/ 0][2/3/1][ 100001040][0-0] ,
# 57> NEWLINE[ NONE][ 59/ 59/ 0/ 0][2/3/1][ 1040][1-0]
# 57> TYPE[ NONE][ 10/ 60/ 65/ 1][2/3/1][ 51040][0-0] class
# 57> TYPE[ NONE][ 16/ 66/ 67/ 1][2/3/1][ 1040][0-0] T
# 57> ANGLE_CLOSE[ TEMPLATE][ 17/ 67/ 68/ 0][2/2/1][ 100001040][0-0] >
# 57> NEWLINE[ NONE][ 18/ 68/ 9/ 0][2/2/1][ 801000][2-0]
# 58> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 58> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 58> TYPE[ STRUCT][ 1/ 16/ 32/ 1][2/2/1][ 1000][0-0] enable_for_range
# 58> NEWLINE[ NONE][ 17/ 32/ 17/ 0][2/2/1][ 1000][1-0]
# 59> CLASS_COLON[ STRUCT][ 9/ 17/ 18/ 0][2/2/1][ 100001800][0-0] :
# 59> NEWLINE[ NONE][ 17/ 18/ 0/ 0][2/2/1][ 1800][1-0]
# 59> TYPE[ NONE][ 9/ 19/ 22/ 1][2/2/1][ 61800][0-0] std
# 59> NEWLINE[ NONE][ 12/ 22/ 0/ 0][2/2/1][ 1800][1-0]
# 59> DC_MEMBER[ NONE][ 9/ 22/ 24/ 0][2/2/1][ 100001800][0-0] ::
# 59> NEWLINE[ NONE][ 14/ 24/ 0/ 0][2/2/1][ 1800][1-0]
# 59> WORD[ NONE][ 9/ 24/ 33/ 0][2/2/1][ 1801800][0-0] enable_if
# 59> NEWLINE[ NONE][ 18/ 33/ 0/ 0][2/2/1][ 1800][1-0]
# 59> COMPARE[ NONE][ 9/ 33/ 34/ 0][2/2/1][ 100001800][0-0] <
# 59> NEWLINE[ NONE][ 25/ 34/ 0/ 0][2/2/1][ 1800][1-0]
# 59> WORD[ NONE][ 9/ 34/ 46/ 0][2/2/1][ 841800][0-0] MinNumDigits
# 59> NEWLINE[ NONE][ 26/ 46/ 0/ 0][2/2/1][ 1800][1-0]
# 59> COMPARE[ NONE][ 9/ 47/ 49/ 1][2/2/1][ 100001800][0-0] <=
# 59> NEWLINE[ NONE][ 39/ 49/ 0/ 0][2/2/1][ 1800][1-0]
# 59> TYPE[ NONE][ 9/ 50/ 53/ 1][2/2/1][ 41800][0-0] std
# 59> NEWLINE[ NONE][ 42/ 53/ 0/ 0][2/2/1][ 1800][1-0]
# 59> DC_MEMBER[ NONE][ 9/ 53/ 55/ 0][2/2/1][ 100001800][0-0] ::
# 59> NEWLINE[ NONE][ 45/ 55/ 0/ 0][2/2/1][ 1800][1-0]
# 59> WORD[ NONE][ 9/ 55/ 69/ 0][2/2/1][ 801800][0-0] numeric_limits
# 59> ANGLE_OPEN[ TEMPLATE][ 23/ 69/ 70/ 0][2/2/1][ 100001840][0-0] <
# 59> TYPE[ NONE][ 24/ 70/ 71/ 0][2/3/1][ 41840][0-0] T
# 59> ANGLE_CLOSE[ TEMPLATE][ 25/ 71/ 72/ 0][2/2/1][ 100001840][0-0] >
# 59> NEWLINE[ NONE][ 63/ 72/ 0/ 0][2/2/1][ 1840][1-0]
# 59> DC_MEMBER[ NONE][ 9/ 72/ 74/ 0][2/2/1][ 100041800][0-0] ::
# 59> NEWLINE[ NONE][ 64/ 74/ 0/ 0][2/2/1][ 1800][1-0]
# 59> WORD[ NONE][ 9/ 74/ 80/ 0][2/2/1][ 801800][0-0] digits
# 59> NEWLINE[ NONE][ 66/ 80/ 0/ 0][2/2/1][ 1800][1-0]
# 59> BOOL[ NONE][ 9/ 81/ 83/ 1][2/2/1][ 100001800][0-0] &&
# 59> NEWLINE[ NONE][ 11/ 83/ 34/ 0][2/2/1][ 1000][1-0]
# 60> TYPE[ NONE][ 9/ 34/ 37/ 0][2/2/1][ 41800][0-0] std
# 60> NEWLINE[ NONE][ 34/ 37/ 0/ 0][2/2/1][ 1800][1-0]
# 60> DC_MEMBER[ NONE][ 9/ 37/ 39/ 0][2/2/1][ 100001800][0-0] ::
# 60> NEWLINE[ NONE][ 29/ 39/ 0/ 0][2/2/1][ 1800][1-0]
# 60> WORD[ NONE][ 9/ 39/ 53/ 0][2/2/1][ 801800][0-0] numeric_limits
# 60> ANGLE_OPEN[ TEMPLATE][ 23/ 53/ 54/ 0][2/2/1][ 100001840][0-0] <
# 60> TYPE[ NONE][ 24/ 54/ 61/ 0][2/3/1][ 41840][0-0] Smaller
# 60> ANGLE_CLOSE[ TEMPLATE][ 31/ 61/ 62/ 0][2/2/1][ 100001840][0-0] >
# 60> NEWLINE[ NONE][ 53/ 62/ 0/ 0][2/2/1][ 1840][1-0]
# 60> DC_MEMBER[ NONE][ 9/ 62/ 64/ 0][2/2/1][ 100041800][0-0] ::
# 60> NEWLINE[ NONE][ 54/ 64/ 0/ 0][2/2/1][ 1800][1-0]
# 60> WORD[ NONE][ 9/ 64/ 70/ 0][2/2/1][ 801800][0-0] digits
# 60> ANGLE_OPEN[ TEMPLATE][ 16/ 71/ 72/ 1][2/2/1][ 100001840][0-0] <
# 60> TYPE[ NONE][ 18/ 73/ 85/ 1][2/3/1][ 41840][0-0] MinNumDigits
# 60> ANGLE_CLOSE[ TEMPLATE][ 30/ 85/ 86/ 0][2/2/1][ 100001840][0-0] >
# 60> NEWLINE[ NONE][ 77/ 86/ 0/ 0][2/2/1][ 1840][1-0]
# 60> BRACE_OPEN[ STRUCT][ 9/ 87/ 88/ 1][2/2/1][ 140041000][0-0] {
# 60> NEWLINE[ NONE][ 10/ 88/ 9/ 0][3/3/1][ 1000][1-0]
# 61> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 61> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 61> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 63> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 63> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 63> TYPE[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 63> WORD[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 63> COMMA[ NONE][ 35/ 43/ 44/ 0][2/3/1][ 100001040][0-0] ,
# 63> NEWLINE[ NONE][ 43/ 44/ 0/ 0][2/3/1][ 1040][1-0]
# 63> TYPE[ NONE][ 10/ 45/ 50/ 1][2/3/1][ 51040][0-0] class
# 63> TYPE[ NONE][ 16/ 51/ 59/ 1][2/3/1][ 1040][0-0] Smallest
# 63> ANGLE_CLOSE[ TEMPLATE][ 24/ 59/ 60/ 0][2/2/1][ 100001040][0-0] >
# 63> NEWLINE[ NONE][ 25/ 60/ 9/ 0][2/2/1][ 801000][2-0]
# 64> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 64> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 64> TYPE[ STRUCT][ 1/ 16/ 32/ 1][2/2/1][ 1000][0-0] enable_for_range
# 64> ANGLE_OPEN[ STRUCT][ 17/ 32/ 33/ 0][2/2/1][ 100001040][0-0] <
# 64> WORD[ NONE][ 18/ 33/ 45/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 64> COMMA[ NONE][ 30/ 45/ 46/ 0][2/3/1][ 100001040][0-0] ,
# 64> NEWLINE[ NONE][ 31/ 46/ 0/ 0][2/3/1][ 1040][1-0]
# 64> TYPE[ NONE][ 18/ 47/ 51/ 1][2/3/1][ 41040][0-0] void
# 64> COMMA[ NONE][ 22/ 51/ 52/ 0][2/3/1][ 100001040][0-0] ,
# 64> NEWLINE[ NONE][ 60/ 52/ 0/ 0][2/3/1][ 1040][1-0]
# 64> TYPE[ NONE][ 18/ 53/ 61/ 1][2/3/1][ 41040][0-0] Smallest
# 64> ANGLE_CLOSE[ TEMPLATE][ 26/ 61/ 62/ 0][2/2/1][ 100001040][0-0] >
# 64> NEWLINE[ NONE][ 27/ 62/ 17/ 0][2/2/1][ 1000][1-0]
# 65> CLASS_COLON[ NONE][ 9/ 17/ 18/ 0][2/2/1][ 100041800][0-0] :
# 65> NEWLINE[ NONE][ 17/ 18/ 0/ 0][2/2/1][ 1800][1-0]
# 65> TYPE[ NONE][ 9/ 19/ 22/ 1][2/2/1][ 61800][0-0] std
# 65> NEWLINE[ NONE][ 12/ 22/ 0/ 0][2/2/1][ 1800][1-0]
# 65> DC_MEMBER[ NONE][ 9/ 22/ 24/ 0][2/2/1][ 100001800][0-0] ::
# 65> NEWLINE[ NONE][ 14/ 24/ 0/ 0][2/2/1][ 1800][1-0]
# 65> WORD[ NONE][ 9/ 24/ 33/ 0][2/2/1][ 1801800][0-0] enable_if
# 65> ANGLE_OPEN[ TEMPLATE][ 18/ 33/ 34/ 0][2/2/1][ 100001840][0-0] <
# 65> WORD[ NONE][ 19/ 34/ 46/ 0][2/3/1][ 41840][0-0] MinNumDigits
# 65> COMPARE[ NONE][ 32/ 47/ 49/ 1][2/3/1][ 100001840][0-0] <=
# 65> NEWLINE[ NONE][ 39/ 49/ 0/ 0][2/3/1][ 1840][1-0]
# 65> TYPE[ NONE][ 19/ 50/ 53/ 1][2/3/1][ 41840][0-0] std
# 65> DC_MEMBER[ NONE][ 22/ 53/ 55/ 0][2/3/1][ 100001840][0-0] ::
# 65> WORD[ NONE][ 24/ 55/ 69/ 0][2/3/1][ 1840][0-0] numeric_limits
# 65> ANGLE_OPEN[ TEMPLATE][ 38/ 69/ 70/ 0][2/3/1][ 100001840][0-0] <
# 65> TYPE[ NONE][ 39/ 70/ 78/ 0][2/4/1][ 41840][0-0] Smallest
# 65> ANGLE_CLOSE[ TEMPLATE][ 47/ 78/ 79/ 0][2/3/1][ 100001840][0-0] >
# 65> DC_MEMBER[ NONE][ 48/ 79/ 81/ 0][2/3/1][ 100041840][0-0] ::
# 65> TYPE[ NONE][ 50/ 81/ 87/ 0][2/3/1][ 1840][0-0] digits
# 65> ANGLE_CLOSE[ TEMPLATE][ 56/ 87/ 88/ 0][2/2/1][ 100001840][0-0] >
# 65> NEWLINE[ NONE][ 87/ 88/ 0/ 0][2/2/1][ 1840][1-0]
# 65> BRACE_OPEN[ STRUCT][ 9/ 89/ 90/ 1][2/2/1][ 140041000][0-0] {
# 65> NEWLINE[ NONE][ 10/ 90/ 9/ 0][3/3/1][ 1000][1-0]
# 66> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 66> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 66> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 68> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 68> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 68> TYPE[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 68> WORD[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 68> COMMA[ NONE][ 35/ 43/ 44/ 0][2/3/1][ 100001040][0-0] ,
# 68> NEWLINE[ NONE][ 43/ 44/ 0/ 0][2/3/1][ 1040][1-0]
# 68> TYPE[ NONE][ 10/ 45/ 50/ 1][2/3/1][ 51040][0-0] class
# 68> WORD[ NONE][ 16/ 51/ 58/ 1][2/3/1][ 1040][0-0] Smaller
# 68> COMMA[ NONE][ 23/ 58/ 59/ 0][2/3/1][ 100001040][0-0] ,
# 68> NEWLINE[ NONE][ 59/ 59/ 0/ 0][2/3/1][ 1040][1-0]
# 68> TYPE[ NONE][ 10/ 60/ 65/ 1][2/3/1][ 10051040][0-0] class
# 68> TYPE[ NONE][ 16/ 66/ 67/ 1][2/3/1][ 10001040][0-0] T
# 68> ANGLE_CLOSE[ TEMPLATE][ 17/ 67/ 68/ 0][2/2/1][ 110001040][0-0] >
# 68> NEWLINE[ NONE][ 18/ 68/ 9/ 0][2/2/1][ 1000][1-0]
# 69> USING[ NONE][ 1/ 9/ 14/ 0][2/2/1][ 10051000][0-0] using
# 69> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/1][ 1000][1-0]
# 69> WORD[ NONE][ 9/ 15/ 33/ 1][2/2/1][ 10001000][0-0] enable_for_range_t
# 69> NEWLINE[ NONE][ 27/ 33/ 0/ 0][2/2/1][ 1000][1-0]
# 69> ASSIGN[ NONE][ 17/ 34/ 35/ 1][2/2/1][ 100101000][0-0] =
# 69> NEWLINE[ NONE][ 34/ 35/ 0/ 0][2/2/1][ 1000][1-0]
# 69> TYPENAME[ NONE][ 25/ 36/ 44/ 1][2/2/1][ 51000][0-0] typename
# 69> NEWLINE[ NONE][ 44/ 44/ 0/ 0][2/2/1][ 1000][1-0]
# 69> WORD[ NONE][ 25/ 45/ 61/ 1][2/2/1][ 1000][0-0] enable_for_range
# 69> ANGLE_OPEN[ TEMPLATE][ 41/ 61/ 62/ 0][2/2/1][ 100001040][0-0] <
# 69> WORD[ NONE][ 42/ 62/ 74/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 69> COMMA[ NONE][ 54/ 74/ 75/ 0][2/3/1][ 100001040][0-0] ,
# 69> NEWLINE[ NONE][ 82/ 75/ 0/ 0][2/3/1][ 1040][1-0]
# 69> WORD[ NONE][ 42/ 76/ 83/ 1][2/3/1][ 41040][0-0] Smaller
# 69> COMMA[ NONE][ 49/ 83/ 84/ 0][2/3/1][ 100001040][0-0] ,
# 69> NEWLINE[ NONE][116/ 84/ 0/ 0][2/3/1][ 1040][1-0]
# 69> TYPE[ NONE][ 42/ 85/ 86/ 1][2/3/1][ 41040][0-0] T
# 69> ANGLE_CLOSE[ TEMPLATE][ 43/ 86/ 87/ 0][2/2/1][ 100001040][0-0] >
# 69> NEWLINE[ NONE][119/ 87/ 0/ 0][2/2/1][ 801040][2-0]
# 69> DC_MEMBER[ NONE][ 25/ 87/ 89/ 0][2/2/1][ 100041000][0-0] ::
# 69> NEWLINE[ NONE][ 95/ 89/ 0/ 0][2/2/1][ 1000][1-0]
# 69> WORD[ NONE][ 25/ 89/ 93/ 0][2/2/1][ 1000][0-0] type
# 69> SEMICOLON[ NONE][ 29/ 93/ 94/ 0][2/2/1][ 100001000][0-0] ;
# 69> NEWLINE[ NONE][ 30/ 94/ 9/ 0][2/2/1][ 801000][2-0]
# 71> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 71> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 72> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 52/ 0][2/2/1][ 1000][0-0] // cnl::_num_traits_impl::set_digits_signed
# 72> NEWLINE[ NONE][ 44/ 52/ 9/ 0][2/2/1][ 1000][2-0]
# 74> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 74> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 74> TYPE[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 74> WORD[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 74> COMMA[ NONE][ 35/ 43/ 44/ 0][2/3/1][ 100001040][0-0] ,
# 74> NEWLINE[ NONE][ 43/ 44/ 0/ 0][2/3/1][ 1040][1-0]
# 74> TYPE[ NONE][ 10/ 45/ 50/ 1][2/3/1][ 10051040][0-0] class
# 74> WORD[ NONE][ 16/ 51/ 57/ 1][2/3/1][ 10001040][0-0] Enable
# 74> ASSIGN[ NONE][ 22/ 58/ 59/ 1][2/3/1][ 100001040][0-0] =
# 74> TYPE[ NONE][ 23/ 60/ 64/ 1][2/3/1][ 41040][0-0] void
# 74> ANGLE_CLOSE[ TEMPLATE][ 27/ 64/ 65/ 0][2/2/1][ 100001040][0-0] >
# 74> NEWLINE[ NONE][ 28/ 65/ 9/ 0][2/2/1][ 801000][2-0]
# 75> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 75> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 75> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] set_digits_signed
# 75> SEMICOLON[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001000][0-0] ;
# 75> NEWLINE[ NONE][ 19/ 34/ 9/ 0][2/2/1][ 801000][6-0]
# 77> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 77> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 77> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 77> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 77> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 77> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 78> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 78> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 78> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] set_digits_signed
# 78> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 78> WORD[ NONE][ 19/ 34/ 46/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 78> COMMA[ NONE][ 31/ 46/ 47/ 0][2/3/1][ 100001040][0-0] ,
# 78> NEWLINE[ NONE][ 32/ 47/ 0/ 0][2/3/1][ 1040][1-0]
# 78> WORD[ NONE][ 19/ 48/ 66/ 1][2/3/1][ 41040][0-0] enable_for_range_t
# 78> ANGLE_OPEN[ TEMPLATE][ 37/ 66/ 67/ 0][2/3/1][ 100001040][0-0] <
# 78> WORD[ NONE][ 38/ 67/ 79/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 78> COMMA[ NONE][ 50/ 79/ 80/ 0][2/4/1][ 100001040][0-0] ,
# 78> NEWLINE[ NONE][ 89/ 80/ 0/ 0][2/4/1][ 1040][1-0]
# 78> TYPE[ NONE][ 38/ 81/ 85/ 1][2/4/1][ 41040][0-0] void
# 78> COMMA[ NONE][ 42/ 85/ 86/ 0][2/4/1][ 100001040][0-0] ,
# 78> NEWLINE[ NONE][114/ 86/ 0/ 0][2/4/1][ 1040][1-0]
# 78> TYPE[ NONE][ 38/ 87/ 90/ 1][2/4/1][ 41040][0-0] std
# 78> DC_MEMBER[ NONE][ 41/ 90/ 92/ 0][2/4/1][ 100001040][0-0] ::
# 78> TYPE[ NONE][ 43/ 92/ 98/ 0][2/4/1][ 1040][0-0] int8_t
# 78> ANGLE_CLOSE[ TEMPLATE][ 49/ 98/ 99/ 0][2/3/1][ 100001040][0-0] >
# 78> ANGLE_CLOSE[ TEMPLATE][ 50/ 99/100/ 0][2/2/1][ 100041040][0-0] >
# 78> NEWLINE[ NONE][128/100/ 0/ 0][2/2/1][ 1040][1-0]
# 78> BRACE_OPEN[ STRUCT][ 9/101/102/ 1][2/2/1][ 100041000][0-0] {
# 78> NEWLINE[ NONE][ 10/102/ 13/ 0][3/3/1][ 1000][1-0]
# 79> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 79> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 79> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 79> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 79> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 79> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 79> TYPE[ NONE][ 33/ 26/ 29/ 1][3/3/1][ 41400][0-0] std
# 79> NEWLINE[ NONE][ 36/ 29/ 0/ 0][3/3/1][ 801400][2-0]
# 79> DC_MEMBER[ NONE][ 33/ 29/ 31/ 0][3/3/1][ 100001400][0-0] ::
# 79> NEWLINE[ NONE][ 37/ 31/ 0/ 0][3/3/1][ 1400][1-0]
# 79> WORD[ NONE][ 33/ 31/ 37/ 0][3/3/1][ 1400][0-0] int8_t
# 79> SEMICOLON[ NONE][ 39/ 37/ 38/ 0][3/3/1][ 100001400][0-0] ;
# 79> NEWLINE[ NONE][ 40/ 38/ 9/ 0][3/3/1][ 1000][1-0]
# 80> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 80> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 80> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 82> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 82> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 82> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 82> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 82> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 82> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 83> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 83> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 83> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] set_digits_signed
# 83> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 83> WORD[ NONE][ 19/ 34/ 46/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 83> COMMA[ NONE][ 31/ 46/ 47/ 0][2/3/1][ 100001040][0-0] ,
# 83> NEWLINE[ NONE][ 32/ 47/ 0/ 0][2/3/1][ 1040][1-0]
# 83> WORD[ NONE][ 19/ 48/ 66/ 1][2/3/1][ 41040][0-0] enable_for_range_t
# 83> ANGLE_OPEN[ TEMPLATE][ 37/ 66/ 67/ 0][2/3/1][ 100001040][0-0] <
# 83> WORD[ NONE][ 38/ 67/ 79/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 83> COMMA[ NONE][ 50/ 79/ 80/ 0][2/4/1][ 100001040][0-0] ,
# 83> NEWLINE[ NONE][ 89/ 80/ 0/ 0][2/4/1][ 1040][1-0]
# 83> TYPE[ NONE][ 38/ 81/ 84/ 1][2/4/1][ 41040][0-0] std
# 83> DC_MEMBER[ NONE][ 41/ 84/ 86/ 0][2/4/1][ 100001040][0-0] ::
# 83> WORD[ NONE][ 43/ 86/ 92/ 0][2/4/1][ 1040][0-0] int8_t
# 83> COMMA[ NONE][ 49/ 92/ 93/ 0][2/4/1][ 100001040][0-0] ,
# 83> NEWLINE[ NONE][121/ 93/ 0/ 0][2/4/1][ 1040][1-0]
# 83> TYPE[ NONE][ 38/ 94/ 97/ 1][2/4/1][ 41040][0-0] std
# 83> DC_MEMBER[ NONE][ 41/ 97/ 99/ 0][2/4/1][ 100001040][0-0] ::
# 83> TYPE[ NONE][ 43/ 99/106/ 0][2/4/1][ 1040][0-0] int16_t
# 83> ANGLE_CLOSE[ TEMPLATE][ 50/106/107/ 0][2/3/1][ 100001040][0-0] >
# 83> ANGLE_CLOSE[ TEMPLATE][ 51/107/108/ 0][2/2/1][ 100041040][0-0] >
# 83> NEWLINE[ NONE][136/108/ 0/ 0][2/2/1][ 1040][1-0]
# 83> BRACE_OPEN[ STRUCT][ 9/109/110/ 1][2/2/1][ 100041000][0-0] {
# 83> NEWLINE[ NONE][ 10/110/ 13/ 0][3/3/1][ 1000][1-0]
# 84> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 84> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 84> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 84> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 84> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 84> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 84> TYPE[ NONE][ 33/ 26/ 29/ 1][3/3/1][ 41400][0-0] std
# 84> NEWLINE[ NONE][ 36/ 29/ 0/ 0][3/3/1][ 801400][2-0]
# 84> DC_MEMBER[ NONE][ 33/ 29/ 31/ 0][3/3/1][ 100001400][0-0] ::
# 84> NEWLINE[ NONE][ 37/ 31/ 0/ 0][3/3/1][ 1400][1-0]
# 84> WORD[ NONE][ 33/ 31/ 38/ 0][3/3/1][ 1400][0-0] int16_t
# 84> SEMICOLON[ NONE][ 40/ 38/ 39/ 0][3/3/1][ 100001400][0-0] ;
# 84> NEWLINE[ NONE][ 41/ 39/ 9/ 0][3/3/1][ 1000][1-0]
# 85> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 85> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 85> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 87> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 87> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 87> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 87> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 87> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 87> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 88> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 88> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 88> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] set_digits_signed
# 88> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 88> WORD[ NONE][ 19/ 34/ 46/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 88> COMMA[ NONE][ 31/ 46/ 47/ 0][2/3/1][ 100001040][0-0] ,
# 88> NEWLINE[ NONE][ 32/ 47/ 0/ 0][2/3/1][ 1040][1-0]
# 88> WORD[ NONE][ 19/ 48/ 66/ 1][2/3/1][ 41040][0-0] enable_for_range_t
# 88> ANGLE_OPEN[ TEMPLATE][ 37/ 66/ 67/ 0][2/3/1][ 100001040][0-0] <
# 88> WORD[ NONE][ 38/ 67/ 79/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 88> COMMA[ NONE][ 50/ 79/ 80/ 0][2/4/1][ 100001040][0-0] ,
# 88> NEWLINE[ NONE][ 89/ 80/ 0/ 0][2/4/1][ 1040][1-0]
# 88> TYPE[ NONE][ 38/ 81/ 84/ 1][2/4/1][ 41040][0-0] std
# 88> DC_MEMBER[ NONE][ 41/ 84/ 86/ 0][2/4/1][ 100001040][0-0] ::
# 88> WORD[ NONE][ 43/ 86/ 93/ 0][2/4/1][ 1040][0-0] int16_t
# 88> COMMA[ NONE][ 50/ 93/ 94/ 0][2/4/1][ 100001040][0-0] ,
# 88> NEWLINE[ NONE][122/ 94/ 0/ 0][2/4/1][ 1040][1-0]
# 88> TYPE[ NONE][ 38/ 95/ 98/ 1][2/4/1][ 41040][0-0] std
# 88> DC_MEMBER[ NONE][ 41/ 98/100/ 0][2/4/1][ 100001040][0-0] ::
# 88> TYPE[ NONE][ 43/100/107/ 0][2/4/1][ 1040][0-0] int32_t
# 88> ANGLE_CLOSE[ TEMPLATE][ 50/107/108/ 0][2/3/1][ 100001040][0-0] >
# 88> ANGLE_CLOSE[ TEMPLATE][ 51/108/109/ 0][2/2/1][ 100041040][0-0] >
# 88> NEWLINE[ NONE][137/109/ 0/ 0][2/2/1][ 1040][1-0]
# 88> BRACE_OPEN[ STRUCT][ 9/110/111/ 1][2/2/1][ 100041000][0-0] {
# 88> NEWLINE[ NONE][ 10/111/ 13/ 0][3/3/1][ 1000][1-0]
# 89> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 89> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 89> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 89> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 89> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 89> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 89> TYPE[ NONE][ 33/ 26/ 29/ 1][3/3/1][ 41400][0-0] std
# 89> NEWLINE[ NONE][ 36/ 29/ 0/ 0][3/3/1][ 801400][2-0]
# 89> DC_MEMBER[ NONE][ 33/ 29/ 31/ 0][3/3/1][ 100001400][0-0] ::
# 89> NEWLINE[ NONE][ 37/ 31/ 0/ 0][3/3/1][ 1400][1-0]
# 89> WORD[ NONE][ 33/ 31/ 38/ 0][3/3/1][ 1400][0-0] int32_t
# 89> SEMICOLON[ NONE][ 40/ 38/ 39/ 0][3/3/1][ 100001400][0-0] ;
# 89> NEWLINE[ NONE][ 41/ 39/ 9/ 0][3/3/1][ 1000][1-0]
# 90> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 90> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 90> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 92> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 92> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 92> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 92> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 92> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 92> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 93> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 93> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 93> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] set_digits_signed
# 93> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 93> WORD[ NONE][ 19/ 34/ 46/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 93> COMMA[ NONE][ 31/ 46/ 47/ 0][2/3/1][ 100001040][0-0] ,
# 93> NEWLINE[ NONE][ 32/ 47/ 0/ 0][2/3/1][ 1040][1-0]
# 93> WORD[ NONE][ 19/ 48/ 66/ 1][2/3/1][ 41040][0-0] enable_for_range_t
# 93> ANGLE_OPEN[ TEMPLATE][ 37/ 66/ 67/ 0][2/3/1][ 100001040][0-0] <
# 93> WORD[ NONE][ 38/ 67/ 79/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 93> COMMA[ NONE][ 50/ 79/ 80/ 0][2/4/1][ 100001040][0-0] ,
# 93> NEWLINE[ NONE][ 89/ 80/ 0/ 0][2/4/1][ 1040][1-0]
# 93> TYPE[ NONE][ 38/ 81/ 84/ 1][2/4/1][ 41040][0-0] std
# 93> DC_MEMBER[ NONE][ 41/ 84/ 86/ 0][2/4/1][ 100001040][0-0] ::
# 93> WORD[ NONE][ 43/ 86/ 93/ 0][2/4/1][ 1040][0-0] int32_t
# 93> COMMA[ NONE][ 50/ 93/ 94/ 0][2/4/1][ 100001040][0-0] ,
# 93> NEWLINE[ NONE][122/ 94/ 0/ 0][2/4/1][ 1040][1-0]
# 93> TYPE[ NONE][ 38/ 95/ 98/ 1][2/4/1][ 41040][0-0] std
# 93> DC_MEMBER[ NONE][ 41/ 98/100/ 0][2/4/1][ 100001040][0-0] ::
# 93> TYPE[ NONE][ 43/100/107/ 0][2/4/1][ 1040][0-0] int64_t
# 93> ANGLE_CLOSE[ TEMPLATE][ 50/107/108/ 0][2/3/1][ 100001040][0-0] >
# 93> ANGLE_CLOSE[ TEMPLATE][ 51/108/109/ 0][2/2/1][ 100041040][0-0] >
# 93> NEWLINE[ NONE][137/109/ 0/ 0][2/2/1][ 1040][1-0]
# 93> BRACE_OPEN[ STRUCT][ 9/110/111/ 1][2/2/1][ 100041000][0-0] {
# 93> NEWLINE[ NONE][ 10/111/ 13/ 0][3/3/1][ 1000][1-0]
# 94> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 94> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 94> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 94> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 94> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 94> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 94> TYPE[ NONE][ 33/ 26/ 29/ 1][3/3/1][ 41400][0-0] std
# 94> NEWLINE[ NONE][ 36/ 29/ 0/ 0][3/3/1][ 801400][2-0]
# 94> DC_MEMBER[ NONE][ 33/ 29/ 31/ 0][3/3/1][ 100001400][0-0] ::
# 94> NEWLINE[ NONE][ 37/ 31/ 0/ 0][3/3/1][ 1400][1-0]
# 94> WORD[ NONE][ 33/ 31/ 38/ 0][3/3/1][ 1400][0-0] int64_t
# 94> SEMICOLON[ NONE][ 40/ 38/ 39/ 0][3/3/1][ 100001400][0-0] ;
# 94> NEWLINE[ NONE][ 41/ 39/ 9/ 0][3/3/1][ 1000][1-0]
# 95> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 95> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 95> NEWLINE[ NONE][ 11/ 11/ 1/ 0][2/2/1][ 801000][6-0]
# 97> PREPROC[ PP_IF][ 1/ 1/ 2/ 0][2/2/1][ 100080001][0-0] #
# 97> PP_IF[ NONE][ 2/ 2/ 4/ 0][2/2/2][ 10001][0-0] if
# 97> NL_CONT[ NONE][ 18/ 4/ 0/ 0][2/2/2][ 200001][1-0] \
# 97> PP_DEFINED[ NONE][ 9/ 5/ 12/ 1][2/2/2][ 40001][0-0] defined
# 97> PAREN_OPEN[ NONE][ 16/ 12/ 13/ 0][2/2/2][ 100000001][0-0] (
# 97> NL_CONT[ NONE][ 18/ 13/ 0/ 0][2/2/2][ 200001][1-0] \
# 97> WORD[ NONE][ 17/ 13/ 31/ 0][2/2/2][ 40001][0-0] CNL_INT128_ENABLED
# 97> PAREN_CLOSE[ NONE][ 35/ 31/ 32/ 0][2/2/2][ 100000001][0-0] )
# 97> NEWLINE[ NONE][ 36/ 32/ 9/ 0][2/2/2][ 1000][1-0]
# 98> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/2][ 61000][0-0] template
# 98> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/2][ 100001040][0-0] <
# 98> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/2][ 51040][0-0] _digits_type
# 98> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/2][ 1040][0-0] MinNumDigits
# 98> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/2][ 100001040][0-0] >
# 98> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/2][ 801000][2-0]
# 99> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/2][ 51000][0-0] struct
# 99> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/2][ 1000][1-0]
# 99> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/2][ 1000][0-0] set_digits_signed
# 99> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/2][ 100001040][0-0] <
# 99> WORD[ NONE][ 19/ 34/ 46/ 0][2/3/2][ 41040][0-0] MinNumDigits
# 99> COMMA[ NONE][ 31/ 46/ 47/ 0][2/3/2][ 100001040][0-0] ,
# 99> NEWLINE[ NONE][ 32/ 47/ 0/ 0][2/3/2][ 1040][1-0]
# 99> WORD[ NONE][ 19/ 48/ 66/ 1][2/3/2][ 41040][0-0] enable_for_range_t
# 99> ANGLE_OPEN[ TEMPLATE][ 37/ 66/ 67/ 0][2/3/2][ 100001040][0-0] <
# 99> WORD[ NONE][ 38/ 67/ 79/ 0][2/4/2][ 41040][0-0] MinNumDigits
# 99> COMMA[ NONE][ 50/ 79/ 80/ 0][2/4/2][ 100001040][0-0] ,
# 99> NEWLINE[ NONE][ 89/ 80/ 0/ 0][2/4/2][ 1040][1-0]
# 99> TYPE[ NONE][ 38/ 81/ 84/ 1][2/4/2][ 41040][0-0] std
# 99> DC_MEMBER[ NONE][ 41/ 84/ 86/ 0][2/4/2][ 100001040][0-0] ::
# 99> WORD[ NONE][ 43/ 86/ 93/ 0][2/4/2][ 1040][0-0] int64_t
# 99> COMMA[ NONE][ 50/ 93/ 94/ 0][2/4/2][ 100001040][0-0] ,
# 99> NEWLINE[ NONE][122/ 94/ 0/ 0][2/4/2][ 1040][1-0]
# 99> TYPE[ NONE][ 38/ 95/105/ 1][2/4/2][ 41040][0-0] CNL_INT128
# 99> ANGLE_CLOSE[ TEMPLATE][ 48/105/106/ 0][2/3/2][ 100001040][0-0] >
# 99> ANGLE_CLOSE[ TEMPLATE][ 49/106/107/ 0][2/2/2][ 100041040][0-0] >
# 99> NEWLINE[ NONE][135/107/ 0/ 0][2/2/2][ 1040][1-0]
# 99> BRACE_OPEN[ STRUCT][ 9/108/109/ 1][2/2/2][ 100041000][0-0] {
# 99> NEWLINE[ NONE][ 10/109/ 13/ 0][3/3/2][ 1000][1-0]
# 100> USING[ NONE][ 9/ 13/ 18/ 0][3/3/2][ 10071400][0-0] using
# 100> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/2][ 1400][1-0]
# 100> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/2][ 10001400][0-0] type
# 100> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/2][ 1400][1-0]
# 100> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/2][ 100101400][0-0] =
# 100> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/2][ 1400][1-0]
# 100> WORD[ NONE][ 33/ 26/ 36/ 1][3/3/2][ 41400][0-0] CNL_INT128
# 100> SEMICOLON[ NONE][ 43/ 36/ 37/ 0][3/3/2][ 100001400][0-0] ;
# 100> NEWLINE[ NONE][ 44/ 37/ 9/ 0][3/3/2][ 1000][1-0]
# 101> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/2][ 100001400][0-0] }
# 101> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/2][ 100001000][0-0] ;
# 101> NEWLINE[ NONE][ 11/ 11/ 1/ 0][2/2/2][ 801000][6-0]
# 102> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][2/2/1][ 100080001][0-0] #
# 102> NL_CONT[ NONE][ 3/ 2/ 0/ 0][2/2/1][ 200001][1-0] \
# 102> PP_ENDIF[ NONE][ 9/ 2/ 7/ 0][2/2/1][ 1][0-0] endif
# 102> NEWLINE[ NONE][ 14/ 7/ 9/ 0][2/2/1][ 1000][2-0]
# 104> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 104> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 105> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 54/ 0][2/2/1][ 1000][0-0] // cnl::_num_traits_impl::set_digits_unsigned
# 105> NEWLINE[ NONE][ 46/ 54/ 9/ 0][2/2/1][ 1000][2-0]
# 107> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 107> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 107> TYPE[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 107> WORD[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 107> COMMA[ NONE][ 35/ 43/ 44/ 0][2/3/1][ 100001040][0-0] ,
# 107> NEWLINE[ NONE][ 43/ 44/ 0/ 0][2/3/1][ 1040][1-0]
# 107> TYPE[ NONE][ 10/ 45/ 50/ 1][2/3/1][ 10051040][0-0] class
# 107> WORD[ NONE][ 16/ 51/ 57/ 1][2/3/1][ 10001040][0-0] Enable
# 107> ASSIGN[ NONE][ 22/ 58/ 59/ 1][2/3/1][ 100001040][0-0] =
# 107> TYPE[ NONE][ 23/ 60/ 64/ 1][2/3/1][ 41040][0-0] void
# 107> ANGLE_CLOSE[ TEMPLATE][ 27/ 64/ 65/ 0][2/2/1][ 100001040][0-0] >
# 107> NEWLINE[ NONE][ 28/ 65/ 9/ 0][2/2/1][ 801000][2-0]
# 108> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 108> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 108> TYPE[ STRUCT][ 1/ 16/ 35/ 1][2/2/1][ 1000][0-0] set_digits_unsigned
# 108> SEMICOLON[ STRUCT][ 20/ 35/ 36/ 0][2/2/1][ 100001000][0-0] ;
# 108> NEWLINE[ NONE][ 21/ 36/ 9/ 0][2/2/1][ 801000][6-0]
# 110> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 110> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 110> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 110> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 110> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 110> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 111> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 111> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 111> TYPE[ STRUCT][ 1/ 16/ 35/ 1][2/2/1][ 1000][0-0] set_digits_unsigned
# 111> ANGLE_OPEN[ STRUCT][ 20/ 35/ 36/ 0][2/2/1][ 100001040][0-0] <
# 111> WORD[ NONE][ 21/ 36/ 48/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 111> COMMA[ NONE][ 33/ 48/ 49/ 0][2/3/1][ 100001040][0-0] ,
# 111> NEWLINE[ NONE][ 34/ 49/ 0/ 0][2/3/1][ 1040][1-0]
# 111> WORD[ NONE][ 21/ 50/ 68/ 1][2/3/1][ 41040][0-0] enable_for_range_t
# 111> ANGLE_OPEN[ TEMPLATE][ 39/ 68/ 69/ 0][2/3/1][ 100001040][0-0] <
# 111> WORD[ NONE][ 40/ 69/ 81/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 111> COMMA[ NONE][ 52/ 81/ 82/ 0][2/4/1][ 100001040][0-0] ,
# 111> NEWLINE[ NONE][ 93/ 82/ 0/ 0][2/4/1][ 1040][1-0]
# 111> TYPE[ NONE][ 40/ 83/ 87/ 1][2/4/1][ 41040][0-0] void
# 111> COMMA[ NONE][ 44/ 87/ 88/ 0][2/4/1][ 100001040][0-0] ,
# 111> NEWLINE[ NONE][118/ 88/ 0/ 0][2/4/1][ 1040][1-0]
# 111> TYPE[ NONE][ 40/ 89/ 92/ 1][2/4/1][ 41040][0-0] std
# 111> DC_MEMBER[ NONE][ 43/ 92/ 94/ 0][2/4/1][ 100001040][0-0] ::
# 111> TYPE[ NONE][ 45/ 94/101/ 0][2/4/1][ 1040][0-0] uint8_t
# 111> ANGLE_CLOSE[ TEMPLATE][ 52/101/102/ 0][2/3/1][ 100001040][0-0] >
# 111> ANGLE_CLOSE[ TEMPLATE][ 53/102/103/ 0][2/2/1][ 100041040][0-0] >
# 111> NEWLINE[ NONE][133/103/ 0/ 0][2/2/1][ 1040][1-0]
# 111> BRACE_OPEN[ STRUCT][ 9/104/105/ 1][2/2/1][ 100041000][0-0] {
# 111> NEWLINE[ NONE][ 10/105/ 13/ 0][3/3/1][ 1000][1-0]
# 112> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 112> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 112> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 112> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 112> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 112> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 112> TYPE[ NONE][ 33/ 26/ 29/ 1][3/3/1][ 41400][0-0] std
# 112> NEWLINE[ NONE][ 36/ 29/ 0/ 0][3/3/1][ 801400][2-0]
# 112> DC_MEMBER[ NONE][ 33/ 29/ 31/ 0][3/3/1][ 100001400][0-0] ::
# 112> NEWLINE[ NONE][ 37/ 31/ 0/ 0][3/3/1][ 1400][1-0]
# 112> WORD[ NONE][ 33/ 31/ 38/ 0][3/3/1][ 1400][0-0] uint8_t
# 112> SEMICOLON[ NONE][ 40/ 38/ 39/ 0][3/3/1][ 100001400][0-0] ;
# 112> NEWLINE[ NONE][ 41/ 39/ 9/ 0][3/3/1][ 1000][1-0]
# 113> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 113> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 113> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 115> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 115> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 115> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 115> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 115> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 115> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 116> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 116> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 116> TYPE[ STRUCT][ 1/ 16/ 35/ 1][2/2/1][ 1000][0-0] set_digits_unsigned
# 116> ANGLE_OPEN[ STRUCT][ 20/ 35/ 36/ 0][2/2/1][ 100001040][0-0] <
# 116> WORD[ NONE][ 21/ 36/ 48/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 116> COMMA[ NONE][ 33/ 48/ 49/ 0][2/3/1][ 100001040][0-0] ,
# 116> NEWLINE[ NONE][ 34/ 49/ 0/ 0][2/3/1][ 1040][1-0]
# 116> WORD[ NONE][ 21/ 50/ 68/ 1][2/3/1][ 41040][0-0] enable_for_range_t
# 116> ANGLE_OPEN[ TEMPLATE][ 39/ 68/ 69/ 0][2/3/1][ 100001040][0-0] <
# 116> WORD[ NONE][ 40/ 69/ 81/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 116> COMMA[ NONE][ 52/ 81/ 82/ 0][2/4/1][ 100001040][0-0] ,
# 116> NEWLINE[ NONE][ 93/ 82/ 0/ 0][2/4/1][ 1040][1-0]
# 116> TYPE[ NONE][ 40/ 83/ 86/ 1][2/4/1][ 41040][0-0] std
# 116> DC_MEMBER[ NONE][ 43/ 86/ 88/ 0][2/4/1][ 100001040][0-0] ::
# 116> WORD[ NONE][ 45/ 88/ 95/ 0][2/4/1][ 1040][0-0] uint8_t
# 116> COMMA[ NONE][ 52/ 95/ 96/ 0][2/4/1][ 100001040][0-0] ,
# 116> NEWLINE[ NONE][126/ 96/ 0/ 0][2/4/1][ 1040][1-0]
# 116> TYPE[ NONE][ 40/ 97/100/ 1][2/4/1][ 41040][0-0] std
# 116> DC_MEMBER[ NONE][ 43/100/102/ 0][2/4/1][ 100001040][0-0] ::
# 116> TYPE[ NONE][ 45/102/110/ 0][2/4/1][ 1040][0-0] uint16_t
# 116> ANGLE_CLOSE[ TEMPLATE][ 53/110/111/ 0][2/3/1][ 100001040][0-0] >
# 116> ANGLE_CLOSE[ TEMPLATE][ 54/111/112/ 0][2/2/1][ 100041040][0-0] >
# 116> NEWLINE[ NONE][142/112/ 0/ 0][2/2/1][ 1040][1-0]
# 116> BRACE_OPEN[ STRUCT][ 9/113/114/ 1][2/2/1][ 100041000][0-0] {
# 116> NEWLINE[ NONE][ 10/114/ 13/ 0][3/3/1][ 1000][1-0]
# 117> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 117> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 117> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 117> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 117> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 117> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 117> TYPE[ NONE][ 33/ 26/ 29/ 1][3/3/1][ 41400][0-0] std
# 117> NEWLINE[ NONE][ 36/ 29/ 0/ 0][3/3/1][ 801400][2-0]
# 117> DC_MEMBER[ NONE][ 33/ 29/ 31/ 0][3/3/1][ 100001400][0-0] ::
# 117> NEWLINE[ NONE][ 37/ 31/ 0/ 0][3/3/1][ 1400][1-0]
# 117> WORD[ NONE][ 33/ 31/ 39/ 0][3/3/1][ 1400][0-0] uint16_t
# 117> SEMICOLON[ NONE][ 41/ 39/ 40/ 0][3/3/1][ 100001400][0-0] ;
# 117> NEWLINE[ NONE][ 42/ 40/ 9/ 0][3/3/1][ 1000][1-0]
# 118> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 118> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 118> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 120> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 120> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 120> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 120> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 120> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 120> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 121> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 121> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 121> TYPE[ STRUCT][ 1/ 16/ 35/ 1][2/2/1][ 1000][0-0] set_digits_unsigned
# 121> ANGLE_OPEN[ STRUCT][ 20/ 35/ 36/ 0][2/2/1][ 100001040][0-0] <
# 121> WORD[ NONE][ 21/ 36/ 48/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 121> COMMA[ NONE][ 33/ 48/ 49/ 0][2/3/1][ 100001040][0-0] ,
# 121> NEWLINE[ NONE][ 34/ 49/ 0/ 0][2/3/1][ 1040][1-0]
# 121> WORD[ NONE][ 21/ 50/ 68/ 1][2/3/1][ 41040][0-0] enable_for_range_t
# 121> ANGLE_OPEN[ TEMPLATE][ 39/ 68/ 69/ 0][2/3/1][ 100001040][0-0] <
# 121> WORD[ NONE][ 40/ 69/ 81/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 121> COMMA[ NONE][ 52/ 81/ 82/ 0][2/4/1][ 100001040][0-0] ,
# 121> NEWLINE[ NONE][ 93/ 82/ 0/ 0][2/4/1][ 1040][1-0]
# 121> TYPE[ NONE][ 40/ 83/ 86/ 1][2/4/1][ 41040][0-0] std
# 121> DC_MEMBER[ NONE][ 43/ 86/ 88/ 0][2/4/1][ 100001040][0-0] ::
# 121> WORD[ NONE][ 45/ 88/ 96/ 0][2/4/1][ 1040][0-0] uint16_t
# 121> COMMA[ NONE][ 53/ 96/ 97/ 0][2/4/1][ 100001040][0-0] ,
# 121> NEWLINE[ NONE][127/ 97/ 0/ 0][2/4/1][ 1040][1-0]
# 121> TYPE[ NONE][ 40/ 98/101/ 1][2/4/1][ 41040][0-0] std
# 121> DC_MEMBER[ NONE][ 43/101/103/ 0][2/4/1][ 100001040][0-0] ::
# 121> TYPE[ NONE][ 45/103/111/ 0][2/4/1][ 1040][0-0] uint32_t
# 121> ANGLE_CLOSE[ TEMPLATE][ 53/111/112/ 0][2/3/1][ 100001040][0-0] >
# 121> ANGLE_CLOSE[ TEMPLATE][ 54/112/113/ 0][2/2/1][ 100041040][0-0] >
# 121> NEWLINE[ NONE][143/113/ 0/ 0][2/2/1][ 1040][1-0]
# 121> BRACE_OPEN[ STRUCT][ 9/114/115/ 1][2/2/1][ 100041000][0-0] {
# 121> NEWLINE[ NONE][ 10/115/ 13/ 0][3/3/1][ 1000][1-0]
# 122> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 122> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 122> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 122> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 122> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 122> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 122> TYPE[ NONE][ 33/ 26/ 29/ 1][3/3/1][ 41400][0-0] std
# 122> NEWLINE[ NONE][ 36/ 29/ 0/ 0][3/3/1][ 801400][2-0]
# 122> DC_MEMBER[ NONE][ 33/ 29/ 31/ 0][3/3/1][ 100001400][0-0] ::
# 122> NEWLINE[ NONE][ 37/ 31/ 0/ 0][3/3/1][ 1400][1-0]
# 122> WORD[ NONE][ 33/ 31/ 39/ 0][3/3/1][ 1400][0-0] uint32_t
# 122> SEMICOLON[ NONE][ 41/ 39/ 40/ 0][3/3/1][ 100001400][0-0] ;
# 122> NEWLINE[ NONE][ 42/ 40/ 9/ 0][3/3/1][ 1000][1-0]
# 123> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 123> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 123> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 125> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 125> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 125> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/1][ 51040][0-0] _digits_type
# 125> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/1][ 1040][0-0] MinNumDigits
# 125> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 125> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 126> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 126> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 126> TYPE[ STRUCT][ 1/ 16/ 35/ 1][2/2/1][ 1000][0-0] set_digits_unsigned
# 126> ANGLE_OPEN[ STRUCT][ 20/ 35/ 36/ 0][2/2/1][ 100001040][0-0] <
# 126> WORD[ NONE][ 21/ 36/ 48/ 0][2/3/1][ 41040][0-0] MinNumDigits
# 126> COMMA[ NONE][ 33/ 48/ 49/ 0][2/3/1][ 100001040][0-0] ,
# 126> NEWLINE[ NONE][ 34/ 49/ 0/ 0][2/3/1][ 1040][1-0]
# 126> WORD[ NONE][ 21/ 50/ 68/ 1][2/3/1][ 41040][0-0] enable_for_range_t
# 126> ANGLE_OPEN[ TEMPLATE][ 39/ 68/ 69/ 0][2/3/1][ 100001040][0-0] <
# 126> WORD[ NONE][ 40/ 69/ 81/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 126> COMMA[ NONE][ 52/ 81/ 82/ 0][2/4/1][ 100001040][0-0] ,
# 126> NEWLINE[ NONE][ 93/ 82/ 0/ 0][2/4/1][ 1040][1-0]
# 126> TYPE[ NONE][ 40/ 83/ 86/ 1][2/4/1][ 41040][0-0] std
# 126> DC_MEMBER[ NONE][ 43/ 86/ 88/ 0][2/4/1][ 100001040][0-0] ::
# 126> WORD[ NONE][ 45/ 88/ 96/ 0][2/4/1][ 1040][0-0] uint32_t
# 126> COMMA[ NONE][ 53/ 96/ 97/ 0][2/4/1][ 100001040][0-0] ,
# 126> NEWLINE[ NONE][127/ 97/ 0/ 0][2/4/1][ 1040][1-0]
# 126> TYPE[ NONE][ 40/ 98/101/ 1][2/4/1][ 41040][0-0] std
# 126> DC_MEMBER[ NONE][ 43/101/103/ 0][2/4/1][ 100001040][0-0] ::
# 126> TYPE[ NONE][ 45/103/111/ 0][2/4/1][ 1040][0-0] uint64_t
# 126> ANGLE_CLOSE[ TEMPLATE][ 53/111/112/ 0][2/3/1][ 100001040][0-0] >
# 126> ANGLE_CLOSE[ TEMPLATE][ 54/112/113/ 0][2/2/1][ 100041040][0-0] >
# 126> NEWLINE[ NONE][143/113/ 0/ 0][2/2/1][ 1040][1-0]
# 126> BRACE_OPEN[ STRUCT][ 9/114/115/ 1][2/2/1][ 100041000][0-0] {
# 126> NEWLINE[ NONE][ 10/115/ 13/ 0][3/3/1][ 1000][1-0]
# 127> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 127> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 127> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 127> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 127> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 127> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 127> TYPE[ NONE][ 33/ 26/ 29/ 1][3/3/1][ 41400][0-0] std
# 127> NEWLINE[ NONE][ 36/ 29/ 0/ 0][3/3/1][ 801400][2-0]
# 127> DC_MEMBER[ NONE][ 33/ 29/ 31/ 0][3/3/1][ 100001400][0-0] ::
# 127> NEWLINE[ NONE][ 37/ 31/ 0/ 0][3/3/1][ 1400][1-0]
# 127> WORD[ NONE][ 33/ 31/ 39/ 0][3/3/1][ 1400][0-0] uint64_t
# 127> SEMICOLON[ NONE][ 41/ 39/ 40/ 0][3/3/1][ 100001400][0-0] ;
# 127> NEWLINE[ NONE][ 42/ 40/ 9/ 0][3/3/1][ 1000][1-0]
# 128> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 128> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 128> NEWLINE[ NONE][ 11/ 11/ 1/ 0][2/2/1][ 801000][6-0]
# 130> PREPROC[ PP_IF][ 1/ 1/ 2/ 0][2/2/1][ 100080001][0-0] #
# 130> PP_IF[ NONE][ 2/ 2/ 4/ 0][2/2/2][ 10001][0-0] if
# 130> NL_CONT[ NONE][ 18/ 4/ 0/ 0][2/2/2][ 200001][1-0] \
# 130> PP_DEFINED[ NONE][ 9/ 5/ 12/ 1][2/2/2][ 40001][0-0] defined
# 130> PAREN_OPEN[ NONE][ 16/ 12/ 13/ 0][2/2/2][ 100000001][0-0] (
# 130> NL_CONT[ NONE][ 18/ 13/ 0/ 0][2/2/2][ 200001][1-0] \
# 130> WORD[ NONE][ 17/ 13/ 31/ 0][2/2/2][ 40001][0-0] CNL_INT128_ENABLED
# 130> PAREN_CLOSE[ NONE][ 35/ 31/ 32/ 0][2/2/2][ 100000001][0-0] )
# 130> NEWLINE[ NONE][ 36/ 32/ 9/ 0][2/2/2][ 1000][1-0]
# 131> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/2][ 61000][0-0] template
# 131> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/2][ 100001040][0-0] <
# 131> WORD[ NONE][ 10/ 18/ 30/ 0][2/3/2][ 51040][0-0] _digits_type
# 131> TYPE[ NONE][ 23/ 31/ 43/ 1][2/3/2][ 1040][0-0] MinNumDigits
# 131> ANGLE_CLOSE[ TEMPLATE][ 35/ 43/ 44/ 0][2/2/2][ 100001040][0-0] >
# 131> NEWLINE[ NONE][ 36/ 44/ 9/ 0][2/2/2][ 801000][2-0]
# 132> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/2][ 51000][0-0] struct
# 132> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/2][ 1000][1-0]
# 132> TYPE[ STRUCT][ 1/ 16/ 35/ 1][2/2/2][ 1000][0-0] set_digits_unsigned
# 132> ANGLE_OPEN[ STRUCT][ 20/ 35/ 36/ 0][2/2/2][ 100001040][0-0] <
# 132> WORD[ NONE][ 21/ 36/ 48/ 0][2/3/2][ 41040][0-0] MinNumDigits
# 132> COMMA[ NONE][ 33/ 48/ 49/ 0][2/3/2][ 100001040][0-0] ,
# 132> NEWLINE[ NONE][ 34/ 49/ 0/ 0][2/3/2][ 1040][1-0]
# 132> WORD[ NONE][ 21/ 50/ 68/ 1][2/3/2][ 41040][0-0] enable_for_range_t
# 132> ANGLE_OPEN[ TEMPLATE][ 39/ 68/ 69/ 0][2/3/2][ 100001040][0-0] <
# 132> WORD[ NONE][ 40/ 69/ 81/ 0][2/4/2][ 41040][0-0] MinNumDigits
# 132> COMMA[ NONE][ 52/ 81/ 82/ 0][2/4/2][ 100001040][0-0] ,
# 132> NEWLINE[ NONE][ 93/ 82/ 0/ 0][2/4/2][ 1040][1-0]
# 132> TYPE[ NONE][ 40/ 83/ 86/ 1][2/4/2][ 41040][0-0] std
# 132> DC_MEMBER[ NONE][ 43/ 86/ 88/ 0][2/4/2][ 100001040][0-0] ::
# 132> WORD[ NONE][ 45/ 88/ 96/ 0][2/4/2][ 1040][0-0] uint64_t
# 132> COMMA[ NONE][ 53/ 96/ 97/ 0][2/4/2][ 100001040][0-0] ,
# 132> NEWLINE[ NONE][127/ 97/ 0/ 0][2/4/2][ 1040][1-0]
# 132> TYPE[ NONE][ 40/ 98/109/ 1][2/4/2][ 41040][0-0] CNL_UINT128
# 132> ANGLE_CLOSE[ TEMPLATE][ 51/109/110/ 0][2/3/2][ 100001040][0-0] >
# 132> ANGLE_CLOSE[ TEMPLATE][ 52/110/111/ 0][2/2/2][ 100041040][0-0] >
# 132> NEWLINE[ NONE][141/111/ 0/ 0][2/2/2][ 1040][1-0]
# 132> BRACE_OPEN[ STRUCT][ 9/112/113/ 1][2/2/2][ 100041000][0-0] {
# 132> NEWLINE[ NONE][ 10/113/ 13/ 0][3/3/2][ 1000][1-0]
# 133> USING[ NONE][ 9/ 13/ 18/ 0][3/3/2][ 10071400][0-0] using
# 133> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/2][ 1400][1-0]
# 133> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/2][ 10001400][0-0] type
# 133> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/2][ 1400][1-0]
# 133> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/2][ 100101400][0-0] =
# 133> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/2][ 1400][1-0]
# 133> WORD[ NONE][ 33/ 26/ 37/ 1][3/3/2][ 41400][0-0] CNL_UINT128
# 133> SEMICOLON[ NONE][ 44/ 37/ 38/ 0][3/3/2][ 100001400][0-0] ;
# 133> NEWLINE[ NONE][ 45/ 38/ 9/ 0][3/3/2][ 1000][1-0]
# 134> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/2][ 100001400][0-0] }
# 134> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/2][ 100001000][0-0] ;
# 134> NEWLINE[ NONE][ 11/ 11/ 1/ 0][2/2/2][ 801000][6-0]
# 135> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][2/2/1][ 100080001][0-0] #
# 135> NL_CONT[ NONE][ 3/ 2/ 0/ 0][2/2/1][ 200001][1-0] \
# 135> PP_ENDIF[ NONE][ 9/ 2/ 7/ 0][2/2/1][ 1][0-0] endif
# 135> NEWLINE[ NONE][ 14/ 7/ 9/ 0][2/2/1][ 1000][2-0]
# 137> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 137> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 138> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 53/ 0][2/2/1][ 1000][0-0] // cnl::_num_traits_impl::set_digits_integer
# 138> NEWLINE[ NONE][ 45/ 53/ 9/ 0][2/2/1][ 1000][2-0]
# 140> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 140> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 140> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 140> WORD[ NONE][ 16/ 24/ 31/ 1][2/3/1][ 1040][0-0] Integer
# 140> COMMA[ NONE][ 23/ 31/ 32/ 0][2/3/1][ 100001040][0-0] ,
# 140> NEWLINE[ NONE][ 31/ 32/ 0/ 0][2/3/1][ 1040][1-0]
# 140> WORD[ NONE][ 10/ 33/ 45/ 1][2/3/1][ 10051040][0-0] _digits_type
# 140> TYPE[ NONE][ 23/ 46/ 58/ 1][2/3/1][ 10001040][0-0] MinNumDigits
# 140> ANGLE_CLOSE[ TEMPLATE][ 35/ 58/ 59/ 0][2/2/1][ 110001040][0-0] >
# 140> NEWLINE[ NONE][ 36/ 59/ 9/ 0][2/2/1][ 1000][1-0]
# 141> USING[ NONE][ 1/ 9/ 14/ 0][2/2/1][ 10051000][0-0] using
# 141> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/1][ 1000][1-0]
# 141> WORD[ NONE][ 9/ 15/ 33/ 1][2/2/1][ 10001000][0-0] set_digits_integer
# 141> NEWLINE[ NONE][ 27/ 33/ 0/ 0][2/2/1][ 1000][1-0]
# 141> ASSIGN[ NONE][ 17/ 34/ 35/ 1][2/2/1][ 100101000][0-0] =
# 141> NEWLINE[ NONE][ 34/ 35/ 0/ 0][2/2/1][ 1000][1-0]
# 141> TYPENAME[ NONE][ 25/ 36/ 44/ 1][2/2/1][ 51000][0-0] typename
# 141> NEWLINE[ NONE][ 44/ 44/ 0/ 0][2/2/1][ 1000][1-0]
# 141> TYPE[ NONE][ 25/ 45/ 48/ 1][2/2/1][ 1000][0-0] std
# 141> NEWLINE[ NONE][ 53/ 48/ 0/ 0][2/2/1][ 801000][2-0]
# 141> DC_MEMBER[ NONE][ 25/ 48/ 50/ 0][2/2/1][ 100001000][0-0] ::
# 141> NEWLINE[ NONE][ 56/ 50/ 0/ 0][2/2/1][ 1000][1-0]
# 141> WORD[ NONE][ 25/ 50/ 61/ 0][2/2/1][ 1000][0-0] conditional
# 141> ANGLE_OPEN[ TEMPLATE][ 36/ 61/ 62/ 0][2/2/1][ 100001040][0-0] <
# 141> NEWLINE[ NONE][ 37/ 62/ 17/ 0][2/3/1][ 1000][1-0]
# 142> TYPE[ NONE][ 37/ 17/ 20/ 0][2/3/1][ 41040][0-0] std
# 142> DC_MEMBER[ NONE][ 40/ 20/ 22/ 0][2/3/1][ 100001040][0-0] ::
# 142> WORD[ NONE][ 42/ 22/ 36/ 0][2/3/1][ 1040][0-0] numeric_limits
# 142> ANGLE_OPEN[ TEMPLATE][ 56/ 36/ 37/ 0][2/3/1][ 100001040][0-0] <
# 142> TYPE[ NONE][ 57/ 37/ 44/ 0][2/4/1][ 41040][0-0] Integer
# 142> ANGLE_CLOSE[ TEMPLATE][ 64/ 44/ 45/ 0][2/3/1][ 100001040][0-0] >
# 142> DC_MEMBER[ NONE][ 65/ 45/ 47/ 0][2/3/1][ 100041040][0-0] ::
# 142> WORD[ NONE][ 67/ 47/ 56/ 0][2/3/1][ 1040][0-0] is_signed
# 142> COMMA[ NONE][ 76/ 56/ 57/ 0][2/3/1][ 100001040][0-0] ,
# 142> NEWLINE[ NONE][ 77/ 57/ 17/ 0][2/3/1][ 1000][1-0]
# 143> WORD[ NONE][ 37/ 17/ 34/ 0][2/3/1][ 41040][0-0] set_digits_signed
# 143> ANGLE_OPEN[ TEMPLATE][ 54/ 34/ 35/ 0][2/3/1][ 100001040][0-0] <
# 143> TYPE[ NONE][ 55/ 35/ 47/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 143> ANGLE_CLOSE[ TEMPLATE][ 67/ 47/ 48/ 0][2/3/1][ 100001040][0-0] >
# 143> COMMA[ NONE][ 68/ 48/ 49/ 0][2/3/1][ 100041040][0-0] ,
# 143> NEWLINE[ NONE][ 69/ 49/ 17/ 0][2/3/1][ 1000][1-0]
# 144> WORD[ NONE][ 37/ 17/ 36/ 0][2/3/1][ 41040][0-0] set_digits_unsigned
# 144> ANGLE_OPEN[ TEMPLATE][ 56/ 36/ 37/ 0][2/3/1][ 100001040][0-0] <
# 144> TYPE[ NONE][ 57/ 37/ 49/ 0][2/4/1][ 41040][0-0] MinNumDigits
# 144> ANGLE_CLOSE[ TEMPLATE][ 69/ 49/ 50/ 0][2/3/1][ 100001040][0-0] >
# 144> ANGLE_CLOSE[ TEMPLATE][ 70/ 50/ 51/ 0][2/2/1][ 100041040][0-0] >
# 144> NEWLINE[ NONE][ 71/ 51/ 0/ 0][2/2/1][ 1040][1-0]
# 144> DC_MEMBER[ NONE][ 25/ 51/ 53/ 0][2/2/1][ 100041000][0-0] ::
# 144> NEWLINE[ NONE][ 59/ 53/ 0/ 0][2/2/1][ 1000][1-0]
# 144> WORD[ NONE][ 25/ 53/ 57/ 0][2/2/1][ 1000][0-0] type
# 144> SEMICOLON[ NONE][ 29/ 57/ 58/ 0][2/2/1][ 100001000][0-0] ;
# 144> NEWLINE[ NONE][ 30/ 58/ 5/ 0][2/2/1][ 1000][1-0]
# 145> BRACE_CLOSE[ NAMESPACE][ 1/ 5/ 6/ 0][1/1/1][ 500001000][0-0] }
# 145> NEWLINE[ NONE][ 2/ 6/ 5/ 0][1/1/1][ 1000][2-0]
# 147> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 147> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 148> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 14/ 0][1/1/1][ 1000][0-0] // digits
# 148> NEWLINE[ NONE][ 10/ 14/ 5/ 0][1/1/1][ 1000][2-0]
# 150> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 150> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 150> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 150> WORD[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 150> COMMA[ NONE][ 17/ 21/ 22/ 0][1/2/1][ 100001040][0-0] ,
# 150> NEWLINE[ NONE][ 21/ 22/ 0/ 0][1/2/1][ 1040][1-0]
# 150> TYPE[ NONE][ 10/ 23/ 28/ 1][1/2/1][ 10051040][0-0] class
# 150> WORD[ NONE][ 16/ 29/ 35/ 1][1/2/1][ 10001040][0-0] Enable
# 150> ASSIGN[ NONE][ 22/ 36/ 37/ 1][1/2/1][ 100001040][0-0] =
# 150> TYPE[ NONE][ 23/ 38/ 42/ 1][1/2/1][ 41040][0-0] void
# 150> ANGLE_CLOSE[ TEMPLATE][ 27/ 42/ 43/ 0][1/1/1][ 100001040][0-0] >
# 150> NEWLINE[ NONE][ 28/ 43/ 5/ 0][1/1/1][ 801000][2-0]
# 151> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 151> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 151> TYPE[ STRUCT][ 1/ 12/ 18/ 1][1/1/1][ 1000][0-0] digits
# 151> NEWLINE[ NONE][ 7/ 18/ 0/ 0][1/1/1][ 1000][1-0]
# 151> CLASS_COLON[ STRUCT][ 9/ 19/ 20/ 1][1/1/1][ 100001800][0-0] :
# 151> NEWLINE[ NONE][ 19/ 20/ 0/ 0][1/1/1][ 1800][1-0]
# 151> TYPE[ NONE][ 9/ 21/ 24/ 1][1/1/1][ 61800][0-0] std
# 151> NEWLINE[ NONE][ 21/ 24/ 0/ 0][1/1/1][ 1800][1-0]
# 151> DC_MEMBER[ NONE][ 9/ 24/ 26/ 0][1/1/1][ 100001800][0-0] ::
# 151> NEWLINE[ NONE][ 24/ 26/ 0/ 0][1/1/1][ 1800][1-0]
# 151> WORD[ NONE][ 9/ 26/ 43/ 0][1/1/1][ 1801800][0-0] integral_constant
# 151> ANGLE_OPEN[ TEMPLATE][ 26/ 43/ 44/ 0][1/1/1][ 100001840][0-0] <
# 151> WORD[ NONE][ 27/ 44/ 56/ 0][1/2/1][ 41840][0-0] _digits_type
# 151> COMMA[ NONE][ 39/ 56/ 57/ 0][1/2/1][ 100001840][0-0] ,
# 151> NEWLINE[ NONE][ 56/ 57/ 0/ 0][1/2/1][ 1840][1-0]
# 151> TYPE[ NONE][ 27/ 58/ 61/ 1][1/2/1][ 41840][0-0] std
# 151> DC_MEMBER[ NONE][ 30/ 61/ 63/ 0][1/2/1][ 100001840][0-0] ::
# 151> WORD[ NONE][ 32/ 63/ 77/ 0][1/2/1][ 1840][0-0] numeric_limits
# 151> ANGLE_OPEN[ TEMPLATE][ 46/ 77/ 78/ 0][1/2/1][ 100001840][0-0] <
# 151> TYPE[ NONE][ 47/ 78/ 79/ 0][1/3/1][ 41840][0-0] T
# 151> ANGLE_CLOSE[ TEMPLATE][ 48/ 79/ 80/ 0][1/2/1][ 100001840][0-0] >
# 151> DC_MEMBER[ NONE][ 49/ 80/ 82/ 0][1/2/1][ 100041840][0-0] ::
# 151> TYPE[ NONE][ 51/ 82/ 88/ 0][1/2/1][ 1840][0-0] digits
# 151> ANGLE_CLOSE[ TEMPLATE][ 57/ 88/ 89/ 0][1/1/1][ 100001840][0-0] >
# 151> NEWLINE[ NONE][106/ 89/ 0/ 0][1/1/1][ 1840][1-0]
# 151> BRACE_OPEN[ STRUCT][ 9/ 90/ 91/ 1][1/1/1][ 140041000][0-0] {
# 151> NEWLINE[ NONE][ 10/ 91/ 5/ 0][2/2/1][ 1000][1-0]
# 152> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 140001400][0-0] }
# 152> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 152> NEWLINE[ NONE][ 11/ 7/ 1/ 0][1/1/1][ 801000][6-0]
# 154> PREPROC[ PP_IF][ 1/ 1/ 2/ 0][1/1/1][ 100080001][0-0] #
# 154> PP_IF[ NONE][ 2/ 2/ 4/ 0][1/1/2][ 1][0-0] if
# 154> PAREN_OPEN[ NONE][ 5/ 5/ 6/ 1][1/1/2][ 100040001][0-0] (
# 154> NL_CONT[ NONE][ 21/ 6/ 0/ 0][1/1/2][ 200001][1-0] \
# 154> WORD[ NONE][ 9/ 6/ 17/ 0][1/1/2][ 40001][0-0] __cplusplus
# 154> NL_CONT[ NONE][ 21/ 17/ 0/ 0][1/1/2][ 200001][1-0] \
# 154> COMPARE[ NONE][ 9/ 18/ 19/ 1][1/1/2][ 100000001][0-0] >
# 154> NL_CONT[ NONE][ 21/ 19/ 0/ 0][1/1/2][ 200001][1-0] \
# 154> NUMBER[ NONE][ 9/ 20/ 27/ 1][1/1/2][ 40001][0-0] 201402L
# 154> PAREN_CLOSE[ NONE][ 16/ 27/ 28/ 0][1/1/2][ 100000001][0-0] )
# 154> NEWLINE[ NONE][ 17/ 28/ 5/ 0][1/1/2][ 1000][1-0]
# 155> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/2][ 10061000][0-0] template
# 155> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/2][ 110001040][0-0] <
# 155> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/2][ 10051040][0-0] class
# 155> TYPE[ NONE][ 16/ 20/ 21/ 1][1/2/2][ 10001040][0-0] T
# 155> ANGLE_CLOSE[ TEMPLATE][ 17/ 21/ 22/ 0][1/1/2][ 110001040][0-0] >
# 155> NEWLINE[ NONE][ 18/ 22/ 5/ 0][1/1/2][ 801000][2-0]
# 156> QUALIFIER[ NONE][ 1/ 5/ 14/ 0][1/1/2][ 10051000][0-0] constexpr
# 156> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/2][ 1000][1-0]
# 156> TYPE[ NONE][ 1/ 15/ 27/ 1][1/1/2][ 10011000][0-0] _digits_type
# 156> NEWLINE[ NONE][ 13/ 27/ 0/ 0][1/1/2][ 1000][1-0]
# 156> WORD[ NONE][ 1/ 28/ 36/ 1][1/1/2][ 10001000][0-0] digits_v
# 156> NEWLINE[ NONE][ 20/ 36/ 0/ 0][1/1/2][ 1000][1-0]
# 156> ASSIGN[ NONE][ 9/ 37/ 38/ 1][1/1/2][ 100101000][0-0] =
# 156> NEWLINE[ NONE][ 37/ 38/ 0/ 0][1/1/2][ 1000][1-0]
# 156> WORD[ NONE][ 17/ 39/ 45/ 1][1/1/2][ 41000][0-0] digits
# 156> ANGLE_OPEN[ TEMPLATE][ 23/ 45/ 46/ 0][1/1/2][ 100001040][0-0] <
# 156> TYPE[ NONE][ 24/ 46/ 47/ 0][1/2/2][ 41040][0-0] T
# 156> ANGLE_CLOSE[ TEMPLATE][ 25/ 47/ 48/ 0][1/1/2][ 100001040][0-0] >
# 156> NEWLINE[ NONE][ 55/ 48/ 0/ 0][1/1/2][ 1040][1-0]
# 156> DC_MEMBER[ NONE][ 17/ 48/ 50/ 0][1/1/2][ 100041000][0-0] ::
# 156> NEWLINE[ NONE][ 56/ 50/ 0/ 0][1/1/2][ 1000][1-0]
# 156> WORD[ NONE][ 17/ 50/ 55/ 0][1/1/2][ 1000][0-0] value
# 156> SEMICOLON[ NONE][ 22/ 55/ 56/ 0][1/1/2][ 100001000][0-0] ;
# 156> NEWLINE[ NONE][ 23/ 56/ 1/ 0][1/1/2][ 801000][2-0]
# 157> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][1/1/1][ 100080001][0-0] #
# 157> NL_CONT[ NONE][ 3/ 2/ 0/ 0][1/1/1][ 200001][1-0] \
# 157> PP_ENDIF[ NONE][ 9/ 2/ 7/ 0][1/1/1][ 1][0-0] endif
# 157> NEWLINE[ NONE][ 14/ 7/ 5/ 0][1/1/1][ 1000][2-0]
# 159> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 159> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 160> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 33/ 0][1/1/1][ 1000][0-0] // set_digits / set_digits_t
# 160> NEWLINE[ NONE][ 29/ 33/ 5/ 0][1/1/1][ 1000][2-0]
# 162> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 162> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 162> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 162> WORD[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 162> COMMA[ NONE][ 17/ 21/ 22/ 0][1/2/1][ 100001040][0-0] ,
# 162> NEWLINE[ NONE][ 21/ 22/ 0/ 0][1/2/1][ 1040][1-0]
# 162> TYPE[ NONE][ 10/ 23/ 35/ 1][1/2/1][ 51040][0-0] _digits_type
# 162> WORD[ NONE][ 23/ 36/ 42/ 1][1/2/1][ 1040][0-0] Digits
# 162> COMMA[ NONE][ 29/ 42/ 43/ 0][1/2/1][ 100001040][0-0] ,
# 162> NEWLINE[ NONE][ 43/ 43/ 0/ 0][1/2/1][ 1040][1-0]
# 162> TYPE[ NONE][ 10/ 44/ 49/ 1][1/2/1][ 10051040][0-0] class
# 162> WORD[ NONE][ 16/ 50/ 56/ 1][1/2/1][ 10001040][0-0] Enable
# 162> ASSIGN[ NONE][ 22/ 57/ 58/ 1][1/2/1][ 100001040][0-0] =
# 162> TYPE[ NONE][ 23/ 59/ 63/ 1][1/2/1][ 41040][0-0] void
# 162> ANGLE_CLOSE[ TEMPLATE][ 27/ 63/ 64/ 0][1/1/1][ 100001040][0-0] >
# 162> NEWLINE[ NONE][ 28/ 64/ 5/ 0][1/1/1][ 801000][2-0]
# 163> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 163> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 163> TYPE[ STRUCT][ 1/ 12/ 22/ 1][1/1/1][ 1000][0-0] set_digits
# 163> SEMICOLON[ STRUCT][ 11/ 22/ 23/ 0][1/1/1][ 100001000][0-0] ;
# 163> NEWLINE[ NONE][ 12/ 23/ 5/ 0][1/1/1][ 801000][6-0]
# 165> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 165> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 165> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 165> WORD[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 165> COMMA[ NONE][ 17/ 21/ 22/ 0][1/2/1][ 100001040][0-0] ,
# 165> NEWLINE[ NONE][ 21/ 22/ 0/ 0][1/2/1][ 1040][1-0]
# 165> WORD[ NONE][ 10/ 23/ 35/ 1][1/2/1][ 51040][0-0] _digits_type
# 165> TYPE[ NONE][ 23/ 36/ 42/ 1][1/2/1][ 1040][0-0] Digits
# 165> ANGLE_CLOSE[ TEMPLATE][ 29/ 42/ 43/ 0][1/1/1][ 100001040][0-0] >
# 165> NEWLINE[ NONE][ 30/ 43/ 5/ 0][1/1/1][ 801000][2-0]
# 166> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 166> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 166> TYPE[ STRUCT][ 1/ 12/ 22/ 1][1/1/1][ 1000][0-0] set_digits
# 166> ANGLE_OPEN[ STRUCT][ 11/ 22/ 23/ 0][1/1/1][ 100001040][0-0] <
# 166> WORD[ NONE][ 12/ 23/ 24/ 0][1/2/1][ 41040][0-0] T
# 166> COMMA[ NONE][ 13/ 24/ 25/ 0][1/2/1][ 100001040][0-0] ,
# 166> NEWLINE[ NONE][ 16/ 25/ 0/ 0][1/2/1][ 1040][1-0]
# 166> WORD[ NONE][ 12/ 26/ 32/ 1][1/2/1][ 41040][0-0] Digits
# 166> COMMA[ NONE][ 18/ 32/ 33/ 0][1/2/1][ 100001040][0-0] ,
# 166> NEWLINE[ NONE][ 35/ 33/ 0/ 0][1/2/1][ 1040][1-0]
# 166> TYPE[ NONE][ 12/ 34/ 39/ 1][1/2/1][ 41040][0-0] _impl
# 166> DC_MEMBER[ NONE][ 17/ 39/ 41/ 0][1/2/1][ 100001040][0-0] ::
# 166> WORD[ NONE][ 19/ 41/ 52/ 0][1/2/1][ 1040][0-0] enable_if_t
# 166> ANGLE_OPEN[ TEMPLATE][ 30/ 52/ 53/ 0][1/2/1][ 100001040][0-0] <
# 166> TYPE[ NONE][ 31/ 53/ 56/ 0][1/3/1][ 41040][0-0] std
# 166> DC_MEMBER[ NONE][ 34/ 56/ 58/ 0][1/3/1][ 100001040][0-0] ::
# 166> WORD[ NONE][ 36/ 58/ 69/ 0][1/3/1][ 1040][0-0] is_integral
# 166> ANGLE_OPEN[ TEMPLATE][ 47/ 69/ 70/ 0][1/3/1][ 100001040][0-0] <
# 166> TYPE[ NONE][ 48/ 70/ 71/ 0][1/4/1][ 41040][0-0] T
# 166> ANGLE_CLOSE[ TEMPLATE][ 49/ 71/ 72/ 0][1/3/1][ 100001040][0-0] >
# 166> DC_MEMBER[ NONE][ 50/ 72/ 74/ 0][1/3/1][ 100041040][0-0] ::
# 166> TYPE[ NONE][ 52/ 74/ 79/ 0][1/3/1][ 1040][0-0] value
# 166> ANGLE_CLOSE[ TEMPLATE][ 57/ 79/ 80/ 0][1/2/1][ 100001040][0-0] >
# 166> ANGLE_CLOSE[ TEMPLATE][ 58/ 80/ 81/ 0][1/1/1][ 100041040][0-0] >
# 166> NEWLINE[ NONE][ 59/ 81/ 13/ 0][1/1/1][ 1000][1-0]
# 167> CLASS_COLON[ NONE][ 9/ 13/ 14/ 0][1/1/1][ 100041800][0-0] :
# 167> NEWLINE[ NONE][ 13/ 14/ 0/ 0][1/1/1][ 1800][1-0]
# 167> TYPE[ NONE][ 9/ 15/ 31/ 1][1/1/1][ 61800][0-0] _num_traits_impl
# 167> NEWLINE[ NONE][ 15/ 31/ 0/ 0][1/1/1][ 1800][1-0]
# 167> DC_MEMBER[ NONE][ 9/ 31/ 33/ 0][1/1/1][ 100001800][0-0] ::
# 167> NEWLINE[ NONE][ 31/ 33/ 0/ 0][1/1/1][ 1800][1-0]
# 167> WORD[ NONE][ 9/ 33/ 51/ 0][1/1/1][ 1801800][0-0] set_digits_integer
# 167> ANGLE_OPEN[ TEMPLATE][ 27/ 51/ 52/ 0][1/1/1][ 100001840][0-0] <
# 167> WORD[ NONE][ 28/ 52/ 53/ 0][1/2/1][ 41840][0-0] T
# 167> COMMA[ NONE][ 29/ 53/ 54/ 0][1/2/1][ 100001840][0-0] ,
# 167> NEWLINE[ NONE][ 53/ 54/ 0/ 0][1/2/1][ 1840][1-0]
# 167> TYPE[ NONE][ 28/ 55/ 61/ 1][1/2/1][ 41840][0-0] Digits
# 167> ANGLE_CLOSE[ TEMPLATE][ 34/ 61/ 62/ 0][1/1/1][ 100001840][0-0] >
# 167> NEWLINE[ NONE][ 80/ 62/ 0/ 0][1/1/1][ 1840][1-0]
# 167> BRACE_OPEN[ STRUCT][ 9/ 63/ 64/ 1][1/1/1][ 140041000][0-0] {
# 167> NEWLINE[ NONE][ 10/ 64/ 5/ 0][2/2/1][ 1000][1-0]
# 168> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 140001400][0-0] }
# 168> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 168> NEWLINE[ NONE][ 11/ 7/ 1/ 0][1/1/1][ 801000][6-0]
# 170> PREPROC[ PP_IF][ 1/ 1/ 2/ 0][1/1/1][ 100080001][0-0] #
# 170> PP_IF[ NONE][ 2/ 2/ 4/ 0][1/1/2][ 10001][0-0] if
# 170> NL_CONT[ NONE][ 18/ 4/ 0/ 0][1/1/2][ 200001][1-0] \
# 170> PP_DEFINED[ NONE][ 9/ 5/ 12/ 1][1/1/2][ 40001][0-0] defined
# 170> PAREN_OPEN[ NONE][ 16/ 12/ 13/ 0][1/1/2][ 100000001][0-0] (
# 170> NL_CONT[ NONE][ 18/ 13/ 0/ 0][1/1/2][ 200001][1-0] \
# 170> WORD[ NONE][ 17/ 13/ 31/ 0][1/1/2][ 40001][0-0] CNL_INT128_ENABLED
# 170> PAREN_CLOSE[ NONE][ 35/ 31/ 32/ 0][1/1/2][ 100000001][0-0] )
# 170> NEWLINE[ NONE][ 36/ 32/ 5/ 0][1/1/2][ 1000][1-0]
# 171> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/2][ 61000][0-0] template
# 171> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/2][ 100001040][0-0] <
# 171> WORD[ NONE][ 10/ 14/ 26/ 0][1/2/2][ 51040][0-0] _digits_type
# 171> TYPE[ NONE][ 23/ 27/ 33/ 1][1/2/2][ 1040][0-0] Digits
# 171> ANGLE_CLOSE[ TEMPLATE][ 29/ 33/ 34/ 0][1/1/2][ 100001040][0-0] >
# 171> NEWLINE[ NONE][ 30/ 34/ 5/ 0][1/1/2][ 801000][2-0]
# 172> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/2][ 51000][0-0] struct
# 172> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/2][ 1000][1-0]
# 172> TYPE[ STRUCT][ 1/ 12/ 22/ 1][1/1/2][ 1000][0-0] set_digits
# 172> ANGLE_OPEN[ STRUCT][ 11/ 22/ 23/ 0][1/1/2][ 100001040][0-0] <
# 172> WORD[ NONE][ 12/ 23/ 33/ 0][1/2/2][ 41040][0-0] CNL_INT128
# 172> COMMA[ NONE][ 22/ 33/ 34/ 0][1/2/2][ 100001040][0-0] ,
# 172> NEWLINE[ NONE][ 25/ 34/ 0/ 0][1/2/2][ 1040][1-0]
# 172> TYPE[ NONE][ 12/ 35/ 41/ 1][1/2/2][ 41040][0-0] Digits
# 172> ANGLE_CLOSE[ TEMPLATE][ 18/ 41/ 42/ 0][1/1/2][ 100001040][0-0] >
# 172> NEWLINE[ NONE][ 19/ 42/ 13/ 0][1/1/2][ 1000][1-0]
# 173> CLASS_COLON[ NONE][ 9/ 13/ 14/ 0][1/1/2][ 100041800][0-0] :
# 173> NEWLINE[ NONE][ 13/ 14/ 0/ 0][1/1/2][ 1800][1-0]
# 173> TYPE[ NONE][ 9/ 15/ 31/ 1][1/1/2][ 61800][0-0] _num_traits_impl
# 173> NEWLINE[ NONE][ 15/ 31/ 0/ 0][1/1/2][ 1800][1-0]
# 173> DC_MEMBER[ NONE][ 9/ 31/ 33/ 0][1/1/2][ 100001800][0-0] ::
# 173> NEWLINE[ NONE][ 31/ 33/ 0/ 0][1/1/2][ 1800][1-0]
# 173> WORD[ NONE][ 9/ 33/ 51/ 0][1/1/2][ 1801800][0-0] set_digits_integer
# 173> ANGLE_OPEN[ TEMPLATE][ 27/ 51/ 52/ 0][1/1/2][ 100001840][0-0] <
# 173> TYPE[ NONE][ 28/ 52/ 58/ 0][1/2/2][ 41840][0-0] signed
# 173> COMMA[ NONE][ 34/ 58/ 59/ 0][1/2/2][ 100001840][0-0] ,
# 173> NEWLINE[ NONE][ 58/ 59/ 0/ 0][1/2/2][ 1840][1-0]
# 173> TYPE[ NONE][ 28/ 60/ 66/ 1][1/2/2][ 41840][0-0] Digits
# 173> ANGLE_CLOSE[ TEMPLATE][ 34/ 66/ 67/ 0][1/1/2][ 100001840][0-0] >
# 173> NEWLINE[ NONE][ 85/ 67/ 0/ 0][1/1/2][ 1840][1-0]
# 173> BRACE_OPEN[ STRUCT][ 9/ 68/ 69/ 1][1/1/2][ 140041000][0-0] {
# 173> NEWLINE[ NONE][ 10/ 69/ 5/ 0][2/2/2][ 1000][1-0]
# 174> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/2][ 140001400][0-0] }
# 174> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/2][ 100001000][0-0] ;
# 174> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/2][ 801000][6-0]
# 176> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/2][ 61000][0-0] template
# 176> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/2][ 100001040][0-0] <
# 176> WORD[ NONE][ 10/ 14/ 26/ 0][1/2/2][ 51040][0-0] _digits_type
# 176> TYPE[ NONE][ 23/ 27/ 33/ 1][1/2/2][ 1040][0-0] Digits
# 176> ANGLE_CLOSE[ TEMPLATE][ 29/ 33/ 34/ 0][1/1/2][ 100001040][0-0] >
# 176> NEWLINE[ NONE][ 30/ 34/ 5/ 0][1/1/2][ 801000][2-0]
# 177> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/2][ 51000][0-0] struct
# 177> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/2][ 1000][1-0]
# 177> TYPE[ STRUCT][ 1/ 12/ 22/ 1][1/1/2][ 1000][0-0] set_digits
# 177> ANGLE_OPEN[ STRUCT][ 11/ 22/ 23/ 0][1/1/2][ 100001040][0-0] <
# 177> WORD[ NONE][ 12/ 23/ 34/ 0][1/2/2][ 41040][0-0] CNL_UINT128
# 177> COMMA[ NONE][ 23/ 34/ 35/ 0][1/2/2][ 100001040][0-0] ,
# 177> NEWLINE[ NONE][ 26/ 35/ 0/ 0][1/2/2][ 1040][1-0]
# 177> TYPE[ NONE][ 12/ 36/ 42/ 1][1/2/2][ 41040][0-0] Digits
# 177> ANGLE_CLOSE[ TEMPLATE][ 18/ 42/ 43/ 0][1/1/2][ 100001040][0-0] >
# 177> NEWLINE[ NONE][ 19/ 43/ 13/ 0][1/1/2][ 1000][1-0]
# 178> CLASS_COLON[ NONE][ 9/ 13/ 14/ 0][1/1/2][ 100041800][0-0] :
# 178> NEWLINE[ NONE][ 13/ 14/ 0/ 0][1/1/2][ 1800][1-0]
# 178> TYPE[ NONE][ 9/ 15/ 31/ 1][1/1/2][ 61800][0-0] _num_traits_impl
# 178> NEWLINE[ NONE][ 15/ 31/ 0/ 0][1/1/2][ 1800][1-0]
# 178> DC_MEMBER[ NONE][ 9/ 31/ 33/ 0][1/1/2][ 100001800][0-0] ::
# 178> NEWLINE[ NONE][ 31/ 33/ 0/ 0][1/1/2][ 1800][1-0]
# 178> WORD[ NONE][ 9/ 33/ 51/ 0][1/1/2][ 1801800][0-0] set_digits_integer
# 178> ANGLE_OPEN[ TEMPLATE][ 27/ 51/ 52/ 0][1/1/2][ 100001840][0-0] <
# 178> TYPE[ NONE][ 28/ 52/ 60/ 0][1/2/2][ 41840][0-0] unsigned
# 178> COMMA[ NONE][ 36/ 60/ 61/ 0][1/2/2][ 100001840][0-0] ,
# 178> NEWLINE[ NONE][ 60/ 61/ 0/ 0][1/2/2][ 1840][1-0]
# 178> TYPE[ NONE][ 28/ 62/ 68/ 1][1/2/2][ 41840][0-0] Digits
# 178> ANGLE_CLOSE[ TEMPLATE][ 34/ 68/ 69/ 0][1/1/2][ 100001840][0-0] >
# 178> NEWLINE[ NONE][ 87/ 69/ 0/ 0][1/1/2][ 1840][1-0]
# 178> BRACE_OPEN[ STRUCT][ 9/ 70/ 71/ 1][1/1/2][ 140041000][0-0] {
# 178> NEWLINE[ NONE][ 10/ 71/ 5/ 0][2/2/2][ 1000][1-0]
# 179> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/2][ 140001400][0-0] }
# 179> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/2][ 100001000][0-0] ;
# 179> NEWLINE[ NONE][ 11/ 7/ 1/ 0][1/1/2][ 801000][6-0]
# 180> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][1/1/1][ 100080001][0-0] #
# 180> NL_CONT[ NONE][ 3/ 2/ 0/ 0][1/1/1][ 200001][1-0] \
# 180> PP_ENDIF[ NONE][ 9/ 2/ 7/ 0][1/1/1][ 1][0-0] endif
# 180> NEWLINE[ NONE][ 14/ 7/ 5/ 0][1/1/1][ 1000][2-0]
# 182> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 182> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 182> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 182> WORD[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 182> COMMA[ NONE][ 17/ 21/ 22/ 0][1/2/1][ 100001040][0-0] ,
# 182> NEWLINE[ NONE][ 21/ 22/ 0/ 0][1/2/1][ 1040][1-0]
# 182> WORD[ NONE][ 10/ 23/ 35/ 1][1/2/1][ 10051040][0-0] _digits_type
# 182> TYPE[ NONE][ 23/ 36/ 42/ 1][1/2/1][ 10001040][0-0] Digits
# 182> ANGLE_CLOSE[ TEMPLATE][ 29/ 42/ 43/ 0][1/1/1][ 110001040][0-0] >
# 182> NEWLINE[ NONE][ 30/ 43/ 5/ 0][1/1/1][ 1000][1-0]
# 183> USING[ NONE][ 1/ 5/ 10/ 0][1/1/1][ 10051000][0-0] using
# 183> NEWLINE[ NONE][ 5/ 10/ 0/ 0][1/1/1][ 1000][1-0]
# 183> WORD[ NONE][ 9/ 11/ 23/ 1][1/1/1][ 10001000][0-0] set_digits_t
# 183> NEWLINE[ NONE][ 11/ 23/ 0/ 0][1/1/1][ 1000][1-0]
# 183> ASSIGN[ NONE][ 17/ 24/ 25/ 1][1/1/1][ 100101000][0-0] =
# 183> NEWLINE[ NONE][ 32/ 25/ 0/ 0][1/1/1][ 1000][1-0]
# 183> TYPENAME[ NONE][ 25/ 26/ 34/ 1][1/1/1][ 51000][0-0] typename
# 183> NEWLINE[ NONE][ 42/ 34/ 0/ 0][1/1/1][ 1000][1-0]
# 183> WORD[ NONE][ 25/ 35/ 45/ 1][1/1/1][ 1000][0-0] set_digits
# 183> ANGLE_OPEN[ TEMPLATE][ 35/ 45/ 46/ 0][1/1/1][ 100001040][0-0] <
# 183> WORD[ NONE][ 36/ 46/ 47/ 0][1/2/1][ 41040][0-0] T
# 183> COMMA[ NONE][ 37/ 47/ 48/ 0][1/2/1][ 100001040][0-0] ,
# 183> NEWLINE[ NONE][ 63/ 48/ 0/ 0][1/2/1][ 1040][1-0]
# 183> TYPE[ NONE][ 36/ 49/ 55/ 1][1/2/1][ 41040][0-0] Digits
# 183> ANGLE_CLOSE[ TEMPLATE][ 42/ 55/ 56/ 0][1/1/1][ 100001040][0-0] >
# 183> NEWLINE[ NONE][ 82/ 56/ 0/ 0][1/1/1][ 801040][2-0]
# 183> DC_MEMBER[ NONE][ 25/ 56/ 58/ 0][1/1/1][ 100041000][0-0] ::
# 183> NEWLINE[ NONE][ 72/ 58/ 0/ 0][1/1/1][ 1000][1-0]
# 183> WORD[ NONE][ 25/ 58/ 62/ 0][1/1/1][ 1000][0-0] type
# 183> SEMICOLON[ NONE][ 29/ 62/ 63/ 0][1/1/1][ 100001000][0-0] ;
# 183> NEWLINE[ NONE][ 30/ 63/ 5/ 0][1/1/1][ 801000][2-0]
# 185> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 185> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 186> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 24/ 0][1/1/1][ 1000][0-0] // cnl::is_unsigned
# 186> NEWLINE[ NONE][ 20/ 24/ 5/ 0][1/1/1][ 1000][2-0]
# 188> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 188> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 188> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 188> TYPE[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 188> ANGLE_CLOSE[ TEMPLATE][ 17/ 21/ 22/ 0][1/1/1][ 100001040][0-0] >
# 188> NEWLINE[ NONE][ 18/ 22/ 5/ 0][1/1/1][ 801000][2-0]
# 189> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 189> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 189> TYPE[ STRUCT][ 1/ 12/ 21/ 1][1/1/1][ 1000][0-0] is_signed
# 189> NEWLINE[ NONE][ 10/ 21/ 0/ 0][1/1/1][ 1000][1-0]
# 189> CLASS_COLON[ STRUCT][ 9/ 22/ 23/ 1][1/1/1][ 100001800][0-0] :
# 189> NEWLINE[ NONE][ 22/ 23/ 0/ 0][1/1/1][ 1800][1-0]
# 189> TYPE[ NONE][ 9/ 24/ 27/ 1][1/1/1][ 61800][0-0] std
# 189> NEWLINE[ NONE][ 24/ 27/ 0/ 0][1/1/1][ 1800][1-0]
# 189> DC_MEMBER[ NONE][ 9/ 27/ 29/ 0][1/1/1][ 100001800][0-0] ::
# 189> NEWLINE[ NONE][ 27/ 29/ 0/ 0][1/1/1][ 1800][1-0]
# 189> WORD[ NONE][ 9/ 29/ 46/ 0][1/1/1][ 1801800][0-0] integral_constant
# 189> ANGLE_OPEN[ TEMPLATE][ 26/ 46/ 47/ 0][1/1/1][ 100001840][0-0] <
# 189> TYPE[ NONE][ 27/ 47/ 51/ 0][1/2/1][ 41840][0-0] bool
# 189> COMMA[ NONE][ 31/ 51/ 52/ 0][1/2/1][ 100001840][0-0] ,
# 189> NEWLINE[ NONE][ 51/ 52/ 0/ 0][1/2/1][ 1840][1-0]
# 189> TYPE[ NONE][ 27/ 53/ 56/ 1][1/2/1][ 41840][0-0] std
# 189> DC_MEMBER[ NONE][ 30/ 56/ 58/ 0][1/2/1][ 100001840][0-0] ::
# 189> WORD[ NONE][ 32/ 58/ 72/ 0][1/2/1][ 1840][0-0] numeric_limits
# 189> ANGLE_OPEN[ TEMPLATE][ 46/ 72/ 73/ 0][1/2/1][ 100001840][0-0] <
# 189> TYPE[ NONE][ 47/ 73/ 74/ 0][1/3/1][ 41840][0-0] T
# 189> ANGLE_CLOSE[ TEMPLATE][ 48/ 74/ 75/ 0][1/2/1][ 100001840][0-0] >
# 189> DC_MEMBER[ NONE][ 49/ 75/ 77/ 0][1/2/1][ 100041840][0-0] ::
# 189> TYPE[ NONE][ 51/ 77/ 86/ 0][1/2/1][ 1840][0-0] is_signed
# 189> ANGLE_CLOSE[ TEMPLATE][ 60/ 86/ 87/ 0][1/1/1][ 100001840][0-0] >
# 189> NEWLINE[ NONE][104/ 87/ 0/ 0][1/1/1][ 1840][1-0]
# 189> BRACE_OPEN[ STRUCT][ 9/ 88/ 89/ 1][1/1/1][ 140041000][0-0] {
# 189> NEWLINE[ NONE][ 10/ 89/ 5/ 0][2/2/1][ 1000][1-0]
# 190> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 140001400][0-0] }
# 190> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 190> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/1][ 801000][6-0]
# 192> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 192> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 193> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 24/ 0][1/1/1][ 1000][0-0] // cnl::make_signed
# 193> NEWLINE[ NONE][ 20/ 24/ 5/ 0][1/1/1][ 1000][2-0]
# 195> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 195> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 195> WORD[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 41040][0-0] class
# 195> COMMA[ NONE][ 15/ 19/ 20/ 0][1/2/1][ 100001040][0-0] ,
# 195> NEWLINE[ NONE][ 19/ 20/ 0/ 0][1/2/1][ 1040][1-0]
# 195> WORD[ NONE][ 10/ 21/ 26/ 1][1/2/1][ 10041040][0-0] class
# 195> ASSIGN[ NONE][ 15/ 27/ 28/ 1][1/2/1][ 100001040][0-0] =
# 195> TYPE[ NONE][ 16/ 29/ 33/ 1][1/2/1][ 41040][0-0] void
# 195> ANGLE_CLOSE[ TEMPLATE][ 20/ 33/ 34/ 0][1/1/1][ 100001040][0-0] >
# 195> NEWLINE[ NONE][ 21/ 34/ 5/ 0][1/1/1][ 801000][2-0]
# 196> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 196> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 196> TYPE[ STRUCT][ 1/ 12/ 23/ 1][1/1/1][ 1000][0-0] make_signed
# 196> SEMICOLON[ STRUCT][ 12/ 23/ 24/ 0][1/1/1][ 100001000][0-0] ;
# 196> NEWLINE[ NONE][ 13/ 24/ 5/ 0][1/1/1][ 801000][6-0]
# 198> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 198> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 198> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 198> TYPE[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 198> ANGLE_CLOSE[ TEMPLATE][ 17/ 21/ 22/ 0][1/1/1][ 100001040][0-0] >
# 198> NEWLINE[ NONE][ 18/ 22/ 5/ 0][1/1/1][ 801000][2-0]
# 199> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 199> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 199> TYPE[ STRUCT][ 1/ 12/ 23/ 1][1/1/1][ 1000][0-0] make_signed
# 199> ANGLE_OPEN[ STRUCT][ 12/ 23/ 24/ 0][1/1/1][ 100001040][0-0] <
# 199> WORD[ NONE][ 13/ 24/ 25/ 0][1/2/1][ 41040][0-0] T
# 199> COMMA[ NONE][ 14/ 25/ 26/ 0][1/2/1][ 100001040][0-0] ,
# 199> NEWLINE[ NONE][ 17/ 26/ 0/ 0][1/2/1][ 1040][1-0]
# 199> TYPE[ NONE][ 13/ 27/ 32/ 1][1/2/1][ 41040][0-0] _impl
# 199> DC_MEMBER[ NONE][ 18/ 32/ 34/ 0][1/2/1][ 100001040][0-0] ::
# 199> WORD[ NONE][ 20/ 34/ 45/ 0][1/2/1][ 1040][0-0] enable_if_t
# 199> ANGLE_OPEN[ TEMPLATE][ 31/ 45/ 46/ 0][1/2/1][ 100001040][0-0] <
# 199> TYPE[ NONE][ 32/ 46/ 49/ 0][1/3/1][ 41040][0-0] std
# 199> DC_MEMBER[ NONE][ 35/ 49/ 51/ 0][1/3/1][ 100001040][0-0] ::
# 199> WORD[ NONE][ 37/ 51/ 62/ 0][1/3/1][ 1040][0-0] is_integral
# 199> ANGLE_OPEN[ TEMPLATE][ 48/ 62/ 63/ 0][1/3/1][ 100001040][0-0] <
# 199> TYPE[ NONE][ 49/ 63/ 64/ 0][1/4/1][ 41040][0-0] T
# 199> ANGLE_CLOSE[ TEMPLATE][ 50/ 64/ 65/ 0][1/3/1][ 100001040][0-0] >
# 199> DC_MEMBER[ NONE][ 51/ 65/ 67/ 0][1/3/1][ 100041040][0-0] ::
# 199> TYPE[ NONE][ 53/ 67/ 72/ 0][1/3/1][ 1040][0-0] value
# 199> ANGLE_CLOSE[ TEMPLATE][ 58/ 72/ 73/ 0][1/2/1][ 100001040][0-0] >
# 199> ANGLE_CLOSE[ TEMPLATE][ 59/ 73/ 74/ 0][1/1/1][ 100041040][0-0] >
# 199> NEWLINE[ NONE][ 77/ 74/ 0/ 0][1/1/1][ 1040][1-0]
# 199> CLASS_COLON[ NONE][ 9/ 75/ 76/ 1][1/1/1][ 100041800][0-0] :
# 199> NEWLINE[ NONE][ 75/ 76/ 0/ 0][1/1/1][ 1800][1-0]
# 199> TYPE[ NONE][ 9/ 77/ 80/ 1][1/1/1][ 61800][0-0] std
# 199> NEWLINE[ NONE][ 77/ 80/ 0/ 0][1/1/1][ 1800][1-0]
# 199> DC_MEMBER[ NONE][ 9/ 80/ 82/ 0][1/1/1][ 100001800][0-0] ::
# 199> NEWLINE[ NONE][ 80/ 82/ 0/ 0][1/1/1][ 1800][1-0]
# 199> WORD[ NONE][ 9/ 82/ 93/ 0][1/1/1][ 1801800][0-0] make_signed
# 199> ANGLE_OPEN[ TEMPLATE][ 20/ 93/ 94/ 0][1/1/1][ 100001840][0-0] <
# 199> TYPE[ NONE][ 21/ 94/ 95/ 0][1/2/1][ 41840][0-0] T
# 199> ANGLE_CLOSE[ TEMPLATE][ 22/ 95/ 96/ 0][1/1/1][ 100001840][0-0] >
# 199> NEWLINE[ NONE][ 95/ 96/ 0/ 0][1/1/1][ 1840][1-0]
# 199> BRACE_OPEN[ STRUCT][ 9/ 97/ 98/ 1][1/1/1][ 140041000][0-0] {
# 199> NEWLINE[ NONE][ 10/ 98/ 5/ 0][2/2/1][ 1000][1-0]
# 200> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 140001400][0-0] }
# 200> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 200> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/1][ 801000][6-0]
# 202> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 10061000][0-0] template
# 202> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 110001040][0-0] <
# 202> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 10051040][0-0] class
# 202> TYPE[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 10001040][0-0] T
# 202> ANGLE_CLOSE[ TEMPLATE][ 17/ 21/ 22/ 0][1/1/1][ 110001040][0-0] >
# 202> NEWLINE[ NONE][ 18/ 22/ 5/ 0][1/1/1][ 1000][1-0]
# 203> USING[ NONE][ 1/ 5/ 10/ 0][1/1/1][ 10051000][0-0] using
# 203> NEWLINE[ NONE][ 5/ 10/ 0/ 0][1/1/1][ 1000][1-0]
# 203> WORD[ NONE][ 9/ 11/ 24/ 1][1/1/1][ 10001000][0-0] make_signed_t
# 203> NEWLINE[ NONE][ 11/ 24/ 0/ 0][1/1/1][ 1000][1-0]
# 203> ASSIGN[ NONE][ 17/ 25/ 26/ 1][1/1/1][ 100101000][0-0] =
# 203> NEWLINE[ NONE][ 33/ 26/ 0/ 0][1/1/1][ 1000][1-0]
# 203> TYPENAME[ NONE][ 25/ 27/ 35/ 1][1/1/1][ 51000][0-0] typename
# 203> NEWLINE[ NONE][ 43/ 35/ 0/ 0][1/1/1][ 1000][1-0]
# 203> WORD[ NONE][ 25/ 36/ 47/ 1][1/1/1][ 1000][0-0] make_signed
# 203> ANGLE_OPEN[ TEMPLATE][ 36/ 47/ 48/ 0][1/1/1][ 100001040][0-0] <
# 203> TYPE[ NONE][ 37/ 48/ 49/ 0][1/2/1][ 41040][0-0] T
# 203> ANGLE_CLOSE[ TEMPLATE][ 38/ 49/ 50/ 0][1/1/1][ 100001040][0-0] >
# 203> NEWLINE[ NONE][ 65/ 50/ 0/ 0][1/1/1][ 801040][2-0]
# 203> DC_MEMBER[ NONE][ 25/ 50/ 52/ 0][1/1/1][ 100041000][0-0] ::
# 203> NEWLINE[ NONE][ 66/ 52/ 0/ 0][1/1/1][ 1000][1-0]
# 203> WORD[ NONE][ 25/ 52/ 56/ 0][1/1/1][ 1000][0-0] type
# 203> SEMICOLON[ NONE][ 29/ 56/ 57/ 0][1/1/1][ 100001000][0-0] ;
# 203> NEWLINE[ NONE][ 30/ 57/ 5/ 0][1/1/1][ 801000][2-0]
# 205> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 205> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 206> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 26/ 0][1/1/1][ 1000][0-0] // cnl::make_unsigned
# 206> NEWLINE[ NONE][ 22/ 26/ 5/ 0][1/1/1][ 1000][2-0]
# 208> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 208> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 208> WORD[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 41040][0-0] class
# 208> COMMA[ NONE][ 15/ 19/ 20/ 0][1/2/1][ 100001040][0-0] ,
# 208> NEWLINE[ NONE][ 19/ 20/ 0/ 0][1/2/1][ 1040][1-0]
# 208> WORD[ NONE][ 10/ 21/ 26/ 1][1/2/1][ 10041040][0-0] class
# 208> ASSIGN[ NONE][ 15/ 27/ 28/ 1][1/2/1][ 100001040][0-0] =
# 208> TYPE[ NONE][ 16/ 29/ 33/ 1][1/2/1][ 41040][0-0] void
# 208> ANGLE_CLOSE[ TEMPLATE][ 20/ 33/ 34/ 0][1/1/1][ 100001040][0-0] >
# 208> NEWLINE[ NONE][ 21/ 34/ 5/ 0][1/1/1][ 801000][2-0]
# 209> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 209> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 209> TYPE[ STRUCT][ 1/ 12/ 25/ 1][1/1/1][ 1000][0-0] make_unsigned
# 209> SEMICOLON[ STRUCT][ 14/ 25/ 26/ 0][1/1/1][ 100001000][0-0] ;
# 209> NEWLINE[ NONE][ 15/ 26/ 5/ 0][1/1/1][ 801000][6-0]
# 211> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 211> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 211> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 211> TYPE[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 211> ANGLE_CLOSE[ TEMPLATE][ 17/ 21/ 22/ 0][1/1/1][ 100001040][0-0] >
# 211> NEWLINE[ NONE][ 18/ 22/ 5/ 0][1/1/1][ 801000][2-0]
# 212> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 212> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 212> TYPE[ STRUCT][ 1/ 12/ 25/ 1][1/1/1][ 1000][0-0] make_unsigned
# 212> ANGLE_OPEN[ STRUCT][ 14/ 25/ 26/ 0][1/1/1][ 100001040][0-0] <
# 212> WORD[ NONE][ 15/ 26/ 27/ 0][1/2/1][ 41040][0-0] T
# 212> COMMA[ NONE][ 16/ 27/ 28/ 0][1/2/1][ 100001040][0-0] ,
# 212> NEWLINE[ NONE][ 19/ 28/ 0/ 0][1/2/1][ 1040][1-0]
# 212> TYPE[ NONE][ 15/ 29/ 34/ 1][1/2/1][ 41040][0-0] _impl
# 212> DC_MEMBER[ NONE][ 20/ 34/ 36/ 0][1/2/1][ 100001040][0-0] ::
# 212> WORD[ NONE][ 22/ 36/ 47/ 0][1/2/1][ 1040][0-0] enable_if_t
# 212> ANGLE_OPEN[ TEMPLATE][ 33/ 47/ 48/ 0][1/2/1][ 100001040][0-0] <
# 212> TYPE[ NONE][ 34/ 48/ 51/ 0][1/3/1][ 41040][0-0] std
# 212> DC_MEMBER[ NONE][ 37/ 51/ 53/ 0][1/3/1][ 100001040][0-0] ::
# 212> WORD[ NONE][ 39/ 53/ 64/ 0][1/3/1][ 1040][0-0] is_integral
# 212> ANGLE_OPEN[ TEMPLATE][ 50/ 64/ 65/ 0][1/3/1][ 100001040][0-0] <
# 212> TYPE[ NONE][ 51/ 65/ 66/ 0][1/4/1][ 41040][0-0] T
# 212> ANGLE_CLOSE[ TEMPLATE][ 52/ 66/ 67/ 0][1/3/1][ 100001040][0-0] >
# 212> DC_MEMBER[ NONE][ 53/ 67/ 69/ 0][1/3/1][ 100041040][0-0] ::
# 212> TYPE[ NONE][ 55/ 69/ 74/ 0][1/3/1][ 1040][0-0] value
# 212> ANGLE_CLOSE[ TEMPLATE][ 60/ 74/ 75/ 0][1/2/1][ 100001040][0-0] >
# 212> ANGLE_CLOSE[ TEMPLATE][ 61/ 75/ 76/ 0][1/1/1][ 100041040][0-0] >
# 212> NEWLINE[ NONE][ 81/ 76/ 0/ 0][1/1/1][ 1040][1-0]
# 212> CLASS_COLON[ NONE][ 9/ 77/ 78/ 1][1/1/1][ 100041800][0-0] :
# 212> NEWLINE[ NONE][ 77/ 78/ 0/ 0][1/1/1][ 1800][1-0]
# 212> TYPE[ NONE][ 9/ 79/ 82/ 1][1/1/1][ 61800][0-0] std
# 212> NEWLINE[ NONE][ 79/ 82/ 0/ 0][1/1/1][ 1800][1-0]
# 212> DC_MEMBER[ NONE][ 9/ 82/ 84/ 0][1/1/1][ 100001800][0-0] ::
# 212> NEWLINE[ NONE][ 82/ 84/ 0/ 0][1/1/1][ 1800][1-0]
# 212> WORD[ NONE][ 9/ 84/ 97/ 0][1/1/1][ 1801800][0-0] make_unsigned
# 212> ANGLE_OPEN[ TEMPLATE][ 22/ 97/ 98/ 0][1/1/1][ 100001840][0-0] <
# 212> TYPE[ NONE][ 23/ 98/ 99/ 0][1/2/1][ 41840][0-0] T
# 212> ANGLE_CLOSE[ TEMPLATE][ 24/ 99/100/ 0][1/1/1][ 100001840][0-0] >
# 212> NEWLINE[ NONE][ 99/100/ 0/ 0][1/1/1][ 1840][1-0]
# 212> BRACE_OPEN[ STRUCT][ 9/101/102/ 1][1/1/1][ 140041000][0-0] {
# 212> NEWLINE[ NONE][ 10/102/ 5/ 0][2/2/1][ 1000][1-0]
# 213> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 140001400][0-0] }
# 213> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 213> NEWLINE[ NONE][ 11/ 7/ 1/ 0][1/1/1][ 801000][6-0]
# 215> PREPROC[ PP_IF][ 1/ 1/ 2/ 0][1/1/1][ 100080001][0-0] #
# 215> PP_IF[ NONE][ 2/ 2/ 4/ 0][1/1/2][ 10001][0-0] if
# 215> NL_CONT[ NONE][ 18/ 4/ 0/ 0][1/1/2][ 200001][1-0] \
# 215> PP_DEFINED[ NONE][ 9/ 5/ 12/ 1][1/1/2][ 40001][0-0] defined
# 215> PAREN_OPEN[ NONE][ 16/ 12/ 13/ 0][1/1/2][ 100000001][0-0] (
# 215> NL_CONT[ NONE][ 18/ 13/ 0/ 0][1/1/2][ 200001][1-0] \
# 215> WORD[ NONE][ 17/ 13/ 31/ 0][1/1/2][ 40001][0-0] CNL_INT128_ENABLED
# 215> PAREN_CLOSE[ NONE][ 35/ 31/ 32/ 0][1/1/2][ 100000001][0-0] )
# 215> NEWLINE[ NONE][ 36/ 32/ 5/ 0][1/1/2][ 1000][1-0]
# 216> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 30/ 0][1/1/2][ 1000][0-0] // TODO: cnl::is_integral
# 216> NEWLINE[ NONE][ 26/ 30/ 5/ 0][1/1/2][ 1000][1-0]
# 217> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/2][ 61000][0-0] template
# 217> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/2][ 100001040][0-0] <
# 217> ANGLE_CLOSE[ TEMPLATE][ 10/ 14/ 15/ 0][1/1/2][ 100041040][0-0] >
# 217> NEWLINE[ NONE][ 11/ 15/ 5/ 0][1/1/2][ 801000][2-0]
# 218> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/2][ 51000][0-0] struct
# 218> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/2][ 1000][1-0]
# 218> TYPE[ STRUCT][ 1/ 12/ 25/ 1][1/1/2][ 1000][0-0] make_unsigned
# 218> ANGLE_OPEN[ STRUCT][ 14/ 25/ 26/ 0][1/1/2][ 100001040][0-0] <
# 218> TYPE[ NONE][ 15/ 26/ 36/ 0][1/2/2][ 41040][0-0] CNL_INT128
# 218> ANGLE_CLOSE[ TEMPLATE][ 25/ 36/ 37/ 0][1/1/2][ 100001040][0-0] >
# 218> NEWLINE[ NONE][ 28/ 37/ 0/ 0][1/1/2][ 1040][1-0]
# 218> BRACE_OPEN[ STRUCT][ 9/ 38/ 39/ 1][1/1/2][ 100041000][0-0] {
# 218> NEWLINE[ NONE][ 10/ 39/ 9/ 0][2/2/2][ 1000][1-0]
# 219> USING[ NONE][ 9/ 9/ 14/ 0][2/2/2][ 10071400][0-0] using
# 219> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/2][ 1400][1-0]
# 219> WORD[ NONE][ 17/ 15/ 19/ 1][2/2/2][ 10001400][0-0] type
# 219> NEWLINE[ NONE][ 15/ 19/ 0/ 0][2/2/2][ 1400][1-0]
# 219> ASSIGN[ NONE][ 25/ 20/ 21/ 1][2/2/2][ 100101400][0-0] =
# 219> NEWLINE[ NONE][ 28/ 21/ 0/ 0][2/2/2][ 1400][1-0]
# 219> WORD[ NONE][ 33/ 22/ 33/ 1][2/2/2][ 41400][0-0] CNL_UINT128
# 219> SEMICOLON[ NONE][ 44/ 33/ 34/ 0][2/2/2][ 100001400][0-0] ;
# 219> NEWLINE[ NONE][ 45/ 34/ 5/ 0][2/2/2][ 1000][1-0]
# 220> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/2][ 100001400][0-0] }
# 220> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/2][ 100001000][0-0] ;
# 220> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/2][ 801000][6-0]
# 221> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/2][ 61000][0-0] template
# 221> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/2][ 100001040][0-0] <
# 221> ANGLE_CLOSE[ TEMPLATE][ 10/ 14/ 15/ 0][1/1/2][ 100041040][0-0] >
# 221> NEWLINE[ NONE][ 11/ 15/ 5/ 0][1/1/2][ 801000][2-0]
# 222> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/2][ 51000][0-0] struct
# 222> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/2][ 1000][1-0]
# 222> TYPE[ STRUCT][ 1/ 12/ 25/ 1][1/1/2][ 1000][0-0] make_unsigned
# 222> ANGLE_OPEN[ STRUCT][ 14/ 25/ 26/ 0][1/1/2][ 100001040][0-0] <
# 222> TYPE[ NONE][ 15/ 26/ 37/ 0][1/2/2][ 41040][0-0] CNL_UINT128
# 222> ANGLE_CLOSE[ TEMPLATE][ 26/ 37/ 38/ 0][1/1/2][ 100001040][0-0] >
# 222> NEWLINE[ NONE][ 29/ 38/ 0/ 0][1/1/2][ 1040][1-0]
# 222> BRACE_OPEN[ STRUCT][ 9/ 39/ 40/ 1][1/1/2][ 100041000][0-0] {
# 222> NEWLINE[ NONE][ 10/ 40/ 9/ 0][2/2/2][ 1000][1-0]
# 223> USING[ NONE][ 9/ 9/ 14/ 0][2/2/2][ 10071400][0-0] using
# 223> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/2][ 1400][1-0]
# 223> WORD[ NONE][ 17/ 15/ 19/ 1][2/2/2][ 10001400][0-0] type
# 223> NEWLINE[ NONE][ 15/ 19/ 0/ 0][2/2/2][ 1400][1-0]
# 223> ASSIGN[ NONE][ 25/ 20/ 21/ 1][2/2/2][ 100101400][0-0] =
# 223> NEWLINE[ NONE][ 28/ 21/ 0/ 0][2/2/2][ 1400][1-0]
# 223> WORD[ NONE][ 33/ 22/ 33/ 1][2/2/2][ 41400][0-0] CNL_UINT128
# 223> SEMICOLON[ NONE][ 44/ 33/ 34/ 0][2/2/2][ 100001400][0-0] ;
# 223> NEWLINE[ NONE][ 45/ 34/ 5/ 0][2/2/2][ 1000][1-0]
# 224> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/2][ 100001400][0-0] }
# 224> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/2][ 100001000][0-0] ;
# 224> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/2][ 801000][6-0]
# 226> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/2][ 61000][0-0] template
# 226> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/2][ 100001040][0-0] <
# 226> ANGLE_CLOSE[ TEMPLATE][ 10/ 14/ 15/ 0][1/1/2][ 100041040][0-0] >
# 226> NEWLINE[ NONE][ 11/ 15/ 5/ 0][1/1/2][ 801000][2-0]
# 227> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/2][ 51000][0-0] struct
# 227> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/2][ 1000][1-0]
# 227> TYPE[ STRUCT][ 1/ 12/ 23/ 1][1/1/2][ 1000][0-0] make_signed
# 227> ANGLE_OPEN[ STRUCT][ 12/ 23/ 24/ 0][1/1/2][ 100001040][0-0] <
# 227> TYPE[ NONE][ 13/ 24/ 34/ 0][1/2/2][ 41040][0-0] CNL_INT128
# 227> ANGLE_CLOSE[ TEMPLATE][ 23/ 34/ 35/ 0][1/1/2][ 100001040][0-0] >
# 227> NEWLINE[ NONE][ 26/ 35/ 0/ 0][1/1/2][ 1040][1-0]
# 227> BRACE_OPEN[ STRUCT][ 9/ 36/ 37/ 1][1/1/2][ 100041000][0-0] {
# 227> NEWLINE[ NONE][ 10/ 37/ 9/ 0][2/2/2][ 1000][1-0]
# 228> USING[ NONE][ 9/ 9/ 14/ 0][2/2/2][ 10071400][0-0] using
# 228> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/2][ 1400][1-0]
# 228> WORD[ NONE][ 17/ 15/ 19/ 1][2/2/2][ 10001400][0-0] type
# 228> NEWLINE[ NONE][ 15/ 19/ 0/ 0][2/2/2][ 1400][1-0]
# 228> ASSIGN[ NONE][ 25/ 20/ 21/ 1][2/2/2][ 100101400][0-0] =
# 228> NEWLINE[ NONE][ 28/ 21/ 0/ 0][2/2/2][ 1400][1-0]
# 228> WORD[ NONE][ 33/ 22/ 32/ 1][2/2/2][ 41400][0-0] CNL_INT128
# 228> SEMICOLON[ NONE][ 43/ 32/ 33/ 0][2/2/2][ 100001400][0-0] ;
# 228> NEWLINE[ NONE][ 44/ 33/ 5/ 0][2/2/2][ 1000][1-0]
# 229> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/2][ 100001400][0-0] }
# 229> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/2][ 100001000][0-0] ;
# 229> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/2][ 801000][6-0]
# 230> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/2][ 61000][0-0] template
# 230> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/2][ 100001040][0-0] <
# 230> ANGLE_CLOSE[ TEMPLATE][ 10/ 14/ 15/ 0][1/1/2][ 100041040][0-0] >
# 230> NEWLINE[ NONE][ 11/ 15/ 5/ 0][1/1/2][ 801000][2-0]
# 231> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/2][ 51000][0-0] struct
# 231> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/2][ 1000][1-0]
# 231> TYPE[ STRUCT][ 1/ 12/ 23/ 1][1/1/2][ 1000][0-0] make_signed
# 231> ANGLE_OPEN[ STRUCT][ 12/ 23/ 24/ 0][1/1/2][ 100001040][0-0] <
# 231> TYPE[ NONE][ 13/ 24/ 35/ 0][1/2/2][ 41040][0-0] CNL_UINT128
# 231> ANGLE_CLOSE[ TEMPLATE][ 24/ 35/ 36/ 0][1/1/2][ 100001040][0-0] >
# 231> NEWLINE[ NONE][ 27/ 36/ 0/ 0][1/1/2][ 1040][1-0]
# 231> BRACE_OPEN[ STRUCT][ 9/ 37/ 38/ 1][1/1/2][ 100041000][0-0] {
# 231> NEWLINE[ NONE][ 10/ 38/ 9/ 0][2/2/2][ 1000][1-0]
# 232> USING[ NONE][ 9/ 9/ 14/ 0][2/2/2][ 10071400][0-0] using
# 232> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/2][ 1400][1-0]
# 232> WORD[ NONE][ 17/ 15/ 19/ 1][2/2/2][ 10001400][0-0] type
# 232> NEWLINE[ NONE][ 15/ 19/ 0/ 0][2/2/2][ 1400][1-0]
# 232> ASSIGN[ NONE][ 25/ 20/ 21/ 1][2/2/2][ 100101400][0-0] =
# 232> NEWLINE[ NONE][ 28/ 21/ 0/ 0][2/2/2][ 1400][1-0]
# 232> WORD[ NONE][ 33/ 22/ 32/ 1][2/2/2][ 41400][0-0] CNL_INT128
# 232> SEMICOLON[ NONE][ 43/ 32/ 33/ 0][2/2/2][ 100001400][0-0] ;
# 232> NEWLINE[ NONE][ 44/ 33/ 5/ 0][2/2/2][ 1000][1-0]
# 233> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/2][ 100001400][0-0] }
# 233> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/2][ 100001000][0-0] ;
# 233> NEWLINE[ NONE][ 11/ 7/ 1/ 0][1/1/2][ 801000][6-0]
# 234> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][1/1/1][ 100080001][0-0] #
# 234> NL_CONT[ NONE][ 3/ 2/ 0/ 0][1/1/1][ 200001][1-0] \
# 234> PP_ENDIF[ NONE][ 9/ 2/ 7/ 0][1/1/1][ 1][0-0] endif
# 234> NEWLINE[ NONE][ 14/ 7/ 5/ 0][1/1/1][ 1000][2-0]
# 236> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 10061000][0-0] template
# 236> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 110001040][0-0] <
# 236> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 10051040][0-0] class
# 236> TYPE[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 10001040][0-0] T
# 236> ANGLE_CLOSE[ TEMPLATE][ 17/ 21/ 22/ 0][1/1/1][ 110001040][0-0] >
# 236> NEWLINE[ NONE][ 18/ 22/ 5/ 0][1/1/1][ 1000][1-0]
# 237> USING[ NONE][ 1/ 5/ 10/ 0][1/1/1][ 10051000][0-0] using
# 237> NEWLINE[ NONE][ 5/ 10/ 0/ 0][1/1/1][ 1000][1-0]
# 237> WORD[ NONE][ 9/ 11/ 26/ 1][1/1/1][ 10001000][0-0] make_unsigned_t
# 237> NEWLINE[ NONE][ 11/ 26/ 0/ 0][1/1/1][ 1000][1-0]
# 237> ASSIGN[ NONE][ 17/ 27/ 28/ 1][1/1/1][ 100101000][0-0] =
# 237> NEWLINE[ NONE][ 35/ 28/ 0/ 0][1/1/1][ 1000][1-0]
# 237> TYPENAME[ NONE][ 25/ 29/ 37/ 1][1/1/1][ 51000][0-0] typename
# 237> NEWLINE[ NONE][ 45/ 37/ 0/ 0][1/1/1][ 1000][1-0]
# 237> WORD[ NONE][ 25/ 38/ 51/ 1][1/1/1][ 1000][0-0] make_unsigned
# 237> ANGLE_OPEN[ TEMPLATE][ 38/ 51/ 52/ 0][1/1/1][ 100001040][0-0] <
# 237> TYPE[ NONE][ 39/ 52/ 53/ 0][1/2/1][ 41040][0-0] T
# 237> ANGLE_CLOSE[ TEMPLATE][ 40/ 53/ 54/ 0][1/1/1][ 100001040][0-0] >
# 237> NEWLINE[ NONE][ 69/ 54/ 0/ 0][1/1/1][ 801040][2-0]
# 237> DC_MEMBER[ NONE][ 25/ 54/ 56/ 0][1/1/1][ 100041000][0-0] ::
# 237> NEWLINE[ NONE][ 70/ 56/ 0/ 0][1/1/1][ 1000][1-0]
# 237> WORD[ NONE][ 25/ 56/ 60/ 0][1/1/1][ 1000][0-0] type
# 237> SEMICOLON[ NONE][ 29/ 60/ 61/ 0][1/1/1][ 100001000][0-0] ;
# 237> NEWLINE[ NONE][ 30/ 61/ 5/ 0][1/1/1][ 801000][2-0]
# 239> NAMESPACE[ NONE][ 1/ 5/ 14/ 0][1/1/1][ 71000][0-0] namespace
# 239> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 239> WORD[ NAMESPACE][ 1/ 15/ 20/ 1][1/1/1][ 1000][0-0] _impl
# 239> NEWLINE[ NONE][ 7/ 20/ 0/ 0][1/1/1][ 1000][1-0]
# 239> BRACE_OPEN[ NAMESPACE][ 1/ 21/ 22/ 1][1/1/1][ 500001000][0-0] {
# 239> NEWLINE[ NONE][ 2/ 22/ 9/ 0][2/2/1][ 1000][1-0]
# 240> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 240> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 241> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 78/ 0][2/2/1][ 1000][0-0] // cnl::_impl::make_signed - std::make_signed with IsSigned parameter
# 241> NEWLINE[ NONE][ 70/ 78/ 9/ 0][2/2/1][ 1000][2-0]
# 243> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 243> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 243> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 243> WORD[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 243> COMMA[ NONE][ 17/ 25/ 26/ 0][2/3/1][ 100001040][0-0] ,
# 243> NEWLINE[ NONE][ 25/ 26/ 0/ 0][2/3/1][ 1040][1-0]
# 243> TYPE[ NONE][ 10/ 27/ 31/ 1][2/3/1][ 10051040][0-0] bool
# 243> WORD[ NONE][ 15/ 32/ 40/ 1][2/3/1][ 10001040][0-0] IsSigned
# 243> ASSIGN[ NONE][ 23/ 41/ 42/ 1][2/3/1][ 100001040][0-0] =
# 243> TYPE[ NONE][ 24/ 43/ 47/ 1][2/3/1][ 41040][0-0] true
# 243> ANGLE_CLOSE[ TEMPLATE][ 28/ 47/ 48/ 0][2/2/1][ 100001040][0-0] >
# 243> NEWLINE[ NONE][ 29/ 48/ 9/ 0][2/2/1][ 801000][2-0]
# 244> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 244> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 244> TYPE[ STRUCT][ 1/ 16/ 27/ 1][2/2/1][ 1000][0-0] make_signed
# 244> SEMICOLON[ STRUCT][ 12/ 27/ 28/ 0][2/2/1][ 100001000][0-0] ;
# 244> NEWLINE[ NONE][ 13/ 28/ 9/ 0][2/2/1][ 801000][6-0]
# 246> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 246> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 246> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 246> TYPE[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 246> ANGLE_CLOSE[ TEMPLATE][ 17/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 246> NEWLINE[ NONE][ 18/ 26/ 9/ 0][2/2/1][ 801000][2-0]
# 247> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 247> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 247> TYPE[ STRUCT][ 1/ 16/ 27/ 1][2/2/1][ 1000][0-0] make_signed
# 247> ANGLE_OPEN[ STRUCT][ 12/ 27/ 28/ 0][2/2/1][ 100001040][0-0] <
# 247> WORD[ NONE][ 13/ 28/ 29/ 0][2/3/1][ 41040][0-0] T
# 247> COMMA[ NONE][ 14/ 29/ 30/ 0][2/3/1][ 100001040][0-0] ,
# 247> NEWLINE[ NONE][ 15/ 30/ 0/ 0][2/3/1][ 1040][1-0]
# 247> TYPE[ NONE][ 13/ 31/ 35/ 1][2/3/1][ 41040][0-0] true
# 247> ANGLE_CLOSE[ TEMPLATE][ 17/ 35/ 36/ 0][2/2/1][ 100001040][0-0] >
# 247> NEWLINE[ NONE][ 39/ 36/ 0/ 0][2/2/1][ 1040][1-0]
# 247> CLASS_COLON[ NONE][ 9/ 37/ 38/ 1][2/2/1][ 100051800][0-0] :
# 247> NEWLINE[ NONE][ 29/ 38/ 0/ 0][2/2/1][ 1800][1-0]
# 247> DC_MEMBER[ NONE][ 9/ 39/ 41/ 1][2/2/1][ 100061800][0-0] ::
# 247> NEWLINE[ NONE][ 31/ 41/ 0/ 0][2/2/1][ 1800][1-0]
# 247> TYPE[ NONE][ 9/ 41/ 44/ 0][2/2/1][ 1800][0-0] cnl
# 247> NEWLINE[ NONE][ 33/ 44/ 0/ 0][2/2/1][ 1800][1-0]
# 247> DC_MEMBER[ NONE][ 9/ 44/ 46/ 0][2/2/1][ 100001800][0-0] ::
# 247> NEWLINE[ NONE][ 36/ 46/ 0/ 0][2/2/1][ 1800][1-0]
# 247> WORD[ NONE][ 9/ 46/ 57/ 0][2/2/1][ 1801800][0-0] make_signed
# 247> ANGLE_OPEN[ TEMPLATE][ 20/ 57/ 58/ 0][2/2/1][ 100001840][0-0] <
# 247> TYPE[ NONE][ 21/ 58/ 59/ 0][2/3/1][ 41840][0-0] T
# 247> ANGLE_CLOSE[ TEMPLATE][ 22/ 59/ 60/ 0][2/2/1][ 100001840][0-0] >
# 247> NEWLINE[ NONE][ 51/ 60/ 0/ 0][2/2/1][ 1840][1-0]
# 247> BRACE_OPEN[ STRUCT][ 9/ 61/ 62/ 1][2/2/1][ 140041000][0-0] {
# 247> NEWLINE[ NONE][ 10/ 62/ 9/ 0][3/3/1][ 1000][1-0]
# 248> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 248> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 248> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 250> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 250> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 250> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 250> TYPE[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 250> ANGLE_CLOSE[ TEMPLATE][ 17/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 250> NEWLINE[ NONE][ 18/ 26/ 9/ 0][2/2/1][ 801000][2-0]
# 251> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 251> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 251> TYPE[ STRUCT][ 1/ 16/ 27/ 1][2/2/1][ 1000][0-0] make_signed
# 251> ANGLE_OPEN[ STRUCT][ 12/ 27/ 28/ 0][2/2/1][ 100001040][0-0] <
# 251> WORD[ NONE][ 13/ 28/ 29/ 0][2/3/1][ 41040][0-0] T
# 251> COMMA[ NONE][ 14/ 29/ 30/ 0][2/3/1][ 100001040][0-0] ,
# 251> NEWLINE[ NONE][ 15/ 30/ 0/ 0][2/3/1][ 1040][1-0]
# 251> TYPE[ NONE][ 13/ 31/ 36/ 1][2/3/1][ 41040][0-0] false
# 251> ANGLE_CLOSE[ TEMPLATE][ 18/ 36/ 37/ 0][2/2/1][ 100001040][0-0] >
# 251> NEWLINE[ NONE][ 40/ 37/ 0/ 0][2/2/1][ 1040][1-0]
# 251> CLASS_COLON[ NONE][ 9/ 38/ 39/ 1][2/2/1][ 100051800][0-0] :
# 251> NEWLINE[ NONE][ 30/ 39/ 0/ 0][2/2/1][ 1800][1-0]
# 251> DC_MEMBER[ NONE][ 9/ 40/ 42/ 1][2/2/1][ 100061800][0-0] ::
# 251> NEWLINE[ NONE][ 32/ 42/ 0/ 0][2/2/1][ 1800][1-0]
# 251> TYPE[ NONE][ 9/ 42/ 45/ 0][2/2/1][ 1800][0-0] cnl
# 251> NEWLINE[ NONE][ 34/ 45/ 0/ 0][2/2/1][ 1800][1-0]
# 251> DC_MEMBER[ NONE][ 9/ 45/ 47/ 0][2/2/1][ 100001800][0-0] ::
# 251> NEWLINE[ NONE][ 37/ 47/ 0/ 0][2/2/1][ 1800][1-0]
# 251> WORD[ NONE][ 9/ 47/ 60/ 0][2/2/1][ 1801800][0-0] make_unsigned
# 251> ANGLE_OPEN[ TEMPLATE][ 22/ 60/ 61/ 0][2/2/1][ 100001840][0-0] <
# 251> TYPE[ NONE][ 23/ 61/ 62/ 0][2/3/1][ 41840][0-0] T
# 251> ANGLE_CLOSE[ TEMPLATE][ 24/ 62/ 63/ 0][2/2/1][ 100001840][0-0] >
# 251> NEWLINE[ NONE][ 54/ 63/ 0/ 0][2/2/1][ 1840][1-0]
# 251> BRACE_OPEN[ STRUCT][ 9/ 64/ 65/ 1][2/2/1][ 140041000][0-0] {
# 251> NEWLINE[ NONE][ 10/ 65/ 9/ 0][3/3/1][ 1000][1-0]
# 252> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 252> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 252> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 254> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 254> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 254> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 254> WORD[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 254> COMMA[ NONE][ 17/ 25/ 26/ 0][2/3/1][ 100001040][0-0] ,
# 254> NEWLINE[ NONE][ 25/ 26/ 0/ 0][2/3/1][ 1040][1-0]
# 254> TYPE[ NONE][ 10/ 27/ 31/ 1][2/3/1][ 10051040][0-0] bool
# 254> TYPE[ NONE][ 15/ 32/ 40/ 1][2/3/1][ 10001040][0-0] IsSigned
# 254> ANGLE_CLOSE[ TEMPLATE][ 23/ 40/ 41/ 0][2/2/1][ 110001040][0-0] >
# 254> NEWLINE[ NONE][ 24/ 41/ 9/ 0][2/2/1][ 1000][1-0]
# 255> USING[ NONE][ 1/ 9/ 14/ 0][2/2/1][ 10051000][0-0] using
# 255> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/1][ 1000][1-0]
# 255> WORD[ NONE][ 9/ 15/ 28/ 1][2/2/1][ 10001000][0-0] make_signed_t
# 255> NEWLINE[ NONE][ 22/ 28/ 0/ 0][2/2/1][ 1000][1-0]
# 255> ASSIGN[ NONE][ 17/ 29/ 30/ 1][2/2/1][ 100101000][0-0] =
# 255> NEWLINE[ NONE][ 29/ 30/ 0/ 0][2/2/1][ 1000][1-0]
# 255> TYPENAME[ NONE][ 25/ 31/ 39/ 1][2/2/1][ 51000][0-0] typename
# 255> NEWLINE[ NONE][ 39/ 39/ 0/ 0][2/2/1][ 1000][1-0]
# 255> WORD[ NONE][ 25/ 40/ 51/ 1][2/2/1][ 1000][0-0] make_signed
# 255> ANGLE_OPEN[ TEMPLATE][ 36/ 51/ 52/ 0][2/2/1][ 100001040][0-0] <
# 255> WORD[ NONE][ 37/ 52/ 53/ 0][2/3/1][ 41040][0-0] T
# 255> COMMA[ NONE][ 38/ 53/ 54/ 0][2/3/1][ 100001040][0-0] ,
# 255> NEWLINE[ NONE][ 61/ 54/ 0/ 0][2/3/1][ 1040][1-0]
# 255> TYPE[ NONE][ 37/ 55/ 63/ 1][2/3/1][ 41040][0-0] IsSigned
# 255> ANGLE_CLOSE[ TEMPLATE][ 45/ 63/ 64/ 0][2/2/1][ 100001040][0-0] >
# 255> NEWLINE[ NONE][ 91/ 64/ 0/ 0][2/2/1][ 801040][2-0]
# 255> DC_MEMBER[ NONE][ 25/ 64/ 66/ 0][2/2/1][ 100041000][0-0] ::
# 255> NEWLINE[ NONE][ 72/ 66/ 0/ 0][2/2/1][ 1000][1-0]
# 255> WORD[ NONE][ 25/ 66/ 70/ 0][2/2/1][ 1000][0-0] type
# 255> SEMICOLON[ NONE][ 29/ 70/ 71/ 0][2/2/1][ 100001000][0-0] ;
# 255> NEWLINE[ NONE][ 30/ 71/ 9/ 0][2/2/1][ 801000][2-0]
# 257> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 257> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 258> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 41/ 0][2/2/1][ 1000][0-0] // cnl::_impl::common_signedness
# 258> NEWLINE[ NONE][ 33/ 41/ 9/ 0][2/2/1][ 1000][2-0]
# 260> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 260> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 260> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 260> WORD[ NONE][ 16/ 24/ 26/ 1][2/3/1][ 1040][0-0] T1
# 260> COMMA[ NONE][ 18/ 26/ 27/ 0][2/3/1][ 100001040][0-0] ,
# 260> NEWLINE[ NONE][ 26/ 27/ 0/ 0][2/3/1][ 1040][1-0]
# 260> TYPE[ NONE][ 10/ 28/ 33/ 1][2/3/1][ 51040][0-0] class
# 260> TYPE[ NONE][ 16/ 34/ 36/ 1][2/3/1][ 1040][0-0] T2
# 260> ANGLE_CLOSE[ TEMPLATE][ 18/ 36/ 37/ 0][2/2/1][ 100001040][0-0] >
# 260> NEWLINE[ NONE][ 19/ 37/ 9/ 0][2/2/1][ 801000][2-0]
# 261> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51002][0-0] struct
# 261> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1002][1-0]
# 261> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1002][0-0] common_signedness
# 261> NEWLINE[ NONE][ 18/ 33/ 0/ 0][2/2/1][ 1002][1-0]
# 261> BRACE_OPEN[ STRUCT][ 9/ 34/ 35/ 1][2/2/1][ 100001002][0-0] {
# 261> NEWLINE[ NONE][ 10/ 35/ 13/ 0][3/3/1][ 1002][1-0]
# 262> QUALIFIER[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 10471402][0-0] static
# 262> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1402][1-0]
# 262> QUALIFIER[ NONE][ 9/ 20/ 29/ 1][3/3/1][ 10411402][0-0] constexpr
# 262> NEWLINE[ NONE][ 18/ 29/ 0/ 0][3/3/1][ 1402][1-0]
# 262> TYPE[ NONE][ 9/ 30/ 34/ 1][3/3/1][ 10411402][0-0] bool
# 262> NEWLINE[ NONE][ 14/ 34/ 0/ 0][3/3/1][ 1402][1-0]
# 262> WORD[ NONE][ 17/ 35/ 46/ 1][3/3/1][ 11801402][0-0] _are_signed
# 262> NEWLINE[ NONE][ 28/ 46/ 0/ 0][3/3/1][ 1402][1-0]
# 262> ASSIGN[ NONE][ 17/ 47/ 48/ 1][3/3/1][ 100101402][0-0] =
# 262> NEWLINE[ NONE][ 39/ 48/ 0/ 0][3/3/1][ 1402][1-0]
# 262> TYPE[ NONE][ 25/ 49/ 52/ 1][3/3/1][ 41402][0-0] std
# 262> NEWLINE[ NONE][ 49/ 52/ 0/ 0][3/3/1][ 1402][1-0]
# 262> DC_MEMBER[ NONE][ 25/ 52/ 54/ 0][3/3/1][ 100001402][0-0] ::
# 262> NEWLINE[ NONE][ 52/ 54/ 0/ 0][3/3/1][ 1402][1-0]
# 262> WORD[ NONE][ 25/ 54/ 68/ 0][3/3/1][ 1402][0-0] numeric_limits
# 262> ANGLE_OPEN[ TEMPLATE][ 39/ 68/ 69/ 0][3/3/1][ 100001442][0-0] <
# 262> TYPE[ NONE][ 40/ 69/ 71/ 0][3/4/1][ 41442][0-0] T1
# 262> ANGLE_CLOSE[ TEMPLATE][ 42/ 71/ 72/ 0][3/3/1][ 100001442][0-0] >
# 262> NEWLINE[ NONE][ 71/ 72/ 0/ 0][3/3/1][ 1442][1-0]
# 262> DC_MEMBER[ NONE][ 25/ 72/ 74/ 0][3/3/1][ 100041402][0-0] ::
# 262> NEWLINE[ NONE][ 72/ 74/ 0/ 0][3/3/1][ 1402][1-0]
# 262> WORD[ NONE][ 25/ 74/ 83/ 0][3/3/1][ 1402][0-0] is_signed
# 262> NEWLINE[ NONE][ 74/ 83/ 0/ 0][3/3/1][ 1402][1-0]
# 262> ARITH[ NONE][ 25/ 84/ 85/ 1][3/3/1][ 100001402][0-0] |
# 262> NEWLINE[ NONE][ 84/ 85/ 0/ 0][3/3/1][ 1402][1-0]
# 262> TYPE[ NONE][ 25/ 86/ 89/ 1][3/3/1][ 41402][0-0] std
# 262> NEWLINE[ NONE][ 86/ 89/ 0/ 0][3/3/1][ 1402][1-0]
# 262> DC_MEMBER[ NONE][ 25/ 89/ 91/ 0][3/3/1][ 100001402][0-0] ::
# 262> NEWLINE[ NONE][ 89/ 91/ 0/ 0][3/3/1][ 1402][1-0]
# 262> WORD[ NONE][ 25/ 91/105/ 0][3/3/1][ 1402][0-0] numeric_limits
# 262> ANGLE_OPEN[ TEMPLATE][ 39/105/106/ 0][3/3/1][ 100001442][0-0] <
# 262> TYPE[ NONE][ 40/106/108/ 0][3/4/1][ 41442][0-0] T2
# 262> ANGLE_CLOSE[ TEMPLATE][ 42/108/109/ 0][3/3/1][ 100001442][0-0] >
# 262> NEWLINE[ NONE][108/109/ 0/ 0][3/3/1][ 1442][1-0]
# 262> DC_MEMBER[ NONE][ 25/109/111/ 0][3/3/1][ 100041402][0-0] ::
# 262> NEWLINE[ NONE][109/111/ 0/ 0][3/3/1][ 1402][1-0]
# 262> WORD[ NONE][ 25/111/120/ 0][3/3/1][ 1402][0-0] is_signed
# 262> SEMICOLON[ NONE][ 34/120/121/ 0][3/3/1][ 100001402][0-0] ;
# 262> NEWLINE[ NONE][ 35/121/ 13/ 0][3/3/1][ 801002][2-0]
# 264> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071402][0-0] using
# 264> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1402][1-0]
# 264> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001402][0-0] type
# 264> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1402][1-0]
# 264> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101402][0-0] =
# 264> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1402][1-0]
# 264> TYPENAME[ NONE][ 33/ 26/ 34/ 1][3/3/1][ 51402][0-0] typename
# 264> NEWLINE[ NONE][ 41/ 34/ 0/ 0][3/3/1][ 1402][1-0]
# 264> TYPE[ NONE][ 33/ 35/ 38/ 1][3/3/1][ 1402][0-0] std
# 264> NEWLINE[ NONE][ 43/ 38/ 0/ 0][3/3/1][ 801402][2-0]
# 264> DC_MEMBER[ NONE][ 33/ 38/ 40/ 0][3/3/1][ 100001402][0-0] ::
# 264> NEWLINE[ NONE][ 46/ 40/ 0/ 0][3/3/1][ 1402][1-0]
# 264> WORD[ NONE][ 33/ 40/ 51/ 0][3/3/1][ 1402][0-0] common_type
# 264> ANGLE_OPEN[ TEMPLATE][ 44/ 51/ 52/ 0][3/3/1][ 100001442][0-0] <
# 264> WORD[ NONE][ 45/ 52/ 65/ 0][3/4/1][ 41442][0-0] make_signed_t
# 264> ANGLE_OPEN[ TEMPLATE][ 58/ 65/ 66/ 0][3/4/1][ 100001442][0-0] <
# 264> WORD[ NONE][ 59/ 66/ 68/ 0][3/5/1][ 41442][0-0] T1
# 264> COMMA[ NONE][ 61/ 68/ 69/ 0][3/5/1][ 100001442][0-0] ,
# 264> NEWLINE[ NONE][ 76/ 69/ 0/ 0][3/5/1][ 1442][1-0]
# 264> TYPE[ NONE][ 59/ 70/ 81/ 1][3/5/1][ 41442][0-0] _are_signed
# 264> ANGLE_CLOSE[ TEMPLATE][ 70/ 81/ 82/ 0][3/4/1][ 100001442][0-0] >
# 264> COMMA[ NONE][ 71/ 82/ 83/ 0][3/4/1][ 100041442][0-0] ,
# 264> NEWLINE[ NONE][ 72/ 83/ 21/ 0][3/4/1][ 1002][1-0]
# 265> WORD[ NONE][ 45/ 21/ 34/ 0][3/4/1][ 41442][0-0] make_signed_t
# 265> ANGLE_OPEN[ TEMPLATE][ 58/ 34/ 35/ 0][3/4/1][ 100001442][0-0] <
# 265> WORD[ NONE][ 59/ 35/ 37/ 0][3/5/1][ 41442][0-0] T2
# 265> COMMA[ NONE][ 61/ 37/ 38/ 0][3/5/1][ 100001442][0-0] ,
# 265> NEWLINE[ NONE][ 62/ 38/ 0/ 0][3/5/1][ 1442][1-0]
# 265> TYPE[ NONE][ 59/ 39/ 50/ 1][3/5/1][ 41442][0-0] _are_signed
# 265> ANGLE_CLOSE[ TEMPLATE][ 70/ 50/ 51/ 0][3/4/1][ 100001442][0-0] >
# 265> ANGLE_CLOSE[ TEMPLATE][ 71/ 51/ 52/ 0][3/3/1][ 100041442][0-0] >
# 265> NEWLINE[ NONE][101/ 52/ 0/ 0][3/3/1][ 1442][1-0]
# 265> DC_MEMBER[ NONE][ 33/ 52/ 54/ 0][3/3/1][ 100041402][0-0] ::
# 265> NEWLINE[ NONE][ 60/ 54/ 0/ 0][3/3/1][ 1402][1-0]
# 265> WORD[ NONE][ 33/ 54/ 58/ 0][3/3/1][ 1402][0-0] type
# 265> SEMICOLON[ NONE][ 37/ 58/ 59/ 0][3/3/1][ 100001402][0-0] ;
# 265> NEWLINE[ NONE][ 38/ 59/ 9/ 0][3/3/1][ 1002][1-0]
# 266> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 266> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 266> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 268> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 268> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 268> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 268> WORD[ NONE][ 16/ 24/ 26/ 1][2/3/1][ 1040][0-0] T1
# 268> COMMA[ NONE][ 18/ 26/ 27/ 0][2/3/1][ 100001040][0-0] ,
# 268> NEWLINE[ NONE][ 26/ 27/ 0/ 0][2/3/1][ 1040][1-0]
# 268> TYPE[ NONE][ 10/ 28/ 33/ 1][2/3/1][ 10051040][0-0] class
# 268> TYPE[ NONE][ 16/ 34/ 36/ 1][2/3/1][ 10001040][0-0] T2
# 268> ANGLE_CLOSE[ TEMPLATE][ 18/ 36/ 37/ 0][2/2/1][ 110001040][0-0] >
# 268> NEWLINE[ NONE][ 19/ 37/ 9/ 0][2/2/1][ 1000][1-0]
# 269> USING[ NONE][ 1/ 9/ 14/ 0][2/2/1][ 10051000][0-0] using
# 269> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/1][ 1000][1-0]
# 269> WORD[ NONE][ 9/ 15/ 34/ 1][2/2/1][ 10001000][0-0] common_signedness_t
# 269> NEWLINE[ NONE][ 28/ 34/ 0/ 0][2/2/1][ 1000][1-0]
# 269> ASSIGN[ NONE][ 17/ 35/ 36/ 1][2/2/1][ 100101000][0-0] =
# 269> NEWLINE[ NONE][ 35/ 36/ 0/ 0][2/2/1][ 1000][1-0]
# 269> TYPENAME[ NONE][ 25/ 37/ 45/ 1][2/2/1][ 51000][0-0] typename
# 269> NEWLINE[ NONE][ 45/ 45/ 0/ 0][2/2/1][ 1000][1-0]
# 269> WORD[ NONE][ 25/ 46/ 63/ 1][2/2/1][ 1000][0-0] common_signedness
# 269> ANGLE_OPEN[ TEMPLATE][ 42/ 63/ 64/ 0][2/2/1][ 100001040][0-0] <
# 269> WORD[ NONE][ 43/ 64/ 66/ 0][2/3/1][ 41040][0-0] T1
# 269> COMMA[ NONE][ 45/ 66/ 67/ 0][2/3/1][ 100001040][0-0] ,
# 269> NEWLINE[ NONE][ 74/ 67/ 0/ 0][2/3/1][ 1040][1-0]
# 269> TYPE[ NONE][ 43/ 68/ 70/ 1][2/3/1][ 41040][0-0] T2
# 269> ANGLE_CLOSE[ TEMPLATE][ 45/ 70/ 71/ 0][2/2/1][ 100001040][0-0] >
# 269> NEWLINE[ NONE][104/ 71/ 0/ 0][2/2/1][ 801040][2-0]
# 269> DC_MEMBER[ NONE][ 25/ 71/ 73/ 0][2/2/1][ 100041000][0-0] ::
# 269> NEWLINE[ NONE][ 79/ 73/ 0/ 0][2/2/1][ 1000][1-0]
# 269> WORD[ NONE][ 25/ 73/ 77/ 0][2/2/1][ 1000][0-0] type
# 269> SEMICOLON[ NONE][ 29/ 77/ 78/ 0][2/2/1][ 100001000][0-0] ;
# 269> NEWLINE[ NONE][ 30/ 78/ 9/ 0][2/2/1][ 801000][2-0]
# 271> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 271> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 272> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 35/ 0][2/2/1][ 1000][0-0] // cnl::_impl::encompasses
# 272> NEWLINE[ NONE][ 27/ 35/ 9/ 0][2/2/1][ 1000][2-0]
# 274> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 274> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 274> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 274> WORD[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 274> COMMA[ NONE][ 17/ 25/ 26/ 0][2/3/1][ 100001040][0-0] ,
# 274> NEWLINE[ NONE][ 25/ 26/ 0/ 0][2/3/1][ 1040][1-0]
# 274> TYPE[ NONE][ 10/ 27/ 32/ 1][2/3/1][ 10051040][0-0] class
# 274> WORD[ NONE][ 16/ 33/ 39/ 1][2/3/1][ 10001040][0-0] Enable
# 274> ASSIGN[ NONE][ 22/ 40/ 41/ 1][2/3/1][ 100001040][0-0] =
# 274> TYPE[ NONE][ 23/ 42/ 46/ 1][2/3/1][ 41040][0-0] void
# 274> ANGLE_CLOSE[ TEMPLATE][ 27/ 46/ 47/ 0][2/2/1][ 100001040][0-0] >
# 274> NEWLINE[ NONE][ 28/ 47/ 9/ 0][2/2/1][ 801000][2-0]
# 275> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 275> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 275> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] unsigned_or_float
# 275> SEMICOLON[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001000][0-0] ;
# 275> NEWLINE[ NONE][ 19/ 34/ 9/ 0][2/2/1][ 801000][6-0]
# 277> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 277> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 277> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 277> TYPE[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 277> ANGLE_CLOSE[ TEMPLATE][ 17/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 277> NEWLINE[ NONE][ 18/ 26/ 9/ 0][2/2/1][ 801000][2-0]
# 278> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 278> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 278> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] unsigned_or_float
# 278> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 278> WORD[ NONE][ 19/ 34/ 35/ 0][2/3/1][ 41040][0-0] T
# 278> COMMA[ NONE][ 20/ 35/ 36/ 0][2/3/1][ 100001040][0-0] ,
# 278> NEWLINE[ NONE][ 21/ 36/ 0/ 0][2/3/1][ 1040][1-0]
# 278> WORD[ NONE][ 19/ 37/ 48/ 1][2/3/1][ 41040][0-0] enable_if_t
# 278> ANGLE_OPEN[ TEMPLATE][ 30/ 48/ 49/ 0][2/3/1][ 100001040][0-0] <
# 278> TYPE[ NONE][ 31/ 49/ 52/ 0][2/4/1][ 41040][0-0] std
# 278> DC_MEMBER[ NONE][ 34/ 52/ 54/ 0][2/4/1][ 100001040][0-0] ::
# 278> WORD[ NONE][ 36/ 54/ 68/ 0][2/4/1][ 1040][0-0] numeric_limits
# 278> ANGLE_OPEN[ TEMPLATE][ 50/ 68/ 69/ 0][2/4/1][ 100001040][0-0] <
# 278> TYPE[ NONE][ 51/ 69/ 70/ 0][2/5/1][ 41040][0-0] T
# 278> ANGLE_CLOSE[ TEMPLATE][ 52/ 70/ 71/ 0][2/4/1][ 100001040][0-0] >
# 278> DC_MEMBER[ NONE][ 53/ 71/ 73/ 0][2/4/1][ 100041040][0-0] ::
# 278> TYPE[ NONE][ 55/ 73/ 82/ 0][2/4/1][ 1040][0-0] is_iec559
# 278> ANGLE_CLOSE[ TEMPLATE][ 64/ 82/ 83/ 0][2/3/1][ 100001040][0-0] >
# 278> ANGLE_CLOSE[ TEMPLATE][ 65/ 83/ 84/ 0][2/2/1][ 100041040][0-0] >
# 278> NEWLINE[ NONE][ 93/ 84/ 0/ 0][2/2/1][ 1040][1-0]
# 278> BRACE_OPEN[ STRUCT][ 9/ 85/ 86/ 1][2/2/1][ 100041000][0-0] {
# 278> NEWLINE[ NONE][ 10/ 86/ 13/ 0][3/3/1][ 1000][1-0]
# 279> USING[ NONE][ 9/ 13/ 18/ 0][3/3/1][ 10071400][0-0] using
# 279> NEWLINE[ NONE][ 13/ 18/ 0/ 0][3/3/1][ 1400][1-0]
# 279> WORD[ NONE][ 17/ 19/ 23/ 1][3/3/1][ 10001400][0-0] type
# 279> NEWLINE[ NONE][ 21/ 23/ 0/ 0][3/3/1][ 1400][1-0]
# 279> ASSIGN[ NONE][ 25/ 24/ 25/ 1][3/3/1][ 100101400][0-0] =
# 279> NEWLINE[ NONE][ 24/ 25/ 0/ 0][3/3/1][ 1400][1-0]
# 279> WORD[ NONE][ 33/ 26/ 27/ 1][3/3/1][ 41400][0-0] T
# 279> SEMICOLON[ NONE][ 34/ 27/ 28/ 0][3/3/1][ 100001400][0-0] ;
# 279> NEWLINE[ NONE][ 35/ 28/ 9/ 0][3/3/1][ 1000][1-0]
# 280> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 280> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 280> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 282> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 282> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 282> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 282> TYPE[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 282> ANGLE_CLOSE[ TEMPLATE][ 17/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 282> NEWLINE[ NONE][ 18/ 26/ 9/ 0][2/2/1][ 801000][2-0]
# 283> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 283> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 283> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] unsigned_or_float
# 283> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 283> WORD[ NONE][ 19/ 34/ 35/ 0][2/3/1][ 41040][0-0] T
# 283> COMMA[ NONE][ 20/ 35/ 36/ 0][2/3/1][ 100001040][0-0] ,
# 283> NEWLINE[ NONE][ 21/ 36/ 0/ 0][2/3/1][ 1040][1-0]
# 283> WORD[ NONE][ 19/ 37/ 48/ 1][2/3/1][ 41040][0-0] enable_if_t
# 283> ANGLE_OPEN[ TEMPLATE][ 30/ 48/ 49/ 0][2/3/1][ 100001040][0-0] <
# 283> NOT[ NONE][ 31/ 49/ 50/ 0][2/4/1][ 100041040][0-0] !
# 283> TYPE[ NONE][ 32/ 50/ 53/ 0][2/4/1][ 41040][0-0] std
# 283> DC_MEMBER[ NONE][ 35/ 53/ 55/ 0][2/4/1][ 100001040][0-0] ::
# 283> WORD[ NONE][ 37/ 55/ 69/ 0][2/4/1][ 1040][0-0] numeric_limits
# 283> ANGLE_OPEN[ TEMPLATE][ 51/ 69/ 70/ 0][2/4/1][ 100001040][0-0] <
# 283> TYPE[ NONE][ 52/ 70/ 71/ 0][2/5/1][ 41040][0-0] T
# 283> ANGLE_CLOSE[ TEMPLATE][ 53/ 71/ 72/ 0][2/4/1][ 100001040][0-0] >
# 283> DC_MEMBER[ NONE][ 54/ 72/ 74/ 0][2/4/1][ 100041040][0-0] ::
# 283> TYPE[ NONE][ 56/ 74/ 83/ 0][2/4/1][ 1040][0-0] is_iec559
# 283> ANGLE_CLOSE[ TEMPLATE][ 65/ 83/ 84/ 0][2/3/1][ 100001040][0-0] >
# 283> ANGLE_CLOSE[ TEMPLATE][ 66/ 84/ 85/ 0][2/2/1][ 100041040][0-0] >
# 283> NEWLINE[ NONE][ 94/ 85/ 0/ 0][2/2/1][ 1040][1-0]
# 283> CLASS_COLON[ NONE][ 9/ 86/ 87/ 1][2/2/1][ 100041800][0-0] :
# 283> NEWLINE[ NONE][ 78/ 87/ 0/ 0][2/2/1][ 1800][1-0]
# 283> WORD[ NONE][ 9/ 88/101/ 1][2/2/1][ 1861800][0-0] make_unsigned
# 283> ANGLE_OPEN[ TEMPLATE][ 22/101/102/ 0][2/2/1][ 100001840][0-0] <
# 283> TYPE[ NONE][ 23/102/103/ 0][2/3/1][ 41840][0-0] T
# 283> ANGLE_CLOSE[ TEMPLATE][ 24/103/104/ 0][2/2/1][ 100001840][0-0] >
# 283> NEWLINE[ NONE][ 95/104/ 0/ 0][2/2/1][ 1840][1-0]
# 283> BRACE_OPEN[ STRUCT][ 9/105/106/ 1][2/2/1][ 140041000][0-0] {
# 283> NEWLINE[ NONE][ 10/106/ 9/ 0][3/3/1][ 1000][1-0]
# 284> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 284> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 284> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 286> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 10061000][0-0] template
# 286> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 110001040][0-0] <
# 286> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 10051040][0-0] class
# 286> TYPE[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 10001040][0-0] T
# 286> ANGLE_CLOSE[ TEMPLATE][ 17/ 25/ 26/ 0][2/2/1][ 110001040][0-0] >
# 286> NEWLINE[ NONE][ 18/ 26/ 9/ 0][2/2/1][ 1000][1-0]
# 287> USING[ NONE][ 1/ 9/ 14/ 0][2/2/1][ 10051000][0-0] using
# 287> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/1][ 1000][1-0]
# 287> WORD[ NONE][ 9/ 15/ 34/ 1][2/2/1][ 10001000][0-0] unsigned_or_float_t
# 287> NEWLINE[ NONE][ 28/ 34/ 0/ 0][2/2/1][ 1000][1-0]
# 287> ASSIGN[ NONE][ 17/ 35/ 36/ 1][2/2/1][ 100101000][0-0] =
# 287> NEWLINE[ NONE][ 35/ 36/ 0/ 0][2/2/1][ 1000][1-0]
# 287> TYPENAME[ NONE][ 25/ 37/ 45/ 1][2/2/1][ 51000][0-0] typename
# 287> NEWLINE[ NONE][ 45/ 45/ 0/ 0][2/2/1][ 1000][1-0]
# 287> WORD[ NONE][ 25/ 46/ 63/ 1][2/2/1][ 1000][0-0] unsigned_or_float
# 287> ANGLE_OPEN[ TEMPLATE][ 42/ 63/ 64/ 0][2/2/1][ 100001040][0-0] <
# 287> TYPE[ NONE][ 43/ 64/ 65/ 0][2/3/1][ 41040][0-0] T
# 287> ANGLE_CLOSE[ TEMPLATE][ 44/ 65/ 66/ 0][2/2/1][ 100001040][0-0] >
# 287> NEWLINE[ NONE][ 73/ 66/ 0/ 0][2/2/1][ 801040][2-0]
# 287> DC_MEMBER[ NONE][ 25/ 66/ 68/ 0][2/2/1][ 100041000][0-0] ::
# 287> NEWLINE[ NONE][ 74/ 68/ 0/ 0][2/2/1][ 1000][1-0]
# 287> WORD[ NONE][ 25/ 68/ 72/ 0][2/2/1][ 1000][0-0] type
# 287> SEMICOLON[ NONE][ 29/ 72/ 73/ 0][2/2/1][ 100001000][0-0] ;
# 287> NEWLINE[ NONE][ 30/ 73/ 9/ 0][2/2/1][ 801000][2-0]
# 289> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 289> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 289> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 289> WORD[ NONE][ 16/ 24/ 35/ 1][2/3/1][ 1040][0-0] Encompasser
# 289> COMMA[ NONE][ 27/ 35/ 36/ 0][2/3/1][ 100001040][0-0] ,
# 289> NEWLINE[ NONE][ 35/ 36/ 0/ 0][2/3/1][ 1040][1-0]
# 289> TYPE[ NONE][ 10/ 37/ 42/ 1][2/3/1][ 51040][0-0] class
# 289> WORD[ NONE][ 16/ 43/ 54/ 1][2/3/1][ 1040][0-0] Encompassed
# 289> COMMA[ NONE][ 27/ 54/ 55/ 0][2/3/1][ 100001040][0-0] ,
# 289> NEWLINE[ NONE][ 55/ 55/ 0/ 0][2/3/1][ 1040][1-0]
# 289> TYPE[ NONE][ 10/ 56/ 61/ 1][2/3/1][ 10051040][0-0] class
# 289> WORD[ NONE][ 16/ 62/ 68/ 1][2/3/1][ 10001040][0-0] Enable
# 289> ASSIGN[ NONE][ 22/ 69/ 70/ 1][2/3/1][ 100001040][0-0] =
# 289> TYPE[ NONE][ 23/ 71/ 75/ 1][2/3/1][ 41040][0-0] void
# 289> ANGLE_CLOSE[ TEMPLATE][ 27/ 75/ 76/ 0][2/2/1][ 100001040][0-0] >
# 289> NEWLINE[ NONE][ 28/ 76/ 9/ 0][2/2/1][ 801000][2-0]
# 290> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 290> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 290> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] encompasses_lower
# 290> SEMICOLON[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001000][0-0] ;
# 290> NEWLINE[ NONE][ 19/ 34/ 9/ 0][2/2/1][ 801000][6-0]
# 292> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 292> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 292> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 292> WORD[ NONE][ 16/ 24/ 35/ 1][2/3/1][ 1040][0-0] Encompasser
# 292> COMMA[ NONE][ 27/ 35/ 36/ 0][2/3/1][ 100001040][0-0] ,
# 292> NEWLINE[ NONE][ 35/ 36/ 0/ 0][2/3/1][ 1040][1-0]
# 292> TYPE[ NONE][ 10/ 37/ 42/ 1][2/3/1][ 51040][0-0] class
# 292> TYPE[ NONE][ 16/ 43/ 54/ 1][2/3/1][ 1040][0-0] Encompassed
# 292> ANGLE_CLOSE[ TEMPLATE][ 27/ 54/ 55/ 0][2/2/1][ 100001040][0-0] >
# 292> NEWLINE[ NONE][ 28/ 55/ 9/ 0][2/2/1][ 801000][2-0]
# 293> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 293> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 293> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] encompasses_lower
# 293> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 293> WORD[ NONE][ 19/ 34/ 45/ 0][2/3/1][ 41040][0-0] Encompasser
# 293> COMMA[ NONE][ 30/ 45/ 46/ 0][2/3/1][ 100001040][0-0] ,
# 293> NEWLINE[ NONE][ 31/ 46/ 0/ 0][2/3/1][ 1040][1-0]
# 293> WORD[ NONE][ 19/ 47/ 58/ 1][2/3/1][ 41040][0-0] Encompassed
# 293> COMMA[ NONE][ 30/ 58/ 59/ 0][2/3/1][ 100001040][0-0] ,
# 293> NEWLINE[ NONE][ 31/ 59/ 17/ 0][2/3/1][ 1000][1-0]
# 294> WORD[ NONE][ 19/ 17/ 28/ 0][2/3/1][ 41040][0-0] enable_if_t
# 294> ANGLE_OPEN[ TEMPLATE][ 30/ 28/ 29/ 0][2/3/1][ 100001040][0-0] <
# 294> TYPE[ NONE][ 31/ 29/ 32/ 0][2/4/1][ 41040][0-0] std
# 294> DC_MEMBER[ NONE][ 34/ 32/ 34/ 0][2/4/1][ 100001040][0-0] ::
# 294> WORD[ NONE][ 36/ 34/ 48/ 0][2/4/1][ 1040][0-0] numeric_limits
# 294> ANGLE_OPEN[ TEMPLATE][ 50/ 48/ 49/ 0][2/4/1][ 100001040][0-0] <
# 294> TYPE[ NONE][ 51/ 49/ 60/ 0][2/5/1][ 41040][0-0] Encompasser
# 294> ANGLE_CLOSE[ TEMPLATE][ 62/ 60/ 61/ 0][2/4/1][ 100001040][0-0] >
# 294> DC_MEMBER[ NONE][ 63/ 61/ 63/ 0][2/4/1][ 100041040][0-0] ::
# 294> WORD[ NONE][ 65/ 63/ 72/ 0][2/4/1][ 1040][0-0] is_signed
# 295> BOOL[ NONE][ 75/ 73/ 75/ 0][2/4/1][ 100001040][0-0] &&
# 294> NEWLINE[ NONE][ 77/ 72/ 29/ 0][2/4/1][ 1000][1-0]
# 295> TYPE[ NONE][ 31/ 32/ 35/ 1][2/4/1][ 41040][0-0] std
# 295> DC_MEMBER[ NONE][ 34/ 35/ 37/ 0][2/4/1][ 100001040][0-0] ::
# 295> WORD[ NONE][ 36/ 37/ 51/ 0][2/4/1][ 1040][0-0] numeric_limits
# 295> ANGLE_OPEN[ TEMPLATE][ 50/ 51/ 52/ 0][2/4/1][ 100001040][0-0] <
# 295> TYPE[ NONE][ 51/ 52/ 63/ 0][2/5/1][ 41040][0-0] Encompassed
# 295> ANGLE_CLOSE[ TEMPLATE][ 62/ 63/ 64/ 0][2/4/1][ 100001040][0-0] >
# 295> DC_MEMBER[ NONE][ 63/ 64/ 66/ 0][2/4/1][ 100041040][0-0] ::
# 295> TYPE[ NONE][ 65/ 66/ 75/ 0][2/4/1][ 1040][0-0] is_signed
# 295> ANGLE_CLOSE[ TEMPLATE][ 74/ 75/ 76/ 0][2/3/1][ 100001040][0-0] >
# 295> ANGLE_CLOSE[ TEMPLATE][ 75/ 76/ 77/ 0][2/2/1][ 100041040][0-0] >
# 295> NEWLINE[ NONE][ 76/ 77/ 0/ 0][2/2/1][ 1040][1-0]
# 295> BRACE_OPEN[ STRUCT][ 9/ 78/ 79/ 1][2/2/1][ 100041000][0-0] {
# 295> NEWLINE[ NONE][ 10/ 79/ 13/ 0][3/3/1][ 1000][1-0]
# 296> QUALIFIER[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 10471400][0-0] static
# 296> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1400][1-0]
# 296> QUALIFIER[ NONE][ 9/ 20/ 29/ 1][3/3/1][ 10411400][0-0] constexpr
# 296> NEWLINE[ NONE][ 18/ 29/ 0/ 0][3/3/1][ 1400][1-0]
# 296> TYPE[ NONE][ 9/ 30/ 34/ 1][3/3/1][ 10411400][0-0] bool
# 296> NEWLINE[ NONE][ 14/ 34/ 0/ 0][3/3/1][ 1400][1-0]
# 296> WORD[ NONE][ 17/ 35/ 40/ 1][3/3/1][ 11801400][0-0] value
# 296> NEWLINE[ NONE][ 27/ 40/ 0/ 0][3/3/1][ 1400][1-0]
# 296> ASSIGN[ NONE][ 17/ 41/ 42/ 1][3/3/1][ 100101400][0-0] =
# 296> NEWLINE[ NONE][ 33/ 42/ 0/ 0][3/3/1][ 1400][1-0]
# 296> TYPE[ NONE][ 25/ 43/ 46/ 1][3/3/1][ 41400][0-0] std
# 296> NEWLINE[ NONE][ 43/ 46/ 0/ 0][3/3/1][ 1400][1-0]
# 296> DC_MEMBER[ NONE][ 25/ 46/ 48/ 0][3/3/1][ 100001400][0-0] ::
# 296> NEWLINE[ NONE][ 46/ 48/ 0/ 0][3/3/1][ 1400][1-0]
# 296> WORD[ NONE][ 25/ 48/ 62/ 0][3/3/1][ 1400][0-0] numeric_limits
# 296> ANGLE_OPEN[ TEMPLATE][ 39/ 62/ 63/ 0][3/3/1][ 100001440][0-0] <
# 296> TYPE[ NONE][ 40/ 63/ 74/ 0][3/4/1][ 41440][0-0] Encompasser
# 296> ANGLE_CLOSE[ TEMPLATE][ 51/ 74/ 75/ 0][3/3/1][ 100001440][0-0] >
# 296> NEWLINE[ NONE][ 74/ 75/ 0/ 0][3/3/1][ 1440][1-0]
# 296> DC_MEMBER[ NONE][ 25/ 75/ 77/ 0][3/3/1][ 100041400][0-0] ::
# 296> NEWLINE[ NONE][ 75/ 77/ 0/ 0][3/3/1][ 1400][1-0]
# 296> FUNC_CALL[ NONE][ 25/ 77/ 83/ 0][3/3/1][ 1400][0-0] lowest
# 296> FPAREN_OPEN[ FUNC_CALL][ 31/ 83/ 84/ 0][3/3/1][ 100001400][0-0] (
# 296> FPAREN_CLOSE[ FUNC_CALL][ 32/ 84/ 85/ 0][3/3/1][ 100001400][0-0] )
# 296> NEWLINE[ NONE][ 84/ 85/ 0/ 0][3/3/1][ 1400][1-0]
# 297> COMPARE[ NONE][ 25/ 86/ 88/ 0][3/3/1][ 100001400][0-0] <=
# 296> NEWLINE[ NONE][ 27/ 85/ 43/ 0][3/3/1][ 1000][1-0]
# 297> TYPE[ NONE][ 25/ 46/ 49/ 1][3/3/1][ 41400][0-0] std
# 297> NEWLINE[ NONE][ 33/ 49/ 0/ 0][3/3/1][ 1400][1-0]
# 297> DC_MEMBER[ NONE][ 25/ 49/ 51/ 0][3/3/1][ 100001400][0-0] ::
# 297> NEWLINE[ NONE][ 49/ 51/ 0/ 0][3/3/1][ 1400][1-0]
# 297> WORD[ NONE][ 25/ 51/ 65/ 0][3/3/1][ 1400][0-0] numeric_limits
# 297> ANGLE_OPEN[ TEMPLATE][ 39/ 65/ 66/ 0][3/3/1][ 100001440][0-0] <
# 297> TYPE[ NONE][ 40/ 66/ 77/ 0][3/4/1][ 41440][0-0] Encompassed
# 297> ANGLE_CLOSE[ TEMPLATE][ 51/ 77/ 78/ 0][3/3/1][ 100001440][0-0] >
# 297> NEWLINE[ NONE][ 77/ 78/ 0/ 0][3/3/1][ 1440][1-0]
# 297> DC_MEMBER[ NONE][ 25/ 78/ 80/ 0][3/3/1][ 100041400][0-0] ::
# 297> NEWLINE[ NONE][ 78/ 80/ 0/ 0][3/3/1][ 1400][1-0]
# 297> FUNC_CALL[ NONE][ 25/ 80/ 86/ 0][3/3/1][ 1400][0-0] lowest
# 297> FPAREN_OPEN[ FUNC_CALL][ 31/ 86/ 87/ 0][3/3/1][ 100001400][0-0] (
# 297> FPAREN_CLOSE[ FUNC_CALL][ 32/ 87/ 88/ 0][3/3/1][ 100001400][0-0] )
# 297> SEMICOLON[ NONE][ 33/ 88/ 89/ 0][3/3/1][ 100001400][0-0] ;
# 297> NEWLINE[ NONE][ 34/ 89/ 9/ 0][3/3/1][ 1000][1-0]
# 298> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 298> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 298> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 300> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 300> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 300> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 300> WORD[ NONE][ 16/ 24/ 35/ 1][2/3/1][ 1040][0-0] Encompasser
# 300> COMMA[ NONE][ 27/ 35/ 36/ 0][2/3/1][ 100001040][0-0] ,
# 300> NEWLINE[ NONE][ 35/ 36/ 0/ 0][2/3/1][ 1040][1-0]
# 300> TYPE[ NONE][ 10/ 37/ 42/ 1][2/3/1][ 51040][0-0] class
# 300> TYPE[ NONE][ 16/ 43/ 54/ 1][2/3/1][ 1040][0-0] Encompassed
# 300> ANGLE_CLOSE[ TEMPLATE][ 27/ 54/ 55/ 0][2/2/1][ 100001040][0-0] >
# 300> NEWLINE[ NONE][ 28/ 55/ 9/ 0][2/2/1][ 801000][2-0]
# 301> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 301> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 301> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] encompasses_lower
# 301> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 301> WORD[ NONE][ 19/ 34/ 45/ 0][2/3/1][ 41040][0-0] Encompasser
# 301> COMMA[ NONE][ 30/ 45/ 46/ 0][2/3/1][ 100001040][0-0] ,
# 301> NEWLINE[ NONE][ 31/ 46/ 0/ 0][2/3/1][ 1040][1-0]
# 301> WORD[ NONE][ 19/ 47/ 58/ 1][2/3/1][ 41040][0-0] Encompassed
# 301> COMMA[ NONE][ 30/ 58/ 59/ 0][2/3/1][ 100001040][0-0] ,
# 301> NEWLINE[ NONE][ 31/ 59/ 17/ 0][2/3/1][ 1000][1-0]
# 302> WORD[ NONE][ 19/ 17/ 28/ 0][2/3/1][ 41040][0-0] enable_if_t
# 302> ANGLE_OPEN[ TEMPLATE][ 30/ 28/ 29/ 0][2/3/1][ 100001040][0-0] <
# 302> NOT[ NONE][ 31/ 29/ 30/ 0][2/4/1][ 100041040][0-0] !
# 302> TYPE[ NONE][ 32/ 30/ 33/ 0][2/4/1][ 41040][0-0] std
# 302> DC_MEMBER[ NONE][ 35/ 33/ 35/ 0][2/4/1][ 100001040][0-0] ::
# 302> WORD[ NONE][ 37/ 35/ 49/ 0][2/4/1][ 1040][0-0] numeric_limits
# 302> ANGLE_OPEN[ TEMPLATE][ 51/ 49/ 50/ 0][2/4/1][ 100001040][0-0] <
# 302> TYPE[ NONE][ 52/ 50/ 61/ 0][2/5/1][ 41040][0-0] Encompassed
# 302> ANGLE_CLOSE[ TEMPLATE][ 63/ 61/ 62/ 0][2/4/1][ 100001040][0-0] >
# 302> DC_MEMBER[ NONE][ 64/ 62/ 64/ 0][2/4/1][ 100041040][0-0] ::
# 302> TYPE[ NONE][ 66/ 64/ 73/ 0][2/4/1][ 1040][0-0] is_signed
# 302> ANGLE_CLOSE[ TEMPLATE][ 75/ 73/ 74/ 0][2/3/1][ 100001040][0-0] >
# 302> ANGLE_CLOSE[ TEMPLATE][ 76/ 74/ 75/ 0][2/2/1][ 100041040][0-0] >
# 302> NEWLINE[ NONE][ 77/ 75/ 0/ 0][2/2/1][ 1040][1-0]
# 302> CLASS_COLON[ NONE][ 9/ 76/ 77/ 1][2/2/1][ 100041800][0-0] :
# 302> NEWLINE[ NONE][ 68/ 77/ 0/ 0][2/2/1][ 1800][1-0]
# 302> TYPE[ NONE][ 9/ 78/ 81/ 1][2/2/1][ 61800][0-0] std
# 302> NEWLINE[ NONE][ 70/ 81/ 0/ 0][2/2/1][ 1800][1-0]
# 302> DC_MEMBER[ NONE][ 9/ 81/ 83/ 0][2/2/1][ 100001800][0-0] ::
# 302> NEWLINE[ NONE][ 73/ 83/ 0/ 0][2/2/1][ 1800][1-0]
# 302> WORD[ NONE][ 9/ 83/ 92/ 0][2/2/1][ 1801800][0-0] true_type
# 302> NEWLINE[ NONE][ 75/ 92/ 0/ 0][2/2/1][ 1800][1-0]
# 302> BRACE_OPEN[ STRUCT][ 9/ 93/ 94/ 1][2/2/1][ 140001000][0-0] {
# 302> NEWLINE[ NONE][ 10/ 94/ 9/ 0][3/3/1][ 1000][1-0]
# 303> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 303> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 303> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 305> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 305> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 305> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 305> WORD[ NONE][ 16/ 24/ 35/ 1][2/3/1][ 1040][0-0] Encompasser
# 305> COMMA[ NONE][ 27/ 35/ 36/ 0][2/3/1][ 100001040][0-0] ,
# 305> NEWLINE[ NONE][ 35/ 36/ 0/ 0][2/3/1][ 1040][1-0]
# 305> TYPE[ NONE][ 10/ 37/ 42/ 1][2/3/1][ 51040][0-0] class
# 305> TYPE[ NONE][ 16/ 43/ 54/ 1][2/3/1][ 1040][0-0] Encompassed
# 305> ANGLE_CLOSE[ TEMPLATE][ 27/ 54/ 55/ 0][2/2/1][ 100001040][0-0] >
# 305> NEWLINE[ NONE][ 28/ 55/ 9/ 0][2/2/1][ 801000][2-0]
# 306> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 306> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 306> TYPE[ STRUCT][ 1/ 16/ 33/ 1][2/2/1][ 1000][0-0] encompasses_lower
# 306> ANGLE_OPEN[ STRUCT][ 18/ 33/ 34/ 0][2/2/1][ 100001040][0-0] <
# 306> WORD[ NONE][ 19/ 34/ 45/ 0][2/3/1][ 41040][0-0] Encompasser
# 306> COMMA[ NONE][ 30/ 45/ 46/ 0][2/3/1][ 100001040][0-0] ,
# 306> NEWLINE[ NONE][ 31/ 46/ 0/ 0][2/3/1][ 1040][1-0]
# 306> WORD[ NONE][ 19/ 47/ 58/ 1][2/3/1][ 41040][0-0] Encompassed
# 306> COMMA[ NONE][ 30/ 58/ 59/ 0][2/3/1][ 100001040][0-0] ,
# 306> NEWLINE[ NONE][ 31/ 59/ 17/ 0][2/3/1][ 1000][1-0]
# 307> WORD[ NONE][ 19/ 17/ 28/ 0][2/3/1][ 41040][0-0] enable_if_t
# 307> ANGLE_OPEN[ TEMPLATE][ 30/ 28/ 29/ 0][2/3/1][ 100001040][0-0] <
# 307> NOT[ NONE][ 31/ 29/ 30/ 0][2/4/1][ 100041040][0-0] !
# 307> TYPE[ NONE][ 32/ 30/ 33/ 0][2/4/1][ 41040][0-0] std
# 307> DC_MEMBER[ NONE][ 35/ 33/ 35/ 0][2/4/1][ 100001040][0-0] ::
# 307> WORD[ NONE][ 37/ 35/ 49/ 0][2/4/1][ 1040][0-0] numeric_limits
# 307> ANGLE_OPEN[ TEMPLATE][ 51/ 49/ 50/ 0][2/4/1][ 100001040][0-0] <
# 307> TYPE[ NONE][ 52/ 50/ 61/ 0][2/5/1][ 41040][0-0] Encompasser
# 307> ANGLE_CLOSE[ TEMPLATE][ 63/ 61/ 62/ 0][2/4/1][ 100001040][0-0] >
# 307> DC_MEMBER[ NONE][ 64/ 62/ 64/ 0][2/4/1][ 100041040][0-0] ::
# 307> WORD[ NONE][ 66/ 64/ 73/ 0][2/4/1][ 1040][0-0] is_signed
# 308> BOOL[ NONE][ 76/ 74/ 76/ 0][2/4/1][ 100001040][0-0] &&
# 307> NEWLINE[ NONE][ 78/ 73/ 29/ 0][2/4/1][ 1000][1-0]
# 308> TYPE[ NONE][ 31/ 32/ 35/ 1][2/4/1][ 41040][0-0] std
# 308> DC_MEMBER[ NONE][ 34/ 35/ 37/ 0][2/4/1][ 100001040][0-0] ::
# 308> WORD[ NONE][ 36/ 37/ 51/ 0][2/4/1][ 1040][0-0] numeric_limits
# 308> ANGLE_OPEN[ TEMPLATE][ 50/ 51/ 52/ 0][2/4/1][ 100001040][0-0] <
# 308> TYPE[ NONE][ 51/ 52/ 63/ 0][2/5/1][ 41040][0-0] Encompassed
# 308> ANGLE_CLOSE[ TEMPLATE][ 62/ 63/ 64/ 0][2/4/1][ 100001040][0-0] >
# 308> DC_MEMBER[ NONE][ 63/ 64/ 66/ 0][2/4/1][ 100041040][0-0] ::
# 308> TYPE[ NONE][ 65/ 66/ 75/ 0][2/4/1][ 1040][0-0] is_signed
# 308> ANGLE_CLOSE[ TEMPLATE][ 74/ 75/ 76/ 0][2/3/1][ 100001040][0-0] >
# 308> ANGLE_CLOSE[ TEMPLATE][ 75/ 76/ 77/ 0][2/2/1][ 100041040][0-0] >
# 308> NEWLINE[ NONE][ 76/ 77/ 0/ 0][2/2/1][ 1040][1-0]
# 308> CLASS_COLON[ NONE][ 9/ 78/ 79/ 1][2/2/1][ 100041800][0-0] :
# 308> NEWLINE[ NONE][ 70/ 79/ 0/ 0][2/2/1][ 1800][1-0]
# 308> TYPE[ NONE][ 9/ 80/ 83/ 1][2/2/1][ 61800][0-0] std
# 308> NEWLINE[ NONE][ 72/ 83/ 0/ 0][2/2/1][ 1800][1-0]
# 308> DC_MEMBER[ NONE][ 9/ 83/ 85/ 0][2/2/1][ 100001800][0-0] ::
# 308> NEWLINE[ NONE][ 75/ 85/ 0/ 0][2/2/1][ 1800][1-0]
# 308> WORD[ NONE][ 9/ 85/ 95/ 0][2/2/1][ 1801800][0-0] false_type
# 308> NEWLINE[ NONE][ 77/ 95/ 0/ 0][2/2/1][ 1800][1-0]
# 308> BRACE_OPEN[ STRUCT][ 9/ 96/ 97/ 1][2/2/1][ 140001000][0-0] {
# 308> NEWLINE[ NONE][ 10/ 97/ 9/ 0][3/3/1][ 1000][1-0]
# 309> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 309> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 309> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 311> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 85/ 0][2/2/1][ 1000][0-0] // true if Encompassed can be cast to Encompasser without chance of overflow
# 311> NEWLINE[ NONE][ 77/ 85/ 9/ 0][2/2/1][ 1000][1-0]
# 312> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 312> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 312> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 312> WORD[ NONE][ 16/ 24/ 35/ 1][2/3/1][ 1040][0-0] Encompasser
# 312> COMMA[ NONE][ 27/ 35/ 36/ 0][2/3/1][ 100001040][0-0] ,
# 312> NEWLINE[ NONE][ 35/ 36/ 0/ 0][2/3/1][ 1040][1-0]
# 312> TYPE[ NONE][ 10/ 37/ 42/ 1][2/3/1][ 51040][0-0] class
# 312> TYPE[ NONE][ 16/ 43/ 54/ 1][2/3/1][ 1040][0-0] Encompassed
# 312> ANGLE_CLOSE[ TEMPLATE][ 27/ 54/ 55/ 0][2/2/1][ 100001040][0-0] >
# 312> NEWLINE[ NONE][ 28/ 55/ 9/ 0][2/2/1][ 801000][2-0]
# 313> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51002][0-0] struct
# 313> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1002][1-0]
# 313> TYPE[ STRUCT][ 1/ 16/ 27/ 1][2/2/1][ 1002][0-0] encompasses
# 313> NEWLINE[ NONE][ 12/ 27/ 0/ 0][2/2/1][ 1002][1-0]
# 313> BRACE_OPEN[ STRUCT][ 9/ 28/ 29/ 1][2/2/1][ 100001002][0-0] {
# 313> NEWLINE[ NONE][ 10/ 29/ 13/ 0][3/3/1][ 1002][1-0]
# 314> QUALIFIER[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 10471402][0-0] static
# 314> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1402][1-0]
# 314> QUALIFIER[ NONE][ 9/ 20/ 29/ 1][3/3/1][ 10411402][0-0] constexpr
# 314> NEWLINE[ NONE][ 18/ 29/ 0/ 0][3/3/1][ 1402][1-0]
# 314> TYPE[ NONE][ 9/ 30/ 34/ 1][3/3/1][ 10411402][0-0] bool
# 314> NEWLINE[ NONE][ 14/ 34/ 0/ 0][3/3/1][ 1402][1-0]
# 314> WORD[ NONE][ 17/ 35/ 41/ 1][3/3/1][ 11801402][0-0] _lower
# 314> NEWLINE[ NONE][ 27/ 41/ 0/ 0][3/3/1][ 1402][1-0]
# 314> ASSIGN[ NONE][ 17/ 42/ 43/ 1][3/3/1][ 100301402][0-0] =
# 314> NEWLINE[ NONE][ 34/ 43/ 0/ 0][3/3/1][ 1402][1-0]
# 314> WORD[ NONE][ 25/ 44/ 61/ 1][3/3/1][ 41402][0-0] encompasses_lower
# 314> ANGLE_OPEN[ TEMPLATE][ 42/ 61/ 62/ 0][3/3/1][ 100001442][0-0] <
# 314> WORD[ NONE][ 43/ 62/ 73/ 0][3/4/1][ 41442][0-0] Encompasser
# 314> COMMA[ NONE][ 54/ 73/ 74/ 0][3/4/1][ 100001442][0-0] ,
# 314> NEWLINE[ NONE][ 73/ 74/ 0/ 0][3/4/1][ 1442][1-0]
# 314> TYPE[ NONE][ 43/ 75/ 86/ 1][3/4/1][ 41442][0-0] Encompassed
# 314> ANGLE_CLOSE[ TEMPLATE][ 54/ 86/ 87/ 0][3/3/1][ 100001442][0-0] >
# 314> NEWLINE[ NONE][120/ 87/ 0/ 0][3/3/1][ 1442][1-0]
# 314> DC_MEMBER[ NONE][ 25/ 87/ 89/ 0][3/3/1][ 100041402][0-0] ::
# 314> NEWLINE[ NONE][ 87/ 89/ 0/ 0][3/3/1][ 1402][1-0]
# 314> WORD[ NONE][ 25/ 89/ 94/ 0][3/3/1][ 1402][0-0] value
# 314> SEMICOLON[ NONE][ 30/ 94/ 95/ 0][3/3/1][ 100001402][0-0] ;
# 314> NEWLINE[ NONE][ 31/ 95/ 13/ 0][3/3/1][ 1002][1-0]
# 315> QUALIFIER[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 10471402][0-0] static
# 315> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1402][1-0]
# 315> QUALIFIER[ NONE][ 9/ 20/ 29/ 1][3/3/1][ 10411402][0-0] constexpr
# 315> NEWLINE[ NONE][ 18/ 29/ 0/ 0][3/3/1][ 1402][1-0]
# 315> TYPE[ NONE][ 9/ 30/ 34/ 1][3/3/1][ 10411402][0-0] bool
# 315> NEWLINE[ NONE][ 14/ 34/ 0/ 0][3/3/1][ 1402][1-0]
# 315> WORD[ NONE][ 17/ 35/ 41/ 1][3/3/1][ 11801402][0-0] _upper
# 315> NEWLINE[ NONE][ 27/ 41/ 0/ 0][3/3/1][ 1402][1-0]
# 315> ASSIGN[ NONE][ 17/ 42/ 43/ 1][3/3/1][ 100301402][0-0] =
# 315> NEWLINE[ NONE][ 18/ 43/ 21/ 0][3/3/1][ 1002][1-0]
# 316> TYPE_CAST[ NONE][ 25/ 21/ 32/ 0][3/3/1][ 41402][0-0] static_cast
# 316> NEWLINE[ NONE][ 36/ 32/ 0/ 0][3/3/1][ 1402][1-0]
# 316> ANGLE_OPEN[ TYPE_CAST][ 25/ 32/ 33/ 0][3/3/1][ 100001402][0-0] <
# 316> NEWLINE[ NONE][ 32/ 33/ 0/ 0][3/3/1][ 1402][1-0]
# 316> TYPE[ NONE][ 26/ 33/ 52/ 0][3/4/1][ 41402][0-0] unsigned_or_float_t
# 316> ANGLE_OPEN[ TEMPLATE][ 45/ 52/ 53/ 0][3/4/1][ 100001442][0-0] <
# 316> TYPE[ NONE][ 46/ 53/ 64/ 0][3/5/1][ 41442][0-0] Encompasser
# 316> ANGLE_CLOSE[ TEMPLATE][ 57/ 64/ 65/ 0][3/4/1][ 100001442][0-0] >
# 316> ANGLE_CLOSE[ TYPE_CAST][ 58/ 66/ 67/ 1][3/3/1][ 100041402][0-0] >
# 316> PAREN_OPEN[ TYPE_CAST][ 59/ 67/ 68/ 0][3/3/1][ 100041402][0-0] (
# 316> NEWLINE[ NONE][ 68/ 68/ 0/ 0][3/3/1][ 1402][1-0]
# 316> TYPE[ NONE][ 60/ 68/ 71/ 0][3/4/1][ 41402][0-0] std
# 316> NEWLINE[ NONE][103/ 71/ 0/ 0][3/4/1][ 1402][1-0]
# 316> DC_MEMBER[ NONE][ 60/ 71/ 73/ 0][3/4/1][ 100001402][0-0] ::
# 316> NEWLINE[ NONE][106/ 73/ 0/ 0][3/4/1][ 1402][1-0]
# 316> WORD[ NONE][ 60/ 73/ 87/ 0][3/4/1][ 1402][0-0] numeric_limits
# 316> ANGLE_OPEN[ TEMPLATE][ 74/ 87/ 88/ 0][3/4/1][ 100001442][0-0] <
# 316> TYPE[ NONE][ 75/ 88/ 99/ 0][3/5/1][ 41442][0-0] Encompasser
# 316> ANGLE_CLOSE[ TEMPLATE][ 86/ 99/100/ 0][3/4/1][ 100001442][0-0] >
# 316> NEWLINE[ NONE][134/100/ 0/ 0][3/4/1][ 1442][1-0]
# 316> DC_MEMBER[ NONE][ 60/100/102/ 0][3/4/1][ 100041402][0-0] ::
# 316> NEWLINE[ NONE][135/102/ 0/ 0][3/4/1][ 1402][1-0]
# 316> FUNC_CALL[ NONE][ 60/102/105/ 0][3/4/1][ 1402][0-0] max
# 316> FPAREN_OPEN[ FUNC_CALL][ 63/105/106/ 0][3/4/1][ 100001402][0-0] (
# 316> FPAREN_CLOSE[ FUNC_CALL][ 64/106/107/ 0][3/4/1][ 100001402][0-0] )
# 316> PAREN_CLOSE[ TYPE_CAST][ 65/107/108/ 0][3/3/1][ 100001402][0-0] )
# 316> NEWLINE[ NONE][142/108/ 0/ 0][3/3/1][ 1402][1-0]
# 317> COMPARE[ NONE][ 25/109/111/ 0][3/3/1][ 100001402][0-0] >=
# 316> NEWLINE[ NONE][ 27/108/ 21/ 0][3/3/1][ 1002][1-0]
# 317> TYPE_CAST[ NONE][ 25/ 24/ 35/ 1][3/3/1][ 41402][0-0] static_cast
# 317> NEWLINE[ NONE][ 36/ 35/ 0/ 0][3/3/1][ 1402][1-0]
# 317> ANGLE_OPEN[ TYPE_CAST][ 25/ 35/ 36/ 0][3/3/1][ 100001402][0-0] <
# 317> NEWLINE[ NONE][ 35/ 36/ 0/ 0][3/3/1][ 1402][1-0]
# 317> TYPE[ NONE][ 26/ 36/ 55/ 0][3/4/1][ 41402][0-0] unsigned_or_float_t
# 317> ANGLE_OPEN[ TEMPLATE][ 45/ 55/ 56/ 0][3/4/1][ 100001442][0-0] <
# 317> TYPE[ NONE][ 46/ 56/ 67/ 0][3/5/1][ 41442][0-0] Encompassed
# 317> ANGLE_CLOSE[ TEMPLATE][ 57/ 67/ 68/ 0][3/4/1][ 100001442][0-0] >
# 317> ANGLE_CLOSE[ TYPE_CAST][ 58/ 69/ 70/ 1][3/3/1][ 100041402][0-0] >
# 317> PAREN_OPEN[ TYPE_CAST][ 59/ 70/ 71/ 0][3/3/1][ 100041402][0-0] (
# 317> NEWLINE[ NONE][ 71/ 71/ 0/ 0][3/3/1][ 1402][1-0]
# 317> TYPE[ NONE][ 60/ 71/ 74/ 0][3/4/1][ 41402][0-0] std
# 317> NEWLINE[ NONE][106/ 74/ 0/ 0][3/4/1][ 1402][1-0]
# 317> DC_MEMBER[ NONE][ 60/ 74/ 76/ 0][3/4/1][ 100001402][0-0] ::
# 317> NEWLINE[ NONE][109/ 76/ 0/ 0][3/4/1][ 1402][1-0]
# 317> WORD[ NONE][ 60/ 76/ 90/ 0][3/4/1][ 1402][0-0] numeric_limits
# 317> ANGLE_OPEN[ TEMPLATE][ 74/ 90/ 91/ 0][3/4/1][ 100001442][0-0] <
# 317> TYPE[ NONE][ 75/ 91/102/ 0][3/5/1][ 41442][0-0] Encompassed
# 317> ANGLE_CLOSE[ TEMPLATE][ 86/102/103/ 0][3/4/1][ 100001442][0-0] >
# 317> NEWLINE[ NONE][137/103/ 0/ 0][3/4/1][ 1442][1-0]
# 317> DC_MEMBER[ NONE][ 60/103/105/ 0][3/4/1][ 100041402][0-0] ::
# 317> NEWLINE[ NONE][138/105/ 0/ 0][3/4/1][ 1402][1-0]
# 317> FUNC_CALL[ NONE][ 60/105/108/ 0][3/4/1][ 1402][0-0] max
# 317> FPAREN_OPEN[ FUNC_CALL][ 63/108/109/ 0][3/4/1][ 100001402][0-0] (
# 317> FPAREN_CLOSE[ FUNC_CALL][ 64/109/110/ 0][3/4/1][ 100001402][0-0] )
# 317> PAREN_CLOSE[ TYPE_CAST][ 65/110/111/ 0][3/3/1][ 100001402][0-0] )
# 317> SEMICOLON[ NONE][ 66/111/112/ 0][3/3/1][ 100001402][0-0] ;
# 317> NEWLINE[ NONE][ 67/112/ 13/ 0][3/3/1][ 1002][2-0]
# 319> QUALIFIER[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 10471402][0-0] static
# 319> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1402][1-0]
# 319> QUALIFIER[ NONE][ 9/ 20/ 29/ 1][3/3/1][ 10411402][0-0] constexpr
# 319> NEWLINE[ NONE][ 18/ 29/ 0/ 0][3/3/1][ 1402][1-0]
# 319> TYPE[ NONE][ 9/ 30/ 34/ 1][3/3/1][ 10411402][0-0] bool
# 319> NEWLINE[ NONE][ 14/ 34/ 0/ 0][3/3/1][ 1402][1-0]
# 319> WORD[ NONE][ 17/ 35/ 40/ 1][3/3/1][ 11801402][0-0] value
# 319> NEWLINE[ NONE][ 27/ 40/ 0/ 0][3/3/1][ 1402][1-0]
# 319> ASSIGN[ NONE][ 17/ 41/ 42/ 1][3/3/1][ 100101402][0-0] =
# 319> NEWLINE[ NONE][ 33/ 42/ 0/ 0][3/3/1][ 1402][1-0]
# 319> WORD[ NONE][ 25/ 43/ 49/ 1][3/3/1][ 41402][0-0] _lower
# 319> NEWLINE[ NONE][ 43/ 49/ 0/ 0][3/3/1][ 1402][1-0]
# 319> BOOL[ NONE][ 25/ 50/ 52/ 1][3/3/1][ 100001402][0-0] &&
# 319> NEWLINE[ NONE][ 50/ 52/ 0/ 0][3/3/1][ 1402][1-0]
# 319> WORD[ NONE][ 25/ 53/ 59/ 1][3/3/1][ 41402][0-0] _upper
# 319> SEMICOLON[ NONE][ 31/ 59/ 60/ 0][3/3/1][ 100001402][0-0] ;
# 319> NEWLINE[ NONE][ 32/ 60/ 9/ 0][3/3/1][ 1002][1-0]
# 320> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 100001400][0-0] }
# 320> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 320> NEWLINE[ NONE][ 11/ 11/ 9/ 0][2/2/1][ 801000][6-0]
# 322> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 89/ 0][2/2/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 322> NEWLINE[ NONE][ 81/ 89/ 9/ 0][2/2/1][ 1000][1-0]
# 323> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 9/ 96/ 0][2/2/1][ 1000][0-0] // cnl::_impl::is_integer_or_float - trait to identify 'traditional' arithmetic concept
# 323> NEWLINE[ NONE][ 88/ 96/ 9/ 0][2/2/1][ 1000][2-0]
# 325> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 325> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 325> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 325> TYPE[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 325> ANGLE_CLOSE[ TEMPLATE][ 17/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 325> NEWLINE[ NONE][ 18/ 26/ 9/ 0][2/2/1][ 801000][2-0]
# 326> STRUCT[ TEMPLATE][ 1/ 9/ 15/ 0][2/2/1][ 51000][0-0] struct
# 326> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 326> TYPE[ STRUCT][ 1/ 16/ 35/ 1][2/2/1][ 1000][0-0] is_integer_or_float
# 326> NEWLINE[ NONE][ 20/ 35/ 0/ 0][2/2/1][ 1000][1-0]
# 326> CLASS_COLON[ STRUCT][ 9/ 36/ 37/ 1][2/2/1][ 100001800][0-0] :
# 326> NEWLINE[ NONE][ 28/ 37/ 0/ 0][2/2/1][ 1800][1-0]
# 326> TYPE[ NONE][ 9/ 38/ 41/ 1][2/2/1][ 61800][0-0] std
# 326> NEWLINE[ NONE][ 30/ 41/ 0/ 0][2/2/1][ 1800][1-0]
# 326> DC_MEMBER[ NONE][ 9/ 41/ 43/ 0][2/2/1][ 100001800][0-0] ::
# 326> NEWLINE[ NONE][ 33/ 43/ 0/ 0][2/2/1][ 1800][1-0]
# 326> WORD[ NONE][ 9/ 43/ 60/ 0][2/2/1][ 1801800][0-0] integral_constant
# 326> ANGLE_OPEN[ TEMPLATE][ 26/ 60/ 61/ 0][2/2/1][ 100001840][0-0] <
# 326> NEWLINE[ NONE][ 27/ 61/ 17/ 0][2/3/1][ 1000][1-0]
# 327> TYPE[ NONE][ 27/ 17/ 21/ 0][2/3/1][ 41840][0-0] bool
# 327> COMMA[ NONE][ 31/ 21/ 22/ 0][2/3/1][ 100001840][0-0] ,
# 327> NEWLINE[ NONE][ 32/ 22/ 17/ 0][2/3/1][ 1000][1-0]
# 328> TYPE[ NONE][ 27/ 17/ 20/ 0][2/3/1][ 41840][0-0] std
# 328> DC_MEMBER[ NONE][ 30/ 20/ 22/ 0][2/3/1][ 100001840][0-0] ::
# 328> WORD[ NONE][ 32/ 22/ 36/ 0][2/3/1][ 1840][0-0] numeric_limits
# 328> ANGLE_OPEN[ TEMPLATE][ 46/ 36/ 37/ 0][2/3/1][ 100001840][0-0] <
# 328> TYPE[ NONE][ 47/ 37/ 38/ 0][2/4/1][ 41840][0-0] T
# 328> ANGLE_CLOSE[ TEMPLATE][ 48/ 38/ 39/ 0][2/3/1][ 100001840][0-0] >
# 328> DC_MEMBER[ NONE][ 49/ 39/ 41/ 0][2/3/1][ 100041840][0-0] ::
# 328> WORD[ NONE][ 51/ 41/ 51/ 0][2/3/1][ 1840][0-0] is_integer
# 328> BOOL[ NONE][ 62/ 52/ 54/ 1][2/3/1][ 100001840][0-0] ||
# 328> NEWLINE[ NONE][ 64/ 54/ 0/ 0][2/3/1][ 1840][1-0]
# 328> TYPE[ NONE][ 27/ 55/ 58/ 1][2/3/1][ 41840][0-0] std
# 328> DC_MEMBER[ NONE][ 30/ 58/ 60/ 0][2/3/1][ 100001840][0-0] ::
# 328> WORD[ NONE][ 32/ 60/ 74/ 0][2/3/1][ 1840][0-0] numeric_limits
# 328> ANGLE_OPEN[ TEMPLATE][ 46/ 74/ 75/ 0][2/3/1][ 100001840][0-0] <
# 328> TYPE[ NONE][ 47/ 75/ 76/ 0][2/4/1][ 41840][0-0] T
# 328> ANGLE_CLOSE[ TEMPLATE][ 48/ 76/ 77/ 0][2/3/1][ 100001840][0-0] >
# 328> DC_MEMBER[ NONE][ 49/ 77/ 79/ 0][2/3/1][ 100041840][0-0] ::
# 328> TYPE[ NONE][ 51/ 79/ 88/ 0][2/3/1][ 1840][0-0] is_iec559
# 328> ANGLE_CLOSE[ TEMPLATE][ 60/ 88/ 89/ 0][2/2/1][ 100001840][0-0] >
# 328> NEWLINE[ NONE][ 88/ 89/ 0/ 0][2/2/1][ 1840][1-0]
# 328> BRACE_OPEN[ STRUCT][ 9/ 90/ 91/ 1][2/2/1][ 140041000][0-0] {
# 328> NEWLINE[ NONE][ 10/ 91/ 9/ 0][3/3/1][ 1000][1-0]
# 329> BRACE_CLOSE[ STRUCT][ 9/ 9/ 10/ 0][2/2/1][ 140001400][0-0] }
# 329> SEMICOLON[ STRUCT][ 10/ 10/ 11/ 0][2/2/1][ 100001000][0-0] ;
# 329> NEWLINE[ NONE][ 11/ 11/ 5/ 0][2/2/1][ 1000][1-0]
# 330> BRACE_CLOSE[ NAMESPACE][ 1/ 5/ 6/ 0][1/1/1][ 500001000][0-0] }
# 330> NEWLINE[ NONE][ 2/ 6/ 5/ 0][1/1/1][ 1000][2-0]
# 332> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 332> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 333> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 26/ 0][1/1/1][ 1000][0-0] // cnl::_impl::to_rep
# 333> NEWLINE[ NONE][ 22/ 26/ 5/ 0][1/1/1][ 1000][2-0]
# 335> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 335> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 335> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 335> WORD[ NONE][ 16/ 20/ 26/ 1][1/2/1][ 1040][0-0] Number
# 335> COMMA[ NONE][ 22/ 26/ 27/ 0][1/2/1][ 100001040][0-0] ,
# 335> NEWLINE[ NONE][ 26/ 27/ 0/ 0][1/2/1][ 1040][1-0]
# 335> TYPE[ NONE][ 10/ 28/ 33/ 1][1/2/1][ 10051040][0-0] class
# 335> WORD[ NONE][ 16/ 34/ 40/ 1][1/2/1][ 10001040][0-0] Enable
# 335> ASSIGN[ NONE][ 22/ 41/ 42/ 1][1/2/1][ 100001040][0-0] =
# 335> TYPE[ NONE][ 23/ 43/ 47/ 1][1/2/1][ 41040][0-0] void
# 335> ANGLE_CLOSE[ TEMPLATE][ 27/ 47/ 48/ 0][1/1/1][ 100001040][0-0] >
# 335> NEWLINE[ NONE][ 28/ 48/ 5/ 0][1/1/1][ 801000][2-0]
# 336> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51002][0-0] struct
# 336> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1002][1-0]
# 336> TYPE[ STRUCT][ 1/ 12/ 18/ 1][1/1/1][ 1002][0-0] to_rep
# 336> NEWLINE[ NONE][ 7/ 18/ 0/ 0][1/1/1][ 1002][1-0]
# 336> BRACE_OPEN[ STRUCT][ 9/ 19/ 20/ 1][1/1/1][ 100001002][0-0] {
# 336> NEWLINE[ NONE][ 10/ 20/ 9/ 0][2/2/1][ 1002][1-0]
# 337> QUALIFIER[ FUNC_DEF][ 1/ 9/ 18/ 0][2/2/1][ 71402][0-0] constexpr
# 337> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1402][1-0]
# 337> TYPE[ FUNC_DEF][ 1/ 19/ 25/ 1][2/2/1][ 11402][0-0] Number
# 337> NEWLINE[ NONE][ 7/ 25/ 0/ 0][2/2/1][ 1402][1-0]
# 337> OPERATOR[ FUNC_DEF][ 1/ 26/ 34/ 1][2/2/1][ 1402][0-0] operator
# 337> NEWLINE[ NONE][ 10/ 34/ 0/ 0][2/2/1][ 1402][1-0]
# 337> FUNC_DEF[ OPERATOR][ 1/ 34/ 36/ 0][2/2/1][ 100001402][0-0] ()
# 337> NEWLINE[ NONE][ 3/ 36/ 0/ 0][2/2/1][ 1402][1-0]
# 337> FPAREN_OPEN[ FUNC_DEF][ 1/ 36/ 37/ 0][2/2/1][ 100001402][0-0] (
# 337> NEWLINE[ NONE][ 2/ 37/ 0/ 0][2/2/1][ 1402][1-0]
# 337> TYPE[ NONE][ 17/ 37/ 43/ 0][2/3/1][ 45140a][0-0] Number
# 337> QUALIFIER[ NONE][ 24/ 44/ 49/ 1][2/3/1][ 140a][0-0] const
# 337> BYREF[ NONE][ 29/ 49/ 50/ 0][2/3/1][ 10000140a][0-0] &
# 337> WORD[ NONE][ 31/ 51/ 57/ 1][2/3/1][ 80140a][0-0] number
# 337> NEWLINE[ NONE][ 37/ 57/ 0/ 0][2/3/1][ 140a][1-0]
# 337> FPAREN_CLOSE[ FUNC_DEF][ 1/ 57/ 58/ 0][2/2/1][ 100001402][0-0] )
# 337> NEWLINE[ NONE][ 57/ 58/ 0/ 0][2/2/1][ 1402][1-0]
# 337> QUALIFIER[ FUNC_DEF][ 1/ 59/ 64/ 1][2/2/1][ 8001402][0-0] const
# 337> NEWLINE[ NONE][ 6/ 64/ 0/ 0][2/2/1][ 1402][1-0]
# 337> BRACE_OPEN[ FUNC_DEF][ 9/ 65/ 66/ 1][2/2/1][ 100001402][0-0] {
# 337> NEWLINE[ NONE][ 10/ 66/ 13/ 0][3/3/1][ 1002][1-0]
# 338> COMMENT_CPP[ COMMENT_WHOLE][ 18/ 13/ 83/ 0][3/3/1][ 1002][0-0] // by default, the rep type of a number type is the number type itself
# 338> NEWLINE[ NONE][ 79/ 83/ 13/ 0][3/3/1][ 1002][1-0]
# 339> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71402][0-0] return
# 339> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1402][1-0]
# 339> WORD[ NONE][ 17/ 20/ 26/ 1][3/3/1][ 41402][0-0] number
# 339> SEMICOLON[ NONE][ 23/ 26/ 27/ 0][3/3/1][ 100001402][0-0] ;
# 339> NEWLINE[ NONE][ 24/ 27/ 9/ 0][3/3/1][ 1002][1-0]
# 340> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001402][0-0] }
# 340> NEWLINE[ NONE][ 10/ 10/ 5/ 0][2/2/1][ 1002][1-0]
# 341> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 100001400][0-0] }
# 341> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 341> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/1][ 801000][6-0]
# 343> NAMESPACE[ NONE][ 1/ 5/ 14/ 0][1/1/1][ 71000][0-0] namespace
# 343> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 343> WORD[ NAMESPACE][ 1/ 15/ 20/ 1][1/1/1][ 1000][0-0] _impl
# 343> NEWLINE[ NONE][ 7/ 20/ 0/ 0][1/1/1][ 1000][1-0]
# 343> BRACE_OPEN[ NAMESPACE][ 1/ 21/ 22/ 1][1/1/1][ 100001000][0-0] {
# 343> NEWLINE[ NONE][ 2/ 22/ 9/ 0][2/2/1][ 1000][1-0]
# 344> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 344> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 344> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 344> WORD[ NONE][ 16/ 24/ 30/ 1][2/3/1][ 1040][0-0] Number
# 344> COMMA[ NONE][ 22/ 30/ 31/ 0][2/3/1][ 100001040][0-0] ,
# 344> NEWLINE[ NONE][ 30/ 31/ 0/ 0][2/3/1][ 1040][1-0]
# 344> TYPE[ NONE][ 10/ 32/ 37/ 1][2/3/1][ 10051040][0-0] class
# 344> WORD[ NONE][ 16/ 38/ 44/ 1][2/3/1][ 10001040][0-0] Enable
# 344> ASSIGN[ NONE][ 22/ 45/ 46/ 1][2/3/1][ 100001040][0-0] =
# 344> TYPE[ NONE][ 23/ 47/ 51/ 1][2/3/1][ 41040][0-0] void
# 344> ANGLE_CLOSE[ TEMPLATE][ 27/ 51/ 52/ 0][2/2/1][ 100001040][0-0] >
# 344> NEWLINE[ NONE][ 28/ 52/ 9/ 0][2/2/1][ 801000][2-0]
# 345> QUALIFIER[ FUNC_DEF][ 1/ 9/ 18/ 0][2/2/1][ 51000][0-0] constexpr
# 345> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1000][1-0]
# 345> TYPE[ FUNC_DEF][ 1/ 19/ 23/ 1][2/2/1][ 11000][0-0] auto
# 345> NEWLINE[ NONE][ 5/ 23/ 0/ 0][2/2/1][ 1000][1-0]
# 345> FUNC_DEF[ NONE][ 1/ 24/ 30/ 1][2/2/1][ 1000][0-0] to_rep
# 345> NEWLINE[ NONE][ 7/ 30/ 0/ 0][2/2/1][ 1000][1-0]
# 345> FPAREN_OPEN[ FUNC_DEF][ 1/ 30/ 31/ 0][2/2/1][ 100001000][0-0] (
# 345> NEWLINE[ NONE][ 2/ 31/ 0/ 0][2/2/1][ 1000][1-0]
# 345> TYPE[ NONE][ 9/ 31/ 37/ 0][2/3/1][ 451008][0-0] Number
# 345> QUALIFIER[ NONE][ 16/ 38/ 43/ 1][2/3/1][ 1008][0-0] const
# 345> BYREF[ NONE][ 21/ 43/ 44/ 0][2/3/1][ 100001008][0-0] &
# 345> WORD[ NONE][ 23/ 45/ 51/ 1][2/3/1][ 801008][0-0] number
# 345> NEWLINE[ NONE][ 29/ 51/ 0/ 0][2/3/1][ 1008][1-0]
# 345> FPAREN_CLOSE[ FUNC_DEF][ 1/ 51/ 52/ 0][2/2/1][ 100001000][0-0] )
# 345> NEWLINE[ NONE][ 2/ 52/ 9/ 0][2/2/1][ 1000][1-0]
# 346> MEMBER[ FUNC_DEF][ 1/ 9/ 11/ 0][2/2/1][ 108001000][0-0] ->
# 346> NEWLINE[ NONE][ 9/ 11/ 0/ 0][2/2/1][ 1000][1-0]
# 346> SIZEOF[ FUNC_DEF][ 1/ 12/ 20/ 1][2/2/1][ 8001000][0-0] decltype
# 346> PAREN_OPEN[ FUNC_DEF][ 9/ 20/ 21/ 0][2/2/1][ 108001000][0-0] (
# 346> NEWLINE[ NONE][ 10/ 21/ 0/ 0][2/2/1][ 1000][1-0]
# 346> TYPE[ FUNC_DEF][ 10/ 21/ 24/ 0][2/3/1][ 8041000][0-0] cnl
# 346> NEWLINE[ NONE][ 14/ 24/ 0/ 0][2/3/1][ 1000][1-0]
# 346> DC_MEMBER[ FUNC_DEF][ 10/ 24/ 26/ 0][2/3/1][ 108001000][0-0] ::
# 346> NEWLINE[ NONE][ 17/ 26/ 0/ 0][2/3/1][ 1000][1-0]
# 346> WORD[ FUNC_DEF][ 10/ 26/ 32/ 0][2/3/1][ 8001000][0-0] to_rep
# 346> ANGLE_OPEN[ FUNC_DEF][ 16/ 32/ 33/ 0][2/3/1][ 108001040][0-0] <
# 346> TYPE[ FUNC_DEF][ 17/ 33/ 39/ 0][2/4/1][ 8041040][0-0] Number
# 346> ANGLE_CLOSE[ FUNC_DEF][ 23/ 39/ 40/ 0][2/3/1][ 108001040][0-0] >
# 346> PAREN_OPEN[ FUNC_DEF][ 24/ 40/ 41/ 0][2/3/1][ 108041000][0-0] (
# 346> PAREN_CLOSE[ FUNC_DEF][ 25/ 41/ 42/ 0][2/3/1][ 108001000][0-0] )
# 346> FPAREN_OPEN[ FUNC_CALL][ 26/ 42/ 43/ 0][2/3/1][ 108001000][0-0] (
# 346> NEWLINE[ NONE][ 35/ 43/ 0/ 0][2/3/1][ 1000][1-0]
# 346> WORD[ FUNC_DEF][ 17/ 43/ 49/ 0][2/4/1][ 8041000][0-0] number
# 346> FPAREN_CLOSE[ FUNC_CALL][ 23/ 49/ 50/ 0][2/3/1][ 108001000][0-0] )
# 346> PAREN_CLOSE[ FUNC_DEF][ 24/ 50/ 51/ 0][2/2/1][ 108001000][0-0] )
# 346> NEWLINE[ NONE][ 25/ 51/ 0/ 0][2/2/1][ 1000][1-0]
# 346> BRACE_OPEN[ FUNC_DEF][ 9/ 52/ 53/ 1][2/2/1][ 100001000][0-0] {
# 346> NEWLINE[ NONE][ 10/ 53/ 13/ 0][3/3/1][ 1000][1-0]
# 347> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71000][0-0] return
# 347> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1000][1-0]
# 347> TYPE[ NONE][ 17/ 20/ 23/ 1][3/3/1][ 41000][0-0] cnl
# 347> NEWLINE[ NONE][ 20/ 23/ 0/ 0][3/3/1][ 1000][1-0]
# 347> DC_MEMBER[ NONE][ 17/ 23/ 25/ 0][3/3/1][ 100001000][0-0] ::
# 347> NEWLINE[ NONE][ 19/ 25/ 0/ 0][3/3/1][ 1000][1-0]
# 347> FUNC_CALL[ NONE][ 17/ 25/ 31/ 0][3/3/1][ 1000][0-0] to_rep
# 347> ANGLE_OPEN[ TEMPLATE][ 23/ 31/ 32/ 0][3/3/1][ 100001040][0-0] <
# 347> TYPE[ NONE][ 24/ 32/ 38/ 0][3/4/1][ 41040][0-0] Number
# 347> ANGLE_CLOSE[ TEMPLATE][ 30/ 38/ 39/ 0][3/3/1][ 100001040][0-0] >
# 347> FPAREN_OPEN[ FUNC_CALL][ 32/ 39/ 40/ 0][3/3/1][ 100041000][0-0] (
# 347> FPAREN_CLOSE[ FUNC_CALL][ 33/ 40/ 41/ 0][3/3/1][ 100001000][0-0] )
# 347> FPAREN_OPEN[ FUNC_CALL][ 34/ 41/ 42/ 0][3/3/1][ 100001000][0-0] (
# 347> NEWLINE[ NONE][ 35/ 42/ 0/ 0][3/3/1][ 1000][1-0]
# 347> WORD[ NONE][ 25/ 42/ 48/ 0][3/4/1][ 41000][0-0] number
# 347> FPAREN_CLOSE[ FUNC_CALL][ 31/ 48/ 49/ 0][3/3/1][ 100001000][0-0] )
# 347> SEMICOLON[ NONE][ 32/ 49/ 50/ 0][3/3/1][ 100001000][0-0] ;
# 347> NEWLINE[ NONE][ 33/ 50/ 9/ 0][3/3/1][ 1000][1-0]
# 348> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001000][0-0] }
# 348> NEWLINE[ NONE][ 10/ 10/ 5/ 0][2/2/1][ 1000][1-0]
# 349> BRACE_CLOSE[ NAMESPACE][ 1/ 5/ 6/ 0][1/1/1][ 100001000][0-0] }
# 349> NEWLINE[ NONE][ 2/ 6/ 5/ 0][1/1/1][ 1000][2-0]
# 351> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 351> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 352> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 21/ 0][1/1/1][ 1000][0-0] // cnl::from_rep
# 352> NEWLINE[ NONE][ 17/ 21/ 5/ 0][1/1/1][ 1000][2-0]
# 354> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 354> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 354> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 354> WORD[ NONE][ 16/ 20/ 26/ 1][1/2/1][ 1040][0-0] Number
# 354> COMMA[ NONE][ 22/ 26/ 27/ 0][1/2/1][ 100001040][0-0] ,
# 354> NEWLINE[ NONE][ 26/ 27/ 0/ 0][1/2/1][ 1040][1-0]
# 354> TYPE[ NONE][ 10/ 28/ 33/ 1][1/2/1][ 10051040][0-0] class
# 354> WORD[ NONE][ 16/ 34/ 40/ 1][1/2/1][ 10001040][0-0] Enable
# 354> ASSIGN[ NONE][ 22/ 41/ 42/ 1][1/2/1][ 100001040][0-0] =
# 354> TYPE[ NONE][ 23/ 43/ 47/ 1][1/2/1][ 41040][0-0] void
# 354> ANGLE_CLOSE[ TEMPLATE][ 27/ 47/ 48/ 0][1/1/1][ 100001040][0-0] >
# 354> NEWLINE[ NONE][ 28/ 48/ 5/ 0][1/1/1][ 1000][1-0]
# 355> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51002][0-0] struct
# 355> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1002][1-0]
# 355> TYPE[ STRUCT][ 1/ 12/ 20/ 1][1/1/1][ 1002][0-0] from_rep
# 355> NEWLINE[ NONE][ 9/ 20/ 0/ 0][1/1/1][ 1002][1-0]
# 355> BRACE_OPEN[ STRUCT][ 9/ 21/ 22/ 1][1/1/1][ 100001002][0-0] {
# 355> NEWLINE[ NONE][ 10/ 22/ 9/ 0][2/2/1][ 1002][1-0]
# 356> TEMPLATE[ NONE][ 9/ 9/ 17/ 0][2/2/1][ 61402][0-0] template
# 356> ANGLE_OPEN[ TEMPLATE][ 17/ 17/ 18/ 0][2/2/1][ 100001442][0-0] <
# 356> TYPE[ NONE][ 18/ 18/ 23/ 0][2/3/1][ 51442][0-0] class
# 356> TYPE[ NONE][ 24/ 24/ 27/ 1][2/3/1][ 1442][0-0] Rep
# 356> ANGLE_CLOSE[ TEMPLATE][ 27/ 27/ 28/ 0][2/2/1][ 100001442][0-0] >
# 356> NEWLINE[ NONE][ 28/ 28/ 9/ 0][2/2/1][ 801002][2-0]
# 357> QUALIFIER[ FUNC_DEF][ 1/ 9/ 18/ 0][2/2/1][ 51402][0-0] constexpr
# 357> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1402][1-0]
# 357> TYPE[ FUNC_DEF][ 1/ 19/ 25/ 1][2/2/1][ 11402][0-0] Number
# 357> NEWLINE[ NONE][ 7/ 25/ 0/ 0][2/2/1][ 1402][1-0]
# 357> OPERATOR[ FUNC_DEF][ 1/ 26/ 34/ 1][2/2/1][ 1402][0-0] operator
# 357> NEWLINE[ NONE][ 10/ 34/ 0/ 0][2/2/1][ 1402][1-0]
# 357> FUNC_DEF[ OPERATOR][ 1/ 34/ 36/ 0][2/2/1][ 100001402][0-0] ()
# 357> NEWLINE[ NONE][ 3/ 36/ 0/ 0][2/2/1][ 1402][1-0]
# 357> FPAREN_OPEN[ FUNC_DEF][ 1/ 36/ 37/ 0][2/2/1][ 100001402][0-0] (
# 357> NEWLINE[ NONE][ 2/ 37/ 0/ 0][2/2/1][ 1402][1-0]
# 357> TYPE[ NONE][ 17/ 37/ 40/ 0][2/3/1][ 45140a][0-0] Rep
# 357> QUALIFIER[ NONE][ 21/ 41/ 46/ 1][2/3/1][ 140a][0-0] const
# 357> BYREF[ NONE][ 26/ 46/ 47/ 0][2/3/1][ 10000140a][0-0] &
# 357> WORD[ NONE][ 28/ 48/ 51/ 1][2/3/1][ 80140a][0-0] rep
# 357> NEWLINE[ NONE][ 31/ 51/ 0/ 0][2/3/1][ 140a][1-0]
# 357> FPAREN_CLOSE[ FUNC_DEF][ 1/ 51/ 52/ 0][2/2/1][ 100001402][0-0] )
# 357> NEWLINE[ NONE][ 51/ 52/ 0/ 0][2/2/1][ 1402][1-0]
# 357> QUALIFIER[ FUNC_DEF][ 1/ 53/ 58/ 1][2/2/1][ 8001402][0-0] const
# 357> NEWLINE[ NONE][ 6/ 58/ 0/ 0][2/2/1][ 1402][1-0]
# 357> BRACE_OPEN[ FUNC_DEF][ 9/ 59/ 60/ 1][2/2/1][ 100001402][0-0] {
# 357> NEWLINE[ NONE][ 10/ 60/ 13/ 0][3/3/1][ 1002][1-0]
# 358> COMMENT_CPP[ COMMENT_WHOLE][ 18/ 13/ 78/ 0][3/3/1][ 1002][0-0] // by default, a number type's rep type is the number type itself
# 358> NEWLINE[ NONE][ 74/ 78/ 13/ 0][3/3/1][ 1002][1-0]
# 359> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71402][0-0] return
# 359> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1402][1-0]
# 359> TYPE_CAST[ NONE][ 17/ 20/ 31/ 1][3/3/1][ 41402][0-0] static_cast
# 359> NEWLINE[ NONE][ 28/ 31/ 0/ 0][3/3/1][ 1402][1-0]
# 359> ANGLE_OPEN[ TYPE_CAST][ 17/ 31/ 32/ 0][3/3/1][ 100001402][0-0] <
# 359> NEWLINE[ NONE][ 23/ 32/ 0/ 0][3/3/1][ 1402][1-0]
# 359> TYPE[ NONE][ 18/ 32/ 38/ 0][3/4/1][ 41402][0-0] Number
# 359> ANGLE_CLOSE[ TYPE_CAST][ 24/ 38/ 39/ 0][3/3/1][ 100001402][0-0] >
# 359> PAREN_OPEN[ TYPE_CAST][ 25/ 39/ 40/ 0][3/3/1][ 100041402][0-0] (
# 359> NEWLINE[ NONE][ 32/ 40/ 0/ 0][3/3/1][ 1402][1-0]
# 359> WORD[ NONE][ 26/ 40/ 43/ 0][3/4/1][ 41402][0-0] rep
# 359> PAREN_CLOSE[ TYPE_CAST][ 29/ 43/ 44/ 0][3/3/1][ 100001402][0-0] )
# 359> SEMICOLON[ NONE][ 30/ 44/ 45/ 0][3/3/1][ 100001402][0-0] ;
# 359> NEWLINE[ NONE][ 31/ 45/ 9/ 0][3/3/1][ 1002][1-0]
# 360> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001402][0-0] }
# 360> NEWLINE[ NONE][ 10/ 10/ 5/ 0][2/2/1][ 1002][1-0]
# 361> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 100001400][0-0] }
# 361> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 361> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/1][ 1000][6-0]
# 363> NAMESPACE[ NONE][ 1/ 5/ 14/ 0][1/1/1][ 71000][0-0] namespace
# 363> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 363> WORD[ NAMESPACE][ 1/ 15/ 20/ 1][1/1/1][ 1000][0-0] _impl
# 363> NEWLINE[ NONE][ 7/ 20/ 0/ 0][1/1/1][ 1000][1-0]
# 363> BRACE_OPEN[ NAMESPACE][ 1/ 21/ 22/ 1][1/1/1][ 100001000][0-0] {
# 363> NEWLINE[ NONE][ 2/ 22/ 9/ 0][2/2/1][ 1000][1-0]
# 364> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 364> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 364> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 364> WORD[ NONE][ 16/ 24/ 30/ 1][2/3/1][ 1040][0-0] Number
# 364> COMMA[ NONE][ 22/ 30/ 31/ 0][2/3/1][ 100001040][0-0] ,
# 364> NEWLINE[ NONE][ 30/ 31/ 0/ 0][2/3/1][ 1040][1-0]
# 364> TYPE[ NONE][ 10/ 32/ 37/ 1][2/3/1][ 51040][0-0] class
# 364> TYPE[ NONE][ 16/ 38/ 41/ 1][2/3/1][ 1040][0-0] Rep
# 364> ANGLE_CLOSE[ TEMPLATE][ 19/ 41/ 42/ 0][2/2/1][ 100001040][0-0] >
# 364> NEWLINE[ NONE][ 20/ 42/ 9/ 0][2/2/1][ 1000][1-0]
# 365> QUALIFIER[ FUNC_DEF][ 1/ 9/ 18/ 0][2/2/1][ 51000][0-0] constexpr
# 365> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1000][1-0]
# 365> TYPE[ FUNC_DEF][ 1/ 19/ 23/ 1][2/2/1][ 11000][0-0] auto
# 365> NEWLINE[ NONE][ 5/ 23/ 0/ 0][2/2/1][ 1000][1-0]
# 365> FUNC_DEF[ NONE][ 1/ 24/ 32/ 1][2/2/1][ 1000][0-0] from_rep
# 365> NEWLINE[ NONE][ 9/ 32/ 0/ 0][2/2/1][ 1000][1-0]
# 365> FPAREN_OPEN[ FUNC_DEF][ 1/ 32/ 33/ 0][2/2/1][ 100001000][0-0] (
# 365> NEWLINE[ NONE][ 2/ 33/ 0/ 0][2/2/1][ 1000][1-0]
# 365> TYPE[ NONE][ 9/ 33/ 36/ 0][2/3/1][ 451008][0-0] Rep
# 365> QUALIFIER[ NONE][ 13/ 37/ 42/ 1][2/3/1][ 1008][0-0] const
# 365> BYREF[ NONE][ 18/ 42/ 43/ 0][2/3/1][ 100001008][0-0] &
# 365> WORD[ NONE][ 20/ 44/ 47/ 1][2/3/1][ 801008][0-0] rep
# 365> NEWLINE[ NONE][ 23/ 47/ 0/ 0][2/3/1][ 1008][1-0]
# 365> FPAREN_CLOSE[ FUNC_DEF][ 1/ 47/ 48/ 0][2/2/1][ 100001000][0-0] )
# 365> NEWLINE[ NONE][ 2/ 48/ 9/ 0][2/2/1][ 1000][1-0]
# 366> MEMBER[ FUNC_DEF][ 1/ 9/ 11/ 0][2/2/1][ 108001000][0-0] ->
# 366> NEWLINE[ NONE][ 9/ 11/ 0/ 0][2/2/1][ 1000][1-0]
# 366> SIZEOF[ FUNC_DEF][ 1/ 12/ 20/ 1][2/2/1][ 8001000][0-0] decltype
# 366> PAREN_OPEN[ FUNC_DEF][ 9/ 20/ 21/ 0][2/2/1][ 108001000][0-0] (
# 366> NEWLINE[ NONE][ 10/ 21/ 0/ 0][2/2/1][ 1000][1-0]
# 366> TYPE[ FUNC_DEF][ 10/ 21/ 24/ 0][2/3/1][ 8041000][0-0] cnl
# 366> NEWLINE[ NONE][ 14/ 24/ 0/ 0][2/3/1][ 1000][1-0]
# 366> DC_MEMBER[ FUNC_DEF][ 10/ 24/ 26/ 0][2/3/1][ 108001000][0-0] ::
# 366> NEWLINE[ NONE][ 17/ 26/ 0/ 0][2/3/1][ 1000][1-0]
# 366> WORD[ FUNC_DEF][ 10/ 26/ 34/ 0][2/3/1][ 8001000][0-0] from_rep
# 366> ANGLE_OPEN[ FUNC_DEF][ 18/ 34/ 35/ 0][2/3/1][ 108001040][0-0] <
# 366> TYPE[ FUNC_DEF][ 19/ 35/ 41/ 0][2/4/1][ 8041040][0-0] Number
# 366> ANGLE_CLOSE[ FUNC_DEF][ 25/ 41/ 42/ 0][2/3/1][ 108001040][0-0] >
# 366> PAREN_OPEN[ FUNC_DEF][ 26/ 42/ 43/ 0][2/3/1][ 108041000][0-0] (
# 366> PAREN_CLOSE[ FUNC_DEF][ 27/ 43/ 44/ 0][2/3/1][ 108001000][0-0] )
# 366> FPAREN_OPEN[ FUNC_CALL][ 28/ 44/ 45/ 0][2/3/1][ 108001000][0-0] (
# 366> NEWLINE[ NONE][ 37/ 45/ 0/ 0][2/3/1][ 1000][1-0]
# 366> WORD[ FUNC_DEF][ 17/ 45/ 48/ 0][2/4/1][ 8041000][0-0] rep
# 366> FPAREN_CLOSE[ FUNC_CALL][ 20/ 48/ 49/ 0][2/3/1][ 108001000][0-0] )
# 366> PAREN_CLOSE[ FUNC_DEF][ 21/ 49/ 50/ 0][2/2/1][ 108001000][0-0] )
# 366> NEWLINE[ NONE][ 22/ 50/ 0/ 0][2/2/1][ 1000][1-0]
# 366> BRACE_OPEN[ FUNC_DEF][ 9/ 51/ 52/ 1][2/2/1][ 100001000][0-0] {
# 366> NEWLINE[ NONE][ 10/ 52/ 13/ 0][3/3/1][ 1000][1-0]
# 367> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71000][0-0] return
# 367> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1000][1-0]
# 367> TYPE[ NONE][ 17/ 20/ 23/ 1][3/3/1][ 41000][0-0] cnl
# 367> NEWLINE[ NONE][ 20/ 23/ 0/ 0][3/3/1][ 1000][1-0]
# 367> DC_MEMBER[ NONE][ 17/ 23/ 25/ 0][3/3/1][ 100001000][0-0] ::
# 367> NEWLINE[ NONE][ 19/ 25/ 0/ 0][3/3/1][ 1000][1-0]
# 367> FUNC_CALL[ NONE][ 17/ 25/ 33/ 0][3/3/1][ 1000][0-0] from_rep
# 367> ANGLE_OPEN[ TEMPLATE][ 25/ 33/ 34/ 0][3/3/1][ 100001040][0-0] <
# 367> TYPE[ NONE][ 26/ 34/ 40/ 0][3/4/1][ 41040][0-0] Number
# 367> ANGLE_CLOSE[ TEMPLATE][ 32/ 40/ 41/ 0][3/3/1][ 100001040][0-0] >
# 367> FPAREN_OPEN[ FUNC_CALL][ 34/ 41/ 42/ 0][3/3/1][ 100041000][0-0] (
# 367> FPAREN_CLOSE[ FUNC_CALL][ 35/ 42/ 43/ 0][3/3/1][ 100001000][0-0] )
# 367> FPAREN_OPEN[ FUNC_CALL][ 36/ 43/ 44/ 0][3/3/1][ 100001000][0-0] (
# 367> NEWLINE[ NONE][ 37/ 44/ 0/ 0][3/3/1][ 1000][1-0]
# 367> WORD[ NONE][ 25/ 44/ 47/ 0][3/4/1][ 41000][0-0] rep
# 367> FPAREN_CLOSE[ FUNC_CALL][ 28/ 47/ 48/ 0][3/3/1][ 100001000][0-0] )
# 367> SEMICOLON[ NONE][ 29/ 48/ 49/ 0][3/3/1][ 100001000][0-0] ;
# 367> NEWLINE[ NONE][ 30/ 49/ 9/ 0][3/3/1][ 1000][1-0]
# 368> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001000][0-0] }
# 368> NEWLINE[ NONE][ 10/ 10/ 5/ 0][2/2/1][ 1000][1-0]
# 369> BRACE_CLOSE[ NAMESPACE][ 1/ 5/ 6/ 0][1/1/1][ 100001000][0-0] }
# 369> NEWLINE[ NONE][ 2/ 6/ 5/ 0][1/1/1][ 1000][2-0]
# 371> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 371> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 372> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 20/ 0][1/1/1][ 1000][0-0] // cnl::for_rep
# 372> NEWLINE[ NONE][ 16/ 20/ 5/ 0][1/1/1][ 1000][2-0]
# 374> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 57/ 0][1/1/1][ 1000][0-0] // invoke a given generic lambda on given parameters
# 374> NEWLINE[ NONE][ 53/ 57/ 5/ 0][1/1/1][ 1000][1-0]
# 375> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 375> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 375> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 375> WORD[ NONE][ 16/ 20/ 26/ 1][1/2/1][ 1040][0-0] Result
# 375> COMMA[ NONE][ 22/ 26/ 27/ 0][1/2/1][ 100001040][0-0] ,
# 375> NEWLINE[ NONE][ 26/ 27/ 0/ 0][1/2/1][ 1040][1-0]
# 375> TYPE[ NONE][ 10/ 28/ 33/ 1][1/2/1][ 51040][0-0] class
# 375> WORD[ NONE][ 16/ 34/ 35/ 1][1/2/1][ 1040][0-0] F
# 375> COMMA[ NONE][ 17/ 35/ 36/ 0][1/2/1][ 100001040][0-0] ,
# 375> NEWLINE[ NONE][ 36/ 36/ 0/ 0][1/2/1][ 1040][1-0]
# 375> WORD[ NONE][ 10/ 37/ 42/ 1][1/2/1][ 41040][0-0] class
# 375> ELLIPSIS[ NONE][ 16/ 43/ 46/ 1][1/2/1][ 100001040][0-0] ...
# 375> WORD[ NONE][ 20/ 47/ 51/ 1][1/2/1][ 1040][0-0] Args
# 375> COMMA[ NONE][ 24/ 51/ 52/ 0][1/2/1][ 100001040][0-0] ,
# 375> NEWLINE[ NONE][ 25/ 52/ 13/ 0][1/2/1][ 1000][1-0]
# 376> TYPE[ NONE][ 10/ 13/ 18/ 0][1/2/1][ 41040][0-0] _impl
# 376> DC_MEMBER[ NONE][ 15/ 18/ 20/ 0][1/2/1][ 100001040][0-0] ::
# 376> TYPE[ NONE][ 17/ 20/ 31/ 0][1/2/1][ 401040][0-0] enable_if_t
# 376> ANGLE_OPEN[ TEMPLATE][ 28/ 31/ 32/ 0][1/2/1][ 100001040][0-0] <
# 376> NOT[ NONE][ 29/ 32/ 33/ 0][1/3/1][ 100041040][0-0] !
# 376> TYPE[ NONE][ 30/ 33/ 49/ 0][1/3/1][ 41040][0-0] _num_traits_impl
# 376> DC_MEMBER[ NONE][ 46/ 49/ 51/ 0][1/3/1][ 100001040][0-0] ::
# 376> WORD[ NONE][ 48/ 51/ 64/ 0][1/3/1][ 1040][0-0] are_composite
# 376> ANGLE_OPEN[ TEMPLATE][ 61/ 64/ 65/ 0][1/3/1][ 100001040][0-0] <
# 376> WORD[ NONE][ 62/ 65/ 69/ 0][1/4/1][ 41040][0-0] Args
# 376> ELLIPSIS[ NONE][ 67/ 70/ 73/ 1][1/4/1][ 100001040][0-0] ...
# 376> ANGLE_CLOSE[ TEMPLATE][ 70/ 73/ 74/ 0][1/3/1][ 100001040][0-0] >
# 376> DC_MEMBER[ NONE][ 71/ 74/ 76/ 0][1/3/1][ 100041040][0-0] ::
# 376> WORD[ NONE][ 73/ 76/ 81/ 0][1/3/1][ 1040][0-0] value
# 376> COMMA[ NONE][ 78/ 81/ 82/ 0][1/3/1][ 100001040][0-0] ,
# 376> NEWLINE[ NONE][ 81/ 82/ 0/ 0][1/3/1][ 1040][1-0]
# 376> TYPE[ NONE][ 29/ 83/ 86/ 1][1/3/1][ 10041040][0-0] int
# 376> ANGLE_CLOSE[ TEMPLATE][ 32/ 86/ 87/ 0][1/2/1][ 110001040][0-0] >
# 376> WORD[ NONE][ 34/ 88/ 93/ 1][1/2/1][ 10841040][0-0] dummy
# 376> ASSIGN[ NONE][ 39/ 94/ 95/ 1][1/2/1][ 100001040][0-0] =
# 376> NUMBER[ NONE][ 40/ 96/ 97/ 1][1/2/1][ 41040][0-0] 0
# 376> ANGLE_CLOSE[ TEMPLATE][ 41/ 97/ 98/ 0][1/1/1][ 100001040][0-0] >
# 376> NEWLINE[ NONE][ 42/ 98/ 5/ 0][1/1/1][ 1000][1-0]
# 377> QUALIFIER[ FUNC_DEF][ 1/ 5/ 14/ 0][1/1/1][ 51000][0-0] constexpr
# 377> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 377> TYPE[ FUNC_DEF][ 1/ 15/ 21/ 1][1/1/1][ 11000][0-0] Result
# 377> NEWLINE[ NONE][ 7/ 21/ 0/ 0][1/1/1][ 1000][1-0]
# 377> FUNC_DEF[ NONE][ 1/ 22/ 29/ 1][1/1/1][ 1000][0-0] for_rep
# 377> NEWLINE[ NONE][ 8/ 29/ 0/ 0][1/1/1][ 1000][1-0]
# 377> FPAREN_OPEN[ FUNC_DEF][ 1/ 29/ 30/ 0][1/1/1][ 100001000][0-0] (
# 377> NEWLINE[ NONE][ 2/ 30/ 0/ 0][1/1/1][ 1000][1-0]
# 377> TYPE[ NONE][ 9/ 30/ 31/ 0][1/2/1][ 451008][0-0] F
# 377> WORD[ NONE][ 11/ 32/ 33/ 1][1/2/1][ 801008][0-0] f
# 377> COMMA[ NONE][ 12/ 33/ 34/ 0][1/2/1][ 100001008][0-0] ,
# 377> NEWLINE[ NONE][ 13/ 34/ 0/ 0][1/2/1][ 1008][1-0]
# 377> TYPE[ NONE][ 9/ 35/ 39/ 1][1/2/1][ 441008][0-0] Args
# 377> BYREF[ NONE][ 14/ 40/ 42/ 1][1/2/1][ 100001008][0-0] &&
# 377> ELLIPSIS[ NONE][ 17/ 42/ 45/ 0][1/2/1][ 100041008][0-0] ...
# 377> WORD[ NONE][ 21/ 45/ 49/ 0][1/2/1][ 801008][0-0] args
# 377> NEWLINE[ NONE][ 25/ 49/ 0/ 0][1/2/1][ 1008][1-0]
# 377> FPAREN_CLOSE[ FUNC_DEF][ 1/ 49/ 50/ 0][1/1/1][ 100001000][0-0] )
# 377> NEWLINE[ NONE][ 2/ 50/ 0/ 0][1/1/1][ 1000][1-0]
# 377> BRACE_OPEN[ FUNC_DEF][ 9/ 51/ 52/ 1][1/1/1][ 100001000][0-0] {
# 377> NEWLINE[ NONE][ 10/ 52/ 9/ 0][2/2/1][ 1000][1-0]
# 378> RETURN[ NONE][ 9/ 9/ 15/ 0][2/2/1][ 71000][0-0] return
# 378> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 378> FUNC_CALL[ NONE][ 17/ 16/ 17/ 1][2/2/1][ 41000][0-0] f
# 378> FPAREN_OPEN[ FUNC_CALL][ 18/ 17/ 18/ 0][2/2/1][ 100001000][0-0] (
# 378> TYPE[ NONE][ 19/ 18/ 21/ 0][2/3/1][ 41010][0-0] std
# 378> DC_MEMBER[ NONE][ 22/ 21/ 23/ 0][2/3/1][ 100001010][0-0] ::
# 378> FUNC_CALL[ NONE][ 24/ 23/ 30/ 0][2/3/1][ 1010][0-0] forward
# 378> ANGLE_OPEN[ TEMPLATE][ 31/ 30/ 31/ 0][2/3/1][ 100001050][0-0] <
# 378> TYPE[ NONE][ 32/ 31/ 35/ 0][2/4/1][ 41050][0-0] Args
# 378> ANGLE_CLOSE[ TEMPLATE][ 36/ 35/ 36/ 0][2/3/1][ 100001050][0-0] >
# 378> FPAREN_OPEN[ FUNC_CALL][ 37/ 36/ 37/ 0][2/3/1][ 100041010][0-0] (
# 378> NEWLINE[ NONE][ 36/ 37/ 0/ 0][2/3/1][ 1010][1-0]
# 378> WORD[ NONE][ 19/ 37/ 41/ 0][2/4/1][ 41010][0-0] args
# 378> FPAREN_CLOSE[ FUNC_CALL][ 23/ 41/ 42/ 0][2/3/1][ 100001010][0-0] )
# 378> ELLIPSIS[ NONE][ 25/ 42/ 45/ 0][2/3/1][ 100001010][0-0] ...
# 378> FPAREN_CLOSE[ FUNC_CALL][ 28/ 45/ 46/ 0][2/2/1][ 100001000][0-0] )
# 378> SEMICOLON[ NONE][ 29/ 46/ 47/ 0][2/2/1][ 100001000][0-0] ;
# 378> NEWLINE[ NONE][ 30/ 47/ 5/ 0][2/2/1][ 1000][1-0]
# 379> BRACE_CLOSE[ FUNC_DEF][ 9/ 5/ 6/ 0][1/1/1][ 100001000][0-0] }
# 379> NEWLINE[ NONE][ 10/ 6/ 5/ 0][1/1/1][ 1000][2-0]
# 381> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 381> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 381> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 381> WORD[ NONE][ 16/ 20/ 26/ 1][1/2/1][ 1040][0-0] Result
# 381> COMMA[ NONE][ 22/ 26/ 27/ 0][1/2/1][ 100001040][0-0] ,
# 381> NEWLINE[ NONE][ 26/ 27/ 0/ 0][1/2/1][ 1040][1-0]
# 381> TYPE[ NONE][ 10/ 28/ 33/ 1][1/2/1][ 51040][0-0] class
# 381> WORD[ NONE][ 16/ 34/ 35/ 1][1/2/1][ 1040][0-0] F
# 381> COMMA[ NONE][ 17/ 35/ 36/ 0][1/2/1][ 100001040][0-0] ,
# 381> NEWLINE[ NONE][ 36/ 36/ 0/ 0][1/2/1][ 1040][1-0]
# 381> WORD[ NONE][ 10/ 37/ 42/ 1][1/2/1][ 41040][0-0] class
# 381> ELLIPSIS[ NONE][ 16/ 43/ 46/ 1][1/2/1][ 100001040][0-0] ...
# 381> WORD[ NONE][ 20/ 47/ 51/ 1][1/2/1][ 1040][0-0] Args
# 381> COMMA[ NONE][ 24/ 51/ 52/ 0][1/2/1][ 100001040][0-0] ,
# 381> NEWLINE[ NONE][ 25/ 52/ 13/ 0][1/2/1][ 1000][1-0]
# 382> TYPE[ NONE][ 10/ 13/ 18/ 0][1/2/1][ 41040][0-0] _impl
# 382> DC_MEMBER[ NONE][ 15/ 18/ 20/ 0][1/2/1][ 100001040][0-0] ::
# 382> TYPE[ NONE][ 17/ 20/ 31/ 0][1/2/1][ 401040][0-0] enable_if_t
# 382> ANGLE_OPEN[ TEMPLATE][ 28/ 31/ 32/ 0][1/2/1][ 100001040][0-0] <
# 382> TYPE[ NONE][ 29/ 32/ 48/ 0][1/3/1][ 41040][0-0] _num_traits_impl
# 382> DC_MEMBER[ NONE][ 45/ 48/ 50/ 0][1/3/1][ 100001040][0-0] ::
# 382> WORD[ NONE][ 47/ 50/ 63/ 0][1/3/1][ 1040][0-0] are_composite
# 382> ANGLE_OPEN[ TEMPLATE][ 60/ 63/ 64/ 0][1/3/1][ 100001040][0-0] <
# 382> WORD[ NONE][ 61/ 64/ 68/ 0][1/4/1][ 41040][0-0] Args
# 382> ELLIPSIS[ NONE][ 66/ 69/ 72/ 1][1/4/1][ 100001040][0-0] ...
# 382> ANGLE_CLOSE[ TEMPLATE][ 69/ 72/ 73/ 0][1/3/1][ 100001040][0-0] >
# 382> DC_MEMBER[ NONE][ 70/ 73/ 75/ 0][1/3/1][ 100041040][0-0] ::
# 382> WORD[ NONE][ 72/ 75/ 80/ 0][1/3/1][ 1040][0-0] value
# 382> COMMA[ NONE][ 77/ 80/ 81/ 0][1/3/1][ 100001040][0-0] ,
# 382> NEWLINE[ NONE][ 80/ 81/ 0/ 0][1/3/1][ 1040][1-0]
# 382> TYPE[ NONE][ 29/ 82/ 85/ 1][1/3/1][ 10041040][0-0] int
# 382> ANGLE_CLOSE[ TEMPLATE][ 32/ 85/ 86/ 0][1/2/1][ 110001040][0-0] >
# 382> WORD[ NONE][ 34/ 87/ 92/ 1][1/2/1][ 10841040][0-0] dummy
# 382> ASSIGN[ NONE][ 39/ 93/ 94/ 1][1/2/1][ 100001040][0-0] =
# 382> NUMBER[ NONE][ 40/ 95/ 96/ 1][1/2/1][ 41040][0-0] 0
# 382> ANGLE_CLOSE[ TEMPLATE][ 41/ 96/ 97/ 0][1/1/1][ 100001040][0-0] >
# 382> NEWLINE[ NONE][ 42/ 97/ 5/ 0][1/1/1][ 801000][2-0]
# 383> QUALIFIER[ FUNC_DEF][ 1/ 5/ 14/ 0][1/1/1][ 51000][0-0] constexpr
# 383> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 383> TYPE[ FUNC_DEF][ 1/ 15/ 21/ 1][1/1/1][ 11000][0-0] Result
# 383> NEWLINE[ NONE][ 7/ 21/ 0/ 0][1/1/1][ 1000][1-0]
# 383> FUNC_DEF[ NONE][ 1/ 22/ 29/ 1][1/1/1][ 1000][0-0] for_rep
# 383> NEWLINE[ NONE][ 8/ 29/ 0/ 0][1/1/1][ 1000][1-0]
# 383> FPAREN_OPEN[ FUNC_DEF][ 1/ 29/ 30/ 0][1/1/1][ 100001000][0-0] (
# 383> NEWLINE[ NONE][ 2/ 30/ 0/ 0][1/1/1][ 1000][1-0]
# 383> TYPE[ NONE][ 9/ 30/ 31/ 0][1/2/1][ 451008][0-0] F
# 383> WORD[ NONE][ 11/ 32/ 33/ 1][1/2/1][ 801008][0-0] f
# 383> COMMA[ NONE][ 12/ 33/ 34/ 0][1/2/1][ 100001008][0-0] ,
# 383> NEWLINE[ NONE][ 13/ 34/ 0/ 0][1/2/1][ 1008][1-0]
# 383> TYPE[ NONE][ 9/ 35/ 39/ 1][1/2/1][ 441008][0-0] Args
# 383> BYREF[ NONE][ 14/ 40/ 42/ 1][1/2/1][ 100001008][0-0] &&
# 383> ELLIPSIS[ NONE][ 17/ 42/ 45/ 0][1/2/1][ 100041008][0-0] ...
# 383> WORD[ NONE][ 21/ 45/ 49/ 0][1/2/1][ 801008][0-0] args
# 383> NEWLINE[ NONE][ 25/ 49/ 0/ 0][1/2/1][ 1008][1-0]
# 383> FPAREN_CLOSE[ FUNC_DEF][ 1/ 49/ 50/ 0][1/1/1][ 100001000][0-0] )
# 383> NEWLINE[ NONE][ 2/ 50/ 0/ 0][1/1/1][ 1000][1-0]
# 383> BRACE_OPEN[ FUNC_DEF][ 9/ 51/ 52/ 1][1/1/1][ 100001000][0-0] {
# 383> NEWLINE[ NONE][ 10/ 52/ 9/ 0][2/2/1][ 1000][1-0]
# 384> RETURN[ NONE][ 9/ 9/ 15/ 0][2/2/1][ 71000][0-0] return
# 384> NEWLINE[ NONE][ 9/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 384> FUNC_CALL[ NONE][ 17/ 16/ 23/ 1][2/2/1][ 41000][0-0] for_rep
# 384> ANGLE_OPEN[ TEMPLATE][ 24/ 23/ 24/ 0][2/2/1][ 100001040][0-0] <
# 384> TYPE[ NONE][ 25/ 24/ 30/ 0][2/3/1][ 41040][0-0] Result
# 384> ANGLE_CLOSE[ TEMPLATE][ 31/ 30/ 31/ 0][2/2/1][ 100001040][0-0] >
# 384> FPAREN_OPEN[ FUNC_CALL][ 32/ 31/ 32/ 0][2/2/1][ 100041000][0-0] (
# 384> NEWLINE[ NONE][ 31/ 32/ 0/ 0][2/2/1][ 1000][1-0]
# 384> WORD[ NONE][ 33/ 32/ 33/ 0][2/3/1][ 41010][0-0] f
# 384> COMMA[ NONE][ 34/ 33/ 34/ 0][2/3/1][ 100001010][0-0] ,
# 384> NEWLINE[ NONE][ 33/ 34/ 0/ 0][2/3/1][ 1010][1-0]
# 384> TYPE[ NONE][ 17/ 35/ 40/ 1][2/3/1][ 41010][0-0] _impl
# 384> DC_MEMBER[ NONE][ 22/ 40/ 42/ 0][2/3/1][ 100001010][0-0] ::
# 384> FUNC_CALL[ NONE][ 24/ 42/ 48/ 0][2/3/1][ 1010][0-0] to_rep
# 384> ANGLE_OPEN[ TEMPLATE][ 30/ 48/ 49/ 0][2/3/1][ 100001050][0-0] <
# 384> TYPENAME[ NONE][ 31/ 49/ 57/ 0][2/4/1][ 51050][0-0] typename
# 384> TYPE[ NONE][ 40/ 58/ 61/ 1][2/4/1][ 1050][0-0] std
# 384> DC_MEMBER[ NONE][ 43/ 61/ 63/ 0][2/4/1][ 100001050][0-0] ::
# 384> WORD[ NONE][ 45/ 63/ 68/ 0][2/4/1][ 1050][0-0] decay
# 384> ANGLE_OPEN[ TEMPLATE][ 50/ 68/ 69/ 0][2/4/1][ 100001050][0-0] <
# 384> TYPE[ NONE][ 51/ 69/ 73/ 0][2/5/1][ 41050][0-0] Args
# 384> ANGLE_CLOSE[ TEMPLATE][ 55/ 73/ 74/ 0][2/4/1][ 100001050][0-0] >
# 384> DC_MEMBER[ NONE][ 56/ 74/ 76/ 0][2/4/1][ 100041050][0-0] ::
# 384> TYPE[ NONE][ 58/ 76/ 80/ 0][2/4/1][ 1050][0-0] type
# 384> ANGLE_CLOSE[ TEMPLATE][ 62/ 80/ 81/ 0][2/3/1][ 100001050][0-0] >
# 384> FPAREN_OPEN[ FUNC_CALL][ 63/ 81/ 82/ 0][2/3/1][ 100041010][0-0] (
# 384> NEWLINE[ NONE][ 81/ 82/ 0/ 0][2/3/1][ 1010][1-0]
# 384> TYPE[ NONE][ 17/ 82/ 85/ 0][2/4/1][ 41010][0-0] std
# 384> NEWLINE[ NONE][ 82/ 85/ 0/ 0][2/4/1][ 1010][1-0]
# 384> DC_MEMBER[ NONE][ 25/ 85/ 87/ 0][2/4/1][ 100001010][0-0] ::
# 384> NEWLINE[ NONE][ 93/ 87/ 0/ 0][2/4/1][ 1010][1-0]
# 384> FUNC_CALL[ NONE][ 25/ 87/ 94/ 0][2/4/1][ 1010][0-0] forward
# 384> ANGLE_OPEN[ TEMPLATE][ 32/ 94/ 95/ 0][2/4/1][ 100001050][0-0] <
# 384> TYPE[ NONE][ 33/ 95/ 99/ 0][2/5/1][ 41050][0-0] Args
# 384> ANGLE_CLOSE[ TEMPLATE][ 37/ 99/100/ 0][2/4/1][ 100001050][0-0] >
# 384> FPAREN_OPEN[ FUNC_CALL][ 38/100/101/ 0][2/4/1][ 100041010][0-0] (
# 384> NEWLINE[ NONE][108/101/ 0/ 0][2/4/1][ 1010][1-0]
# 384> WORD[ NONE][ 17/101/105/ 0][2/5/1][ 41010][0-0] args
# 384> FPAREN_CLOSE[ FUNC_CALL][ 21/105/106/ 0][2/4/1][ 100001010][0-0] )
# 384> FPAREN_CLOSE[ FUNC_CALL][ 22/106/107/ 0][2/3/1][ 100001010][0-0] )
# 384> ELLIPSIS[ NONE][ 24/107/110/ 0][2/3/1][ 100001010][0-0] ...
# 384> FPAREN_CLOSE[ FUNC_CALL][ 27/110/111/ 0][2/2/1][ 100001000][0-0] )
# 384> SEMICOLON[ NONE][ 28/111/112/ 0][2/2/1][ 100001000][0-0] ;
# 384> NEWLINE[ NONE][ 29/112/ 5/ 0][2/2/1][ 1000][1-0]
# 385> BRACE_CLOSE[ FUNC_DEF][ 9/ 5/ 6/ 0][1/1/1][ 100001000][0-0] }
# 385> NEWLINE[ NONE][ 10/ 6/ 5/ 0][1/1/1][ 1000][2-0]
# 387> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 387> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 388> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 23/ 0][1/1/1][ 1000][0-0] // cnl::from_value
# 388> NEWLINE[ NONE][ 19/ 23/ 5/ 0][1/1/1][ 1000][2-0]
# 390> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 71/ 0][1/1/1][ 1000][0-0] // if Number has Value for its Rep, what type would Number become?
# 390> NEWLINE[ NONE][ 67/ 71/ 5/ 0][1/1/1][ 1000][1-0]
# 391> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 391> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 391> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 391> WORD[ NONE][ 16/ 20/ 26/ 1][1/2/1][ 1040][0-0] Number
# 391> COMMA[ NONE][ 22/ 26/ 27/ 0][1/2/1][ 100001040][0-0] ,
# 391> NEWLINE[ NONE][ 26/ 27/ 0/ 0][1/2/1][ 1040][1-0]
# 391> TYPE[ NONE][ 10/ 28/ 33/ 1][1/2/1][ 51040][0-0] class
# 391> WORD[ NONE][ 16/ 34/ 39/ 1][1/2/1][ 1040][0-0] Value
# 391> COMMA[ NONE][ 21/ 39/ 40/ 0][1/2/1][ 100001040][0-0] ,
# 391> NEWLINE[ NONE][ 40/ 40/ 0/ 0][1/2/1][ 1040][1-0]
# 391> TYPE[ NONE][ 10/ 41/ 46/ 1][1/2/1][ 10051040][0-0] class
# 391> WORD[ NONE][ 16/ 47/ 53/ 1][1/2/1][ 10001040][0-0] Enable
# 391> ASSIGN[ NONE][ 22/ 54/ 55/ 1][1/2/1][ 100001040][0-0] =
# 391> TYPE[ NONE][ 23/ 56/ 60/ 1][1/2/1][ 41040][0-0] void
# 391> ANGLE_CLOSE[ TEMPLATE][ 27/ 60/ 61/ 0][1/1/1][ 100001040][0-0] >
# 391> NEWLINE[ NONE][ 28/ 61/ 5/ 0][1/1/1][ 1000][1-0]
# 392> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 392> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 392> TYPE[ STRUCT][ 1/ 12/ 22/ 1][1/1/1][ 1000][0-0] from_value
# 392> SEMICOLON[ STRUCT][ 11/ 22/ 23/ 0][1/1/1][ 100001000][0-0] ;
# 392> NEWLINE[ NONE][ 12/ 23/ 5/ 0][1/1/1][ 801000][6-0]
# 394> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 394> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 394> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 394> WORD[ NONE][ 16/ 20/ 26/ 1][1/2/1][ 1040][0-0] Number
# 394> COMMA[ NONE][ 22/ 26/ 27/ 0][1/2/1][ 100001040][0-0] ,
# 394> NEWLINE[ NONE][ 26/ 27/ 0/ 0][1/2/1][ 1040][1-0]
# 394> TYPE[ NONE][ 10/ 28/ 33/ 1][1/2/1][ 51040][0-0] class
# 394> TYPE[ NONE][ 16/ 34/ 39/ 1][1/2/1][ 1040][0-0] Value
# 394> ANGLE_CLOSE[ TEMPLATE][ 21/ 39/ 40/ 0][1/1/1][ 100001040][0-0] >
# 394> NEWLINE[ NONE][ 22/ 40/ 5/ 0][1/1/1][ 801000][2-0]
# 395> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51000][0-0] struct
# 395> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1000][1-0]
# 395> TYPE[ STRUCT][ 1/ 12/ 22/ 1][1/1/1][ 1000][0-0] from_value
# 395> ANGLE_OPEN[ STRUCT][ 11/ 22/ 23/ 0][1/1/1][ 100001040][0-0] <
# 395> WORD[ NONE][ 12/ 23/ 29/ 0][1/2/1][ 41040][0-0] Number
# 395> COMMA[ NONE][ 18/ 29/ 30/ 0][1/2/1][ 100001040][0-0] ,
# 395> NEWLINE[ NONE][ 21/ 30/ 0/ 0][1/2/1][ 1040][1-0]
# 395> WORD[ NONE][ 12/ 31/ 36/ 1][1/2/1][ 41040][0-0] Value
# 395> COMMA[ NONE][ 17/ 36/ 37/ 0][1/2/1][ 100001040][0-0] ,
# 395> NEWLINE[ NONE][ 39/ 37/ 0/ 0][1/2/1][ 1040][1-0]
# 395> TYPE[ NONE][ 12/ 38/ 43/ 1][1/2/1][ 41040][0-0] _impl
# 395> DC_MEMBER[ NONE][ 17/ 43/ 45/ 0][1/2/1][ 100001040][0-0] ::
# 395> WORD[ NONE][ 19/ 45/ 56/ 0][1/2/1][ 1040][0-0] enable_if_t
# 395> ANGLE_OPEN[ TEMPLATE][ 30/ 56/ 57/ 0][1/2/1][ 100001040][0-0] <
# 395> TYPE[ NONE][ 31/ 57/ 60/ 0][1/3/1][ 41040][0-0] std
# 395> DC_MEMBER[ NONE][ 34/ 60/ 62/ 0][1/3/1][ 100001040][0-0] ::
# 395> WORD[ NONE][ 36/ 62/ 73/ 0][1/3/1][ 1040][0-0] is_integral
# 395> ANGLE_OPEN[ TEMPLATE][ 47/ 73/ 74/ 0][1/3/1][ 100001040][0-0] <
# 395> TYPE[ NONE][ 48/ 74/ 80/ 0][1/4/1][ 41040][0-0] Number
# 395> ANGLE_CLOSE[ TEMPLATE][ 54/ 80/ 81/ 0][1/3/1][ 100001040][0-0] >
# 395> DC_MEMBER[ NONE][ 55/ 81/ 83/ 0][1/3/1][ 100041040][0-0] ::
# 395> TYPE[ NONE][ 57/ 83/ 88/ 0][1/3/1][ 1040][0-0] value
# 395> ANGLE_CLOSE[ TEMPLATE][ 62/ 88/ 89/ 0][1/2/1][ 100001040][0-0] >
# 395> ANGLE_CLOSE[ TEMPLATE][ 63/ 89/ 90/ 0][1/1/1][ 100041040][0-0] >
# 395> NEWLINE[ NONE][ 92/ 90/ 0/ 0][1/1/1][ 1040][1-0]
# 395> BRACE_OPEN[ STRUCT][ 9/ 91/ 92/ 1][1/1/1][ 100041000][0-0] {
# 395> NEWLINE[ NONE][ 10/ 92/ 9/ 0][2/2/1][ 1000][1-0]
# 396> USING[ NONE][ 9/ 9/ 14/ 0][2/2/1][ 10071400][0-0] using
# 396> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/1][ 1400][1-0]
# 396> WORD[ NONE][ 17/ 15/ 19/ 1][2/2/1][ 10001400][0-0] type
# 396> NEWLINE[ NONE][ 15/ 19/ 0/ 0][2/2/1][ 1400][1-0]
# 396> ASSIGN[ NONE][ 25/ 20/ 21/ 1][2/2/1][ 100101400][0-0] =
# 396> NEWLINE[ NONE][ 28/ 21/ 0/ 0][2/2/1][ 1400][1-0]
# 396> WORD[ NONE][ 33/ 22/ 28/ 1][2/2/1][ 41400][0-0] Number
# 396> SEMICOLON[ NONE][ 39/ 28/ 29/ 0][2/2/1][ 100001400][0-0] ;
# 396> NEWLINE[ NONE][ 40/ 29/ 5/ 0][2/2/1][ 1000][1-0]
# 397> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 100001400][0-0] }
# 397> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 397> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/1][ 801000][6-0]
# 399> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 399> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 399> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 399> WORD[ NONE][ 16/ 20/ 26/ 1][1/2/1][ 1040][0-0] Number
# 399> COMMA[ NONE][ 22/ 26/ 27/ 0][1/2/1][ 100001040][0-0] ,
# 399> NEWLINE[ NONE][ 26/ 27/ 0/ 0][1/2/1][ 1040][1-0]
# 399> TYPE[ NONE][ 10/ 28/ 33/ 1][1/2/1][ 10051040][0-0] class
# 399> TYPE[ NONE][ 16/ 34/ 39/ 1][1/2/1][ 10001040][0-0] Value
# 399> ANGLE_CLOSE[ TEMPLATE][ 21/ 39/ 40/ 0][1/1/1][ 110001040][0-0] >
# 399> NEWLINE[ NONE][ 22/ 40/ 5/ 0][1/1/1][ 1000][1-0]
# 400> USING[ NONE][ 1/ 5/ 10/ 0][1/1/1][ 10051000][0-0] using
# 400> NEWLINE[ NONE][ 5/ 10/ 0/ 0][1/1/1][ 1000][1-0]
# 400> WORD[ NONE][ 9/ 11/ 23/ 1][1/1/1][ 10001000][0-0] from_value_t
# 400> NEWLINE[ NONE][ 11/ 23/ 0/ 0][1/1/1][ 1000][1-0]
# 400> ASSIGN[ NONE][ 17/ 24/ 25/ 1][1/1/1][ 100101000][0-0] =
# 400> NEWLINE[ NONE][ 32/ 25/ 0/ 0][1/1/1][ 1000][1-0]
# 400> TYPENAME[ NONE][ 25/ 26/ 34/ 1][1/1/1][ 51000][0-0] typename
# 400> NEWLINE[ NONE][ 42/ 34/ 0/ 0][1/1/1][ 1000][1-0]
# 400> WORD[ NONE][ 25/ 35/ 45/ 1][1/1/1][ 1000][0-0] from_value
# 400> ANGLE_OPEN[ TEMPLATE][ 35/ 45/ 46/ 0][1/1/1][ 100001040][0-0] <
# 400> WORD[ NONE][ 36/ 46/ 52/ 0][1/2/1][ 41040][0-0] Number
# 400> COMMA[ NONE][ 42/ 52/ 53/ 0][1/2/1][ 100001040][0-0] ,
# 400> NEWLINE[ NONE][ 68/ 53/ 0/ 0][1/2/1][ 1040][1-0]
# 400> TYPE[ NONE][ 36/ 54/ 59/ 1][1/2/1][ 41040][0-0] Value
# 400> ANGLE_CLOSE[ TEMPLATE][ 41/ 59/ 60/ 0][1/1/1][ 100001040][0-0] >
# 400> NEWLINE[ NONE][ 86/ 60/ 0/ 0][1/1/1][ 801040][2-0]
# 400> DC_MEMBER[ NONE][ 25/ 60/ 62/ 0][1/1/1][ 100041000][0-0] ::
# 400> NEWLINE[ NONE][ 76/ 62/ 0/ 0][1/1/1][ 1000][1-0]
# 400> WORD[ NONE][ 25/ 62/ 66/ 0][1/1/1][ 1000][0-0] type
# 400> SEMICOLON[ NONE][ 29/ 66/ 67/ 0][1/1/1][ 100001000][0-0] ;
# 400> NEWLINE[ NONE][ 30/ 67/ 5/ 0][1/1/1][ 801000][2-0]
# 402> NAMESPACE[ NONE][ 1/ 5/ 14/ 0][1/1/1][ 71000][0-0] namespace
# 402> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 402> WORD[ NAMESPACE][ 1/ 15/ 20/ 1][1/1/1][ 1000][0-0] _impl
# 402> NEWLINE[ NONE][ 7/ 20/ 0/ 0][1/1/1][ 1000][1-0]
# 402> BRACE_OPEN[ NAMESPACE][ 1/ 21/ 22/ 1][1/1/1][ 100001000][0-0] {
# 402> NEWLINE[ NONE][ 2/ 22/ 9/ 0][2/2/1][ 1000][1-0]
# 403> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 403> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 403> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 403> WORD[ NONE][ 16/ 24/ 30/ 1][2/3/1][ 1040][0-0] Number
# 403> COMMA[ NONE][ 22/ 30/ 31/ 0][2/3/1][ 100001040][0-0] ,
# 403> NEWLINE[ NONE][ 30/ 31/ 0/ 0][2/3/1][ 1040][1-0]
# 403> TYPE[ NONE][ 10/ 32/ 37/ 1][2/3/1][ 51040][0-0] class
# 403> TYPE[ NONE][ 16/ 38/ 43/ 1][2/3/1][ 1040][0-0] Value
# 403> ANGLE_CLOSE[ TEMPLATE][ 21/ 43/ 44/ 0][2/2/1][ 100001040][0-0] >
# 403> NEWLINE[ NONE][ 22/ 44/ 9/ 0][2/2/1][ 801000][2-0]
# 404> QUALIFIER[ FUNC_DEF][ 1/ 9/ 18/ 0][2/2/1][ 51000][0-0] constexpr
# 404> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1000][1-0]
# 404> TYPE[ FUNC_DEF][ 1/ 19/ 23/ 1][2/2/1][ 11000][0-0] auto
# 404> NEWLINE[ NONE][ 5/ 23/ 0/ 0][2/2/1][ 1000][1-0]
# 404> FUNC_DEF[ NONE][ 1/ 24/ 34/ 1][2/2/1][ 1000][0-0] from_value
# 404> NEWLINE[ NONE][ 11/ 34/ 0/ 0][2/2/1][ 1000][1-0]
# 404> FPAREN_OPEN[ FUNC_DEF][ 1/ 34/ 35/ 0][2/2/1][ 100001000][0-0] (
# 404> NEWLINE[ NONE][ 2/ 35/ 0/ 0][2/2/1][ 1000][1-0]
# 404> TYPE[ NONE][ 9/ 35/ 40/ 0][2/3/1][ 451008][0-0] Value
# 404> QUALIFIER[ NONE][ 15/ 41/ 46/ 1][2/3/1][ 1008][0-0] const
# 404> BYREF[ NONE][ 20/ 46/ 47/ 0][2/3/1][ 100001008][0-0] &
# 404> WORD[ NONE][ 22/ 48/ 53/ 1][2/3/1][ 801008][0-0] value
# 404> NEWLINE[ NONE][ 27/ 53/ 0/ 0][2/3/1][ 1008][1-0]
# 404> FPAREN_CLOSE[ FUNC_DEF][ 1/ 53/ 54/ 0][2/2/1][ 100001000][0-0] )
# 404> NEWLINE[ NONE][ 2/ 54/ 9/ 0][2/2/1][ 1000][1-0]
# 405> MEMBER[ FUNC_DEF][ 1/ 9/ 11/ 0][2/2/1][ 108001000][0-0] ->
# 405> NEWLINE[ NONE][ 9/ 11/ 0/ 0][2/2/1][ 1000][1-0]
# 405> TYPE[ FUNC_DEF][ 1/ 12/ 15/ 1][2/2/1][ 8001000][0-0] cnl
# 405> NEWLINE[ NONE][ 4/ 15/ 0/ 0][2/2/1][ 1000][1-0]
# 405> DC_MEMBER[ FUNC_DEF][ 1/ 15/ 17/ 0][2/2/1][ 108001000][0-0] ::
# 405> NEWLINE[ NONE][ 3/ 17/ 0/ 0][2/2/1][ 1000][1-0]
# 405> WORD[ FUNC_DEF][ 1/ 17/ 29/ 0][2/2/1][ 8001000][0-0] from_value_t
# 405> ANGLE_OPEN[ FUNC_DEF][ 13/ 29/ 30/ 0][2/2/1][ 108001040][0-0] <
# 405> WORD[ FUNC_DEF][ 14/ 30/ 36/ 0][2/3/1][ 8041040][0-0] Number
# 405> COMMA[ FUNC_DEF][ 20/ 36/ 37/ 0][2/3/1][ 108001040][0-0] ,
# 405> NEWLINE[ NONE][ 21/ 37/ 0/ 0][2/3/1][ 1040][1-0]
# 405> TYPE[ FUNC_DEF][ 9/ 38/ 43/ 1][2/3/1][ 8041040][0-0] Value
# 405> ANGLE_CLOSE[ FUNC_DEF][ 14/ 43/ 44/ 0][2/2/1][ 108001040][0-0] >
# 405> NEWLINE[ NONE][ 15/ 44/ 0/ 0][2/2/1][ 1040][1-0]
# 405> BRACE_OPEN[ FUNC_DEF][ 9/ 45/ 46/ 1][2/2/1][ 100041000][0-0] {
# 405> NEWLINE[ NONE][ 10/ 46/ 13/ 0][3/3/1][ 1000][1-0]
# 406> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71000][0-0] return
# 406> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1000][1-0]
# 406> WORD[ NONE][ 17/ 20/ 25/ 1][3/3/1][ 41000][0-0] value
# 406> SEMICOLON[ NONE][ 22/ 25/ 26/ 0][3/3/1][ 100001000][0-0] ;
# 406> NEWLINE[ NONE][ 23/ 26/ 9/ 0][3/3/1][ 1000][1-0]
# 407> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001000][0-0] }
# 407> NEWLINE[ NONE][ 10/ 10/ 5/ 0][2/2/1][ 1000][1-0]
# 408> BRACE_CLOSE[ NAMESPACE][ 1/ 5/ 6/ 0][1/1/1][ 100001000][0-0] }
# 408> NEWLINE[ NONE][ 2/ 6/ 5/ 0][1/1/1][ 1000][2-0]
# 410> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 85/ 0][1/1/1][ 1000][0-0] ////////////////////////////////////////////////////////////////////////////////
# 410> NEWLINE[ NONE][ 81/ 85/ 5/ 0][1/1/1][ 1000][1-0]
# 411> COMMENT_CPP[ COMMENT_WHOLE][ 1/ 5/ 18/ 0][1/1/1][ 1000][0-0] // cnl::scale
# 411> NEWLINE[ NONE][ 14/ 18/ 5/ 0][1/1/1][ 1000][2-0]
# 413> NAMESPACE[ NONE][ 1/ 5/ 14/ 0][1/1/1][ 71000][0-0] namespace
# 413> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 413> WORD[ NAMESPACE][ 1/ 15/ 31/ 1][1/1/1][ 1000][0-0] _num_traits_impl
# 413> NEWLINE[ NONE][ 17/ 31/ 0/ 0][1/1/1][ 1000][1-0]
# 413> BRACE_OPEN[ NAMESPACE][ 1/ 32/ 33/ 1][1/1/1][ 500001000][0-0] {
# 413> NEWLINE[ NONE][ 2/ 33/ 9/ 0][2/2/1][ 1000][1-0]
# 414> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 10061000][0-0] template
# 414> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 110001040][0-0] <
# 414> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 10051040][0-0] class
# 414> TYPE[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 10001040][0-0] T
# 414> ANGLE_CLOSE[ TEMPLATE][ 17/ 25/ 26/ 0][2/2/1][ 110001040][0-0] >
# 414> NEWLINE[ NONE][ 18/ 26/ 9/ 0][2/2/1][ 1000][1-0]
# 415> USING[ NONE][ 1/ 9/ 14/ 0][2/2/1][ 10051000][0-0] using
# 415> NEWLINE[ NONE][ 9/ 14/ 0/ 0][2/2/1][ 1000][1-0]
# 415> WORD[ NONE][ 9/ 15/ 32/ 1][2/2/1][ 10001000][0-0] scale_result_type
# 415> NEWLINE[ NONE][ 26/ 32/ 0/ 0][2/2/1][ 1000][1-0]
# 415> ASSIGN[ NONE][ 17/ 33/ 34/ 1][2/2/1][ 100101000][0-0] =
# 415> NEWLINE[ NONE][ 33/ 34/ 0/ 0][2/2/1][ 1000][1-0]
# 415> SIZEOF[ NONE][ 25/ 35/ 43/ 1][2/2/1][ 41000][0-0] decltype
# 415> PAREN_OPEN[ NONE][ 33/ 43/ 44/ 0][2/2/1][ 100001000][0-0] (
# 415> NEWLINE[ NONE][ 51/ 44/ 0/ 0][2/2/1][ 1000][1-0]
# 415> TYPE[ NONE][ 34/ 44/ 47/ 0][2/3/1][ 41000][0-0] std
# 415> NEWLINE[ NONE][ 61/ 47/ 0/ 0][2/3/1][ 1000][1-0]
# 415> DC_MEMBER[ NONE][ 34/ 47/ 49/ 0][2/3/1][ 100001000][0-0] ::
# 415> NEWLINE[ NONE][ 64/ 49/ 0/ 0][2/3/1][ 1000][1-0]
# 415> FUNC_CALL[ NONE][ 34/ 49/ 56/ 0][2/3/1][ 1000][0-0] declval
# 415> ANGLE_OPEN[ TEMPLATE][ 41/ 56/ 57/ 0][2/3/1][ 100001040][0-0] <
# 415> TYPE[ NONE][ 42/ 57/ 58/ 0][2/4/1][ 41040][0-0] T
# 415> ANGLE_CLOSE[ TEMPLATE][ 43/ 58/ 59/ 0][2/3/1][ 100001040][0-0] >
# 415> FPAREN_OPEN[ FUNC_CALL][ 45/ 59/ 60/ 0][2/3/1][ 100041000][0-0] (
# 415> FPAREN_CLOSE[ FUNC_CALL][ 46/ 60/ 61/ 0][2/3/1][ 100001000][0-0] )
# 415> NEWLINE[ NONE][ 77/ 61/ 0/ 0][2/3/1][ 1000][1-0]
# 415> ARITH[ NONE][ 34/ 62/ 63/ 1][2/3/1][ 100001000][0-0] *
# 415> NEWLINE[ NONE][ 79/ 63/ 0/ 0][2/3/1][ 1000][1-0]
# 415> TYPE[ NONE][ 34/ 64/ 67/ 1][2/3/1][ 41000][0-0] std
# 415> NEWLINE[ NONE][ 81/ 67/ 0/ 0][2/3/1][ 1000][1-0]
# 415> DC_MEMBER[ NONE][ 34/ 67/ 69/ 0][2/3/1][ 100001000][0-0] ::
# 415> NEWLINE[ NONE][ 84/ 69/ 0/ 0][2/3/1][ 1000][1-0]
# 415> FUNC_CALL[ NONE][ 34/ 69/ 76/ 0][2/3/1][ 1000][0-0] declval
# 415> ANGLE_OPEN[ TEMPLATE][ 41/ 76/ 77/ 0][2/3/1][ 100001040][0-0] <
# 415> TYPE[ NONE][ 42/ 77/ 78/ 0][2/4/1][ 41040][0-0] T
# 415> ANGLE_CLOSE[ TEMPLATE][ 43/ 78/ 79/ 0][2/3/1][ 100001040][0-0] >
# 415> FPAREN_OPEN[ FUNC_CALL][ 45/ 79/ 80/ 0][2/3/1][ 100041000][0-0] (
# 415> FPAREN_CLOSE[ FUNC_CALL][ 46/ 80/ 81/ 0][2/3/1][ 100001000][0-0] )
# 415> PAREN_CLOSE[ NONE][ 47/ 81/ 82/ 0][2/2/1][ 100001000][0-0] )
# 415> SEMICOLON[ NONE][ 48/ 82/ 83/ 0][2/2/1][ 100001000][0-0] ;
# 415> NEWLINE[ NONE][ 49/ 83/ 9/ 0][2/2/1][ 801000][2-0]
# 417> TEMPLATE[ NONE][ 1/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 417> ANGLE_OPEN[ TEMPLATE][ 9/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 417> TYPE[ NONE][ 10/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 417> TYPE[ NONE][ 16/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 417> ANGLE_CLOSE[ TEMPLATE][ 17/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 417> NEWLINE[ NONE][ 18/ 26/ 9/ 0][2/2/1][ 801000][2-0]
# 418> QUALIFIER[ NONE][ 1/ 9/ 18/ 0][2/2/1][ 51000][0-0] constexpr
# 418> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1000][1-0]
# 418> TYPE[ NONE][ 1/ 19/ 36/ 1][2/2/1][ 401000][0-0] scale_result_type
# 418> ANGLE_OPEN[ TEMPLATE][ 18/ 36/ 37/ 0][2/2/1][ 100001040][0-0] <
# 418> TYPE[ NONE][ 19/ 37/ 38/ 0][2/3/1][ 41040][0-0] T
# 418> ANGLE_CLOSE[ FUNC_DEF][ 20/ 38/ 39/ 0][2/2/1][ 100001040][0-0] >
# 418> NEWLINE[ NONE][ 22/ 39/ 0/ 0][2/2/1][ 1040][1-0]
# 418> FUNC_DEF[ NONE][ 1/ 40/ 44/ 1][2/2/1][ 841000][0-0] pown
# 418> NEWLINE[ NONE][ 5/ 44/ 0/ 0][2/2/1][ 1000][1-0]
# 418> FPAREN_OPEN[ FUNC_DEF][ 1/ 44/ 45/ 0][2/2/1][ 100001000][0-0] (
# 418> NEWLINE[ NONE][ 2/ 45/ 0/ 0][2/2/1][ 1000][1-0]
# 418> TYPE[ NONE][ 27/ 45/ 48/ 0][2/3/1][ 451008][0-0] int
# 418> WORD[ NONE][ 31/ 49/ 53/ 1][2/3/1][ 801008][0-0] base
# 418> COMMA[ NONE][ 35/ 53/ 54/ 0][2/3/1][ 100001008][0-0] ,
# 418> NEWLINE[ NONE][ 36/ 54/ 0/ 0][2/3/1][ 1008][1-0]
# 418> TYPE[ NONE][ 27/ 55/ 58/ 1][2/3/1][ 451008][0-0] int
# 418> WORD[ NONE][ 31/ 59/ 62/ 1][2/3/1][ 801008][0-0] exp
# 418> NEWLINE[ NONE][ 34/ 62/ 0/ 0][2/3/1][ 1008][1-0]
# 418> FPAREN_CLOSE[ FUNC_DEF][ 1/ 62/ 63/ 0][2/2/1][ 100001000][0-0] )
# 418> NEWLINE[ NONE][ 2/ 63/ 0/ 0][2/2/1][ 1000][1-0]
# 418> BRACE_OPEN[ FUNC_DEF][ 9/ 64/ 65/ 1][2/2/1][ 100001000][0-0] {
# 418> NEWLINE[ NONE][ 10/ 65/ 13/ 0][3/3/1][ 1000][1-0]
# 419> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71000][0-0] return
# 419> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1000][1-0]
# 419> WORD[ NONE][ 17/ 20/ 23/ 1][3/3/1][ 41000][0-0] exp
# 419> NEWLINE[ NONE][ 20/ 23/ 20/ 0][3/3/1][ 1000][1-0]
# 420> QUESTION[ NONE][ 17/ 20/ 21/ 0][3/3/1][ 100001000][0-0] ?
# 420> NEWLINE[ NONE][ 21/ 21/ 0/ 0][3/3/1][ 1000][1-0]
# 420> FUNC_CALL[ NONE][ 17/ 22/ 26/ 1][3/3/1][ 41000][0-0] pown
# 420> ANGLE_OPEN[ TEMPLATE][ 21/ 26/ 27/ 0][3/3/1][ 100001040][0-0] <
# 420> TYPE[ NONE][ 22/ 27/ 28/ 0][3/4/1][ 41040][0-0] T
# 420> ANGLE_CLOSE[ TEMPLATE][ 23/ 28/ 29/ 0][3/3/1][ 100001040][0-0] >
# 420> FPAREN_OPEN[ FUNC_CALL][ 24/ 29/ 30/ 0][3/3/1][ 100041000][0-0] (
# 420> NEWLINE[ NONE][ 25/ 30/ 0/ 0][3/3/1][ 1000][1-0]
# 420> WORD[ NONE][ 33/ 30/ 34/ 0][3/4/1][ 41010][0-0] base
# 420> COMMA[ NONE][ 37/ 34/ 35/ 0][3/4/1][ 100001010][0-0] ,
# 420> NEWLINE[ NONE][ 34/ 35/ 0/ 0][3/4/1][ 1010][1-0]
# 420> WORD[ NONE][ 25/ 36/ 39/ 1][3/4/1][ 41010][0-0] exp
# 420> ARITH[ NONE][ 29/ 40/ 41/ 1][3/4/1][ 100001010][0-0] -
# 420> NEWLINE[ NONE][ 40/ 41/ 0/ 0][3/4/1][ 1010][1-0]
# 420> NUMBER[ NONE][ 25/ 42/ 43/ 1][3/4/1][ 41010][0-0] 1
# 420> FPAREN_CLOSE[ FUNC_CALL][ 26/ 43/ 44/ 0][3/3/1][ 100001000][0-0] )
# 420> NEWLINE[ NONE][ 43/ 44/ 0/ 0][3/3/1][ 1000][1-0]
# 420> ARITH[ NONE][ 17/ 45/ 46/ 1][3/3/1][ 100001000][0-0] *
# 420> NEWLINE[ NONE][ 37/ 46/ 0/ 0][3/3/1][ 1000][1-0]
# 420> TYPE_CAST[ NONE][ 17/ 47/ 58/ 1][3/3/1][ 41000][0-0] static_cast
# 420> NEWLINE[ NONE][ 39/ 58/ 0/ 0][3/3/1][ 1000][1-0]
# 420> ANGLE_OPEN[ TYPE_CAST][ 17/ 58/ 59/ 0][3/3/1][ 100001000][0-0] <
# 420> NEWLINE[ NONE][ 50/ 59/ 0/ 0][3/3/1][ 1000][1-0]
# 420> TYPE[ NONE][ 18/ 59/ 76/ 0][3/4/1][ 41000][0-0] scale_result_type
# 420> ANGLE_OPEN[ TEMPLATE][ 35/ 76/ 77/ 0][3/4/1][ 100001040][0-0] <
# 420> TYPE[ NONE][ 36/ 77/ 78/ 0][3/5/1][ 41040][0-0] T
# 420> ANGLE_CLOSE[ TEMPLATE][ 37/ 78/ 79/ 0][3/4/1][ 100001040][0-0] >
# 420> ANGLE_CLOSE[ TYPE_CAST][ 38/ 80/ 81/ 1][3/3/1][ 100041000][0-0] >
# 420> PAREN_OPEN[ TYPE_CAST][ 39/ 81/ 82/ 0][3/3/1][ 100041000][0-0] (
# 420> NEWLINE[ NONE][ 74/ 82/ 0/ 0][3/3/1][ 1000][1-0]
# 420> WORD[ NONE][ 40/ 82/ 86/ 0][3/4/1][ 41000][0-0] base
# 420> PAREN_CLOSE[ TYPE_CAST][ 44/ 86/ 87/ 0][3/3/1][ 100001000][0-0] )
# 420> NEWLINE[ NONE][ 45/ 87/ 20/ 0][3/3/1][ 1000][1-0]
# 421> COND_COLON[ NONE][ 17/ 20/ 21/ 0][3/3/1][ 100001000][0-0] :
# 421> NEWLINE[ NONE][ 21/ 21/ 0/ 0][3/3/1][ 1000][1-0]
# 421> TYPE_CAST[ NONE][ 17/ 22/ 33/ 1][3/3/1][ 61000][0-0] static_cast
# 421> NEWLINE[ NONE][ 28/ 33/ 0/ 0][3/3/1][ 1000][1-0]
# 421> ANGLE_OPEN[ TYPE_CAST][ 17/ 33/ 34/ 0][3/3/1][ 100001000][0-0] <
# 421> NEWLINE[ NONE][ 25/ 34/ 0/ 0][3/3/1][ 1000][1-0]
# 421> TYPE[ NONE][ 18/ 34/ 51/ 0][3/4/1][ 41000][0-0] scale_result_type
# 421> ANGLE_OPEN[ TEMPLATE][ 35/ 51/ 52/ 0][3/4/1][ 100001040][0-0] <
# 421> TYPE[ NONE][ 36/ 52/ 53/ 0][3/5/1][ 41040][0-0] T
# 421> ANGLE_CLOSE[ TEMPLATE][ 37/ 53/ 54/ 0][3/4/1][ 100001040][0-0] >
# 421> ANGLE_CLOSE[ TYPE_CAST][ 38/ 55/ 56/ 1][3/3/1][ 100041000][0-0] >
# 421> PAREN_OPEN[ TYPE_CAST][ 39/ 56/ 57/ 0][3/3/1][ 100041000][0-0] (
# 421> NEWLINE[ NONE][ 49/ 57/ 0/ 0][3/3/1][ 1000][1-0]
# 421> NUMBER[ NONE][ 40/ 57/ 58/ 0][3/4/1][ 41000][0-0] 1
# 421> PAREN_CLOSE[ TYPE_CAST][ 41/ 58/ 59/ 0][3/3/1][ 100001000][0-0] )
# 421> SEMICOLON[ NONE][ 42/ 59/ 60/ 0][3/3/1][ 100001000][0-0] ;
# 421> NEWLINE[ NONE][ 43/ 60/ 9/ 0][3/3/1][ 1000][1-0]
# 422> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001000][0-0] }
# 422> NEWLINE[ NONE][ 10/ 10/ 9/ 0][2/2/1][ 1000][2-0]
# 424> TEMPLATE[ NONE][ 19/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 424> ANGLE_OPEN[ TEMPLATE][ 27/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 424> TYPE[ NONE][ 28/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 424> TYPE[ NONE][ 34/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 424> ANGLE_CLOSE[ TEMPLATE][ 35/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 424> NEWLINE[ NONE][ 36/ 26/ 9/ 0][2/2/1][ 1000][1-0]
# 425> QUALIFIER[ NONE][ 1/ 9/ 18/ 0][2/2/1][ 51000][0-0] constexpr
# 425> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1000][1-0]
# 425> TYPE[ NONE][ 1/ 19/ 36/ 1][2/2/1][ 401000][0-0] scale_result_type
# 425> ANGLE_OPEN[ TEMPLATE][ 18/ 36/ 37/ 0][2/2/1][ 100001040][0-0] <
# 425> TYPE[ NONE][ 19/ 37/ 38/ 0][2/3/1][ 41040][0-0] T
# 425> ANGLE_CLOSE[ FUNC_DEF][ 20/ 38/ 39/ 0][2/2/1][ 100001040][0-0] >
# 425> NEWLINE[ NONE][ 22/ 39/ 0/ 0][2/2/1][ 1040][1-0]
# 425> FUNC_DEF[ NONE][ 1/ 40/ 44/ 1][2/2/1][ 841000][0-0] pow2
# 425> NEWLINE[ NONE][ 5/ 44/ 0/ 0][2/2/1][ 1000][1-0]
# 425> FPAREN_OPEN[ FUNC_DEF][ 1/ 44/ 45/ 0][2/2/1][ 100001000][0-0] (
# 425> NEWLINE[ NONE][ 2/ 45/ 0/ 0][2/2/1][ 1000][1-0]
# 425> TYPE[ NONE][ 27/ 45/ 48/ 0][2/3/1][ 451008][0-0] int
# 425> WORD[ NONE][ 31/ 49/ 52/ 1][2/3/1][ 801008][0-0] exp
# 425> NEWLINE[ NONE][ 34/ 52/ 0/ 0][2/3/1][ 1008][1-0]
# 425> FPAREN_CLOSE[ FUNC_DEF][ 1/ 52/ 53/ 0][2/2/1][ 100001000][0-0] )
# 425> NEWLINE[ NONE][ 2/ 53/ 0/ 0][2/2/1][ 1000][1-0]
# 425> BRACE_OPEN[ FUNC_DEF][ 9/ 54/ 55/ 1][2/2/1][ 100001000][0-0] {
# 425> NEWLINE[ NONE][ 10/ 55/ 13/ 0][3/3/1][ 1000][1-0]
# 426> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71000][0-0] return
# 426> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1000][1-0]
# 426> WORD[ NONE][ 17/ 20/ 37/ 1][3/3/1][ 41000][0-0] scale_result_type
# 426> ANGLE_OPEN[ TEMPLATE][ 34/ 37/ 38/ 0][3/3/1][ 100001040][0-0] <
# 426> TYPE[ NONE][ 35/ 38/ 39/ 0][3/4/1][ 41040][0-0] T
# 426> ANGLE_CLOSE[ TEMPLATE][ 36/ 39/ 40/ 0][3/3/1][ 100001040][0-0] >
# 426> NEWLINE[ NONE][ 39/ 40/ 0/ 0][3/3/1][ 1040][1-0]
# 426> BRACE_OPEN[ NONE][ 25/ 40/ 41/ 0][3/3/1][ 100041000][0-0] {
# 426> NEWLINE[ NONE][ 40/ 41/ 0/ 0][3/3/1][ 1000][1-0]
# 426> NUMBER[ NONE][ 25/ 41/ 42/ 0][4/4/1][ 61000][0-0] 1
# 426> BRACE_CLOSE[ NONE][ 26/ 42/ 43/ 0][3/3/1][ 100001000][0-0] }
# 426> NEWLINE[ NONE][ 34/ 43/ 0/ 0][3/3/1][ 1000][1-0]
# 426> ARITH[ NONE][ 25/ 44/ 46/ 1][3/3/1][ 1001e1000][0-0] <<
# 426> NEWLINE[ NONE][ 44/ 46/ 0/ 0][3/3/1][ 1000][1-0]
# 426> WORD[ NONE][ 25/ 47/ 50/ 1][3/3/1][ c1000][0-0] exp
# 426> SEMICOLON[ NONE][ 28/ 50/ 51/ 0][3/3/1][ 100001000][0-0] ;
# 426> NEWLINE[ NONE][ 29/ 51/ 9/ 0][3/3/1][ 1000][1-0]
# 427> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001000][0-0] }
# 427> NEWLINE[ NONE][ 10/ 10/ 9/ 0][2/2/1][ 1000][2-0]
# 429> TEMPLATE[ NONE][ 19/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 429> ANGLE_OPEN[ TEMPLATE][ 27/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 429> TYPE[ NONE][ 28/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 429> TYPE[ NONE][ 34/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 429> ANGLE_CLOSE[ TEMPLATE][ 35/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 429> NEWLINE[ NONE][ 36/ 26/ 9/ 0][2/2/1][ 1000][1-0]
# 430> QUALIFIER[ NONE][ 1/ 9/ 18/ 0][2/2/1][ 51000][0-0] constexpr
# 430> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1000][1-0]
# 430> TYPE[ NONE][ 1/ 19/ 36/ 1][2/2/1][ 401000][0-0] scale_result_type
# 430> ANGLE_OPEN[ TEMPLATE][ 18/ 36/ 37/ 0][2/2/1][ 100001040][0-0] <
# 430> TYPE[ NONE][ 19/ 37/ 38/ 0][2/3/1][ 41040][0-0] T
# 430> ANGLE_CLOSE[ FUNC_DEF][ 20/ 38/ 39/ 0][2/2/1][ 100001040][0-0] >
# 430> NEWLINE[ NONE][ 22/ 39/ 0/ 0][2/2/1][ 1040][1-0]
# 430> FUNC_DEF[ NONE][ 1/ 40/ 43/ 1][2/2/1][ 841000][0-0] pow
# 430> NEWLINE[ NONE][ 4/ 43/ 0/ 0][2/2/1][ 1000][1-0]
# 430> FPAREN_OPEN[ FUNC_DEF][ 1/ 43/ 44/ 0][2/2/1][ 100001000][0-0] (
# 430> NEWLINE[ NONE][ 2/ 44/ 0/ 0][2/2/1][ 1000][1-0]
# 430> TYPE[ NONE][ 27/ 44/ 47/ 0][2/3/1][ 451008][0-0] int
# 430> WORD[ NONE][ 31/ 48/ 52/ 1][2/3/1][ 801008][0-0] base
# 430> COMMA[ NONE][ 35/ 52/ 53/ 0][2/3/1][ 100001008][0-0] ,
# 430> NEWLINE[ NONE][ 36/ 53/ 0/ 0][2/3/1][ 1008][1-0]
# 430> TYPE[ NONE][ 27/ 54/ 57/ 1][2/3/1][ 451008][0-0] int
# 430> WORD[ NONE][ 31/ 58/ 61/ 1][2/3/1][ 801008][0-0] exp
# 430> NEWLINE[ NONE][ 34/ 61/ 0/ 0][2/3/1][ 1008][1-0]
# 430> FPAREN_CLOSE[ FUNC_DEF][ 1/ 61/ 62/ 0][2/2/1][ 100001000][0-0] )
# 430> NEWLINE[ NONE][ 2/ 62/ 0/ 0][2/2/1][ 1000][1-0]
# 430> BRACE_OPEN[ FUNC_DEF][ 9/ 63/ 64/ 1][2/2/1][ 100001000][0-0] {
# 430> NEWLINE[ NONE][ 10/ 64/ 13/ 0][3/3/1][ 1000][1-0]
# 431> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 61000][0-0] return
# 431> PAREN_OPEN[ NONE][ 16/ 20/ 21/ 1][3/3/1][ 100041000][0-0] (
# 431> NEWLINE[ NONE][ 20/ 21/ 0/ 0][3/3/1][ 1000][1-0]
# 431> WORD[ NONE][ 17/ 21/ 25/ 0][3/4/1][ 41000][0-0] base
# 431> NEWLINE[ NONE][ 21/ 25/ 0/ 0][3/4/1][ 1000][1-0]
# 431> COMPARE[ NONE][ 17/ 26/ 28/ 1][3/4/1][ 100001000][0-0] ==
# 431> NEWLINE[ NONE][ 19/ 28/ 0/ 0][3/4/1][ 1000][1-0]
# 431> NUMBER[ NONE][ 17/ 29/ 30/ 1][3/4/1][ 41000][0-0] 2
# 431> PAREN_CLOSE[ NONE][ 18/ 30/ 31/ 0][3/3/1][ 100001000][0-0] )
# 431> NEWLINE[ NONE][ 22/ 31/ 0/ 0][3/3/1][ 1000][1-0]
# 431> QUESTION[ NONE][ 16/ 32/ 33/ 1][3/3/1][ 100001000][0-0] ?
# 431> NEWLINE[ NONE][ 23/ 33/ 0/ 0][3/3/1][ 1000][1-0]
# 431> FUNC_CALL[ NONE][ 16/ 34/ 38/ 1][3/3/1][ 41000][0-0] pow2
# 431> ANGLE_OPEN[ TEMPLATE][ 20/ 38/ 39/ 0][3/3/1][ 100001040][0-0] <
# 431> TYPE[ NONE][ 21/ 39/ 40/ 0][3/4/1][ 41040][0-0] T
# 431> ANGLE_CLOSE[ TEMPLATE][ 22/ 40/ 41/ 0][3/3/1][ 100001040][0-0] >
# 431> FPAREN_OPEN[ FUNC_CALL][ 23/ 41/ 42/ 0][3/3/1][ 100041000][0-0] (
# 431> NEWLINE[ NONE][ 32/ 42/ 0/ 0][3/3/1][ 1000][1-0]
# 431> WORD[ NONE][ 33/ 42/ 45/ 0][3/4/1][ 41010][0-0] exp
# 431> FPAREN_CLOSE[ FUNC_CALL][ 36/ 45/ 46/ 0][3/3/1][ 100001000][0-0] )
# 431> NEWLINE[ NONE][ 45/ 46/ 0/ 0][3/3/1][ 1000][1-0]
# 431> COND_COLON[ NONE][ 16/ 47/ 48/ 1][3/3/1][ 100001000][0-0] :
# 431> NEWLINE[ NONE][ 38/ 48/ 0/ 0][3/3/1][ 1000][1-0]
# 431> FUNC_CALL[ NONE][ 16/ 49/ 53/ 1][3/3/1][ 61000][0-0] pown
# 431> ANGLE_OPEN[ TEMPLATE][ 20/ 53/ 54/ 0][3/3/1][ 100001040][0-0] <
# 431> TYPE[ NONE][ 21/ 54/ 55/ 0][3/4/1][ 41040][0-0] T
# 431> ANGLE_CLOSE[ TEMPLATE][ 22/ 55/ 56/ 0][3/3/1][ 100001040][0-0] >
# 431> FPAREN_OPEN[ FUNC_CALL][ 23/ 56/ 57/ 0][3/3/1][ 100041000][0-0] (
# 431> NEWLINE[ NONE][ 47/ 57/ 0/ 0][3/3/1][ 1000][1-0]
# 431> WORD[ NONE][ 33/ 57/ 61/ 0][3/4/1][ 41010][0-0] base
# 431> COMMA[ NONE][ 37/ 61/ 62/ 0][3/4/1][ 100001010][0-0] ,
# 431> NEWLINE[ NONE][ 61/ 62/ 0/ 0][3/4/1][ 1010][1-0]
# 431> WORD[ NONE][ 25/ 63/ 66/ 1][3/4/1][ 41010][0-0] exp
# 431> FPAREN_CLOSE[ FUNC_CALL][ 28/ 66/ 67/ 0][3/3/1][ 100001000][0-0] )
# 431> SEMICOLON[ NONE][ 29/ 67/ 68/ 0][3/3/1][ 100001000][0-0] ;
# 431> NEWLINE[ NONE][ 30/ 68/ 9/ 0][3/3/1][ 1000][1-0]
# 432> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001000][0-0] }
# 432> NEWLINE[ NONE][ 10/ 10/ 5/ 0][2/2/1][ 1000][1-0]
# 433> BRACE_CLOSE[ NAMESPACE][ 1/ 5/ 6/ 0][1/1/1][ 500001000][0-0] }
# 433> NEWLINE[ NONE][ 2/ 6/ 5/ 0][1/1/1][ 1000][2-0]
# 435> TEMPLATE[ NONE][ 1/ 5/ 13/ 0][1/1/1][ 61000][0-0] template
# 435> ANGLE_OPEN[ TEMPLATE][ 9/ 13/ 14/ 0][1/1/1][ 100001040][0-0] <
# 435> TYPE[ NONE][ 10/ 14/ 19/ 0][1/2/1][ 51040][0-0] class
# 435> TYPE[ NONE][ 16/ 20/ 21/ 1][1/2/1][ 1040][0-0] T
# 435> ANGLE_CLOSE[ TEMPLATE][ 17/ 21/ 22/ 0][1/1/1][ 100001040][0-0] >
# 435> NEWLINE[ NONE][ 18/ 22/ 5/ 0][1/1/1][ 1000][1-0]
# 436> STRUCT[ TEMPLATE][ 1/ 5/ 11/ 0][1/1/1][ 51002][0-0] struct
# 436> NEWLINE[ NONE][ 5/ 11/ 0/ 0][1/1/1][ 1002][1-0]
# 436> TYPE[ STRUCT][ 1/ 12/ 17/ 1][1/1/1][ 1002][0-0] scale
# 436> NEWLINE[ NONE][ 6/ 17/ 0/ 0][1/1/1][ 1002][1-0]
# 436> BRACE_OPEN[ STRUCT][ 9/ 18/ 19/ 1][1/1/1][ 100001002][0-0] {
# 436> NEWLINE[ NONE][ 10/ 19/ 9/ 0][2/2/1][ 1002][1-0]
# 437> QUALIFIER[ FUNC_DEF][ 1/ 9/ 18/ 0][2/2/1][ 71402][0-0] constexpr
# 437> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1402][1-0]
# 437> TYPE[ FUNC_DEF][ 1/ 19/ 23/ 1][2/2/1][ 11402][0-0] auto
# 437> NEWLINE[ NONE][ 5/ 23/ 0/ 0][2/2/1][ 1402][1-0]
# 437> OPERATOR[ FUNC_DEF][ 1/ 24/ 32/ 1][2/2/1][ 1402][0-0] operator
# 437> NEWLINE[ NONE][ 9/ 32/ 0/ 0][2/2/1][ 1402][1-0]
# 437> FUNC_DEF[ OPERATOR][ 1/ 32/ 34/ 0][2/2/1][ 100001402][0-0] ()
# 437> NEWLINE[ NONE][ 3/ 34/ 0/ 0][2/2/1][ 1402][1-0]
# 437> FPAREN_OPEN[ FUNC_DEF][ 1/ 34/ 35/ 0][2/2/1][ 100001402][0-0] (
# 437> NEWLINE[ NONE][ 2/ 35/ 0/ 0][2/2/1][ 1402][1-0]
# 437> TYPE[ NONE][ 17/ 35/ 36/ 0][2/3/1][ 45140a][0-0] T
# 437> QUALIFIER[ NONE][ 19/ 37/ 42/ 1][2/3/1][ 140a][0-0] const
# 437> BYREF[ NONE][ 24/ 42/ 43/ 0][2/3/1][ 10000140a][0-0] &
# 437> WORD[ NONE][ 26/ 44/ 45/ 1][2/3/1][ 80140a][0-0] i
# 437> COMMA[ NONE][ 27/ 45/ 46/ 0][2/3/1][ 10000140a][0-0] ,
# 437> NEWLINE[ NONE][ 28/ 46/ 0/ 0][2/3/1][ 140a][1-0]
# 437> TYPE[ NONE][ 17/ 47/ 50/ 1][2/3/1][ 45140a][0-0] int
# 437> WORD[ NONE][ 21/ 51/ 55/ 1][2/3/1][ 80140a][0-0] base
# 437> COMMA[ NONE][ 25/ 55/ 56/ 0][2/3/1][ 10000140a][0-0] ,
# 437> NEWLINE[ NONE][ 26/ 56/ 0/ 0][2/3/1][ 140a][1-0]
# 437> TYPE[ NONE][ 17/ 57/ 60/ 1][2/3/1][ 45140a][0-0] int
# 437> WORD[ NONE][ 21/ 61/ 64/ 1][2/3/1][ 80140a][0-0] exp
# 437> NEWLINE[ NONE][ 24/ 64/ 0/ 0][2/3/1][ 140a][1-0]
# 437> FPAREN_CLOSE[ FUNC_DEF][ 1/ 64/ 65/ 0][2/2/1][ 100001402][0-0] )
# 437> NEWLINE[ NONE][ 64/ 65/ 0/ 0][2/2/1][ 1402][1-0]
# 437> QUALIFIER[ FUNC_DEF][ 1/ 66/ 71/ 1][2/2/1][ 8001402][0-0] const
# 437> NEWLINE[ NONE][ 6/ 71/ 9/ 0][2/2/1][ 1002][1-0]
# 438> MEMBER[ FUNC_DEF][ 1/ 9/ 11/ 0][2/2/1][ 108001402][0-0] ->
# 438> NEWLINE[ NONE][ 9/ 11/ 0/ 0][2/2/1][ 1402][1-0]
# 438> TYPE[ FUNC_DEF][ 1/ 12/ 28/ 1][2/2/1][ 8001402][0-0] _num_traits_impl
# 438> NEWLINE[ NONE][ 17/ 28/ 0/ 0][2/2/1][ 1402][1-0]
# 438> DC_MEMBER[ FUNC_DEF][ 1/ 28/ 30/ 0][2/2/1][ 108001402][0-0] ::
# 438> NEWLINE[ NONE][ 12/ 30/ 0/ 0][2/2/1][ 1402][1-0]
# 438> WORD[ FUNC_DEF][ 1/ 30/ 47/ 0][2/2/1][ 8001402][0-0] scale_result_type
# 438> ANGLE_OPEN[ FUNC_DEF][ 18/ 47/ 48/ 0][2/2/1][ 108001442][0-0] <
# 438> TYPE[ FUNC_DEF][ 19/ 48/ 49/ 0][2/3/1][ 8041442][0-0] T
# 438> ANGLE_CLOSE[ FUNC_DEF][ 20/ 49/ 50/ 0][2/2/1][ 108001442][0-0] >
# 438> NEWLINE[ NONE][ 21/ 50/ 0/ 0][2/2/1][ 1442][1-0]
# 438> BRACE_OPEN[ FUNC_DEF][ 9/ 51/ 52/ 1][2/2/1][ 100041402][0-0] {
# 438> NEWLINE[ NONE][ 10/ 52/ 13/ 0][3/3/1][ 1002][1-0]
# 439> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71402][0-0] return
# 439> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1402][1-0]
# 439> TYPE[ NONE][ 17/ 20/ 25/ 1][3/3/1][ 41402][0-0] _impl
# 439> NEWLINE[ NONE][ 22/ 25/ 0/ 0][3/3/1][ 1402][1-0]
# 439> DC_MEMBER[ NONE][ 17/ 25/ 27/ 0][3/3/1][ 100001402][0-0] ::
# 439> NEWLINE[ NONE][ 19/ 27/ 0/ 0][3/3/1][ 1402][1-0]
# 439> FUNC_CALL[ NONE][ 17/ 27/ 35/ 0][3/3/1][ 1402][0-0] from_rep
# 439> ANGLE_OPEN[ TEMPLATE][ 25/ 35/ 36/ 0][3/3/1][ 100001442][0-0] <
# 439> TYPE[ NONE][ 26/ 36/ 52/ 0][3/4/1][ 41442][0-0] _num_traits_impl
# 439> DC_MEMBER[ NONE][ 42/ 52/ 54/ 0][3/4/1][ 100001442][0-0] ::
# 439> WORD[ NONE][ 44/ 54/ 71/ 0][3/4/1][ 1442][0-0] scale_result_type
# 439> ANGLE_OPEN[ TEMPLATE][ 61/ 71/ 72/ 0][3/4/1][ 100001442][0-0] <
# 439> TYPE[ NONE][ 62/ 72/ 73/ 0][3/5/1][ 41442][0-0] T
# 439> ANGLE_CLOSE[ TEMPLATE][ 63/ 73/ 74/ 0][3/4/1][ 100001442][0-0] >
# 439> ANGLE_CLOSE[ TEMPLATE][ 64/ 74/ 75/ 0][3/3/1][ 100041442][0-0] >
# 439> FPAREN_OPEN[ FUNC_CALL][ 65/ 75/ 76/ 0][3/3/1][ 100041402][0-0] (
# 439> NEWLINE[ NONE][ 66/ 76/ 21/ 0][3/4/1][ 1012][1-0]
# 440> PAREN_OPEN[ NONE][ 17/ 21/ 22/ 0][3/4/1][ 100041412][0-0] (
# 440> NEWLINE[ NONE][ 21/ 22/ 0/ 0][3/4/1][ 1412][1-0]
# 440> WORD[ NONE][ 18/ 22/ 25/ 0][3/5/1][ 41412][0-0] exp
# 440> NEWLINE[ NONE][ 21/ 25/ 0/ 0][3/5/1][ 1412][1-0]
# 440> COMPARE[ NONE][ 18/ 26/ 27/ 1][3/5/1][ 100001412][0-0] <
# 440> NEWLINE[ NONE][ 19/ 27/ 0/ 0][3/5/1][ 1412][1-0]
# 440> NUMBER[ NONE][ 18/ 28/ 29/ 1][3/5/1][ 41412][0-0] 0
# 440> PAREN_CLOSE[ NONE][ 19/ 29/ 30/ 0][3/4/1][ 100001412][0-0] )
# 440> NEWLINE[ NONE][ 20/ 30/ 21/ 0][3/4/1][ 1012][1-0]
# 441> QUESTION[ NONE][ 21/ 21/ 22/ 0][3/4/1][ 100001412][0-0] ?
# 441> TYPE[ NONE][ 23/ 23/ 28/ 1][3/4/1][ 41412][0-0] _impl
# 441> DC_MEMBER[ NONE][ 28/ 28/ 30/ 0][3/4/1][ 100001412][0-0] ::
# 441> FUNC_CALL[ NONE][ 30/ 30/ 36/ 0][3/4/1][ 1412][0-0] to_rep
# 441> ANGLE_OPEN[ TEMPLATE][ 36/ 36/ 37/ 0][3/4/1][ 100001452][0-0] <
# 441> TYPE[ NONE][ 37/ 37/ 38/ 0][3/5/1][ 41452][0-0] T
# 441> ANGLE_CLOSE[ TEMPLATE][ 38/ 38/ 39/ 0][3/4/1][ 100001452][0-0] >
# 441> FPAREN_OPEN[ FUNC_CALL][ 39/ 39/ 40/ 0][3/4/1][ 100041412][0-0] (
# 441> NEWLINE[ NONE][ 39/ 40/ 0/ 0][3/4/1][ 1412][1-0]
# 441> WORD[ NONE][ 17/ 40/ 41/ 0][3/5/1][ 41412][0-0] i
# 441> FPAREN_CLOSE[ FUNC_CALL][ 18/ 41/ 42/ 0][3/4/1][ 100001412][0-0] )
# 441> ARITH[ NONE][ 20/ 43/ 44/ 1][3/4/1][ 100001412][0-0] /
# 441> NEWLINE[ NONE][ 43/ 44/ 0/ 0][3/4/1][ 1412][1-0]
# 441> TYPE[ NONE][ 25/ 45/ 61/ 1][3/4/1][ 41412][0-0] _num_traits_impl
# 441> DC_MEMBER[ NONE][ 41/ 61/ 63/ 0][3/4/1][ 100001412][0-0] ::
# 441> FUNC_CALL[ NONE][ 43/ 63/ 66/ 0][3/4/1][ 1412][0-0] pow
# 441> ANGLE_OPEN[ TEMPLATE][ 46/ 66/ 67/ 0][3/4/1][ 100001452][0-0] <
# 441> TYPE[ NONE][ 47/ 67/ 68/ 0][3/5/1][ 41452][0-0] T
# 441> ANGLE_CLOSE[ TEMPLATE][ 48/ 68/ 69/ 0][3/4/1][ 100001452][0-0] >
# 441> FPAREN_OPEN[ FUNC_CALL][ 49/ 69/ 70/ 0][3/4/1][ 100041412][0-0] (
# 441> NEWLINE[ NONE][ 69/ 70/ 0/ 0][3/4/1][ 1412][1-0]
# 441> WORD[ NONE][ 50/ 70/ 74/ 0][3/5/1][ 41412][0-0] base
# 441> COMMA[ NONE][ 54/ 74/ 75/ 0][3/5/1][ 100001412][0-0] ,
# 441> NEWLINE[ NONE][ 74/ 75/ 0/ 0][3/5/1][ 1412][1-0]
# 441> NEG[ NONE][ 25/ 76/ 77/ 1][3/5/1][ 100041412][0-0] -
# 441> NEWLINE[ NONE][ 76/ 77/ 0/ 0][3/5/1][ 1412][1-0]
# 441> WORD[ NONE][ 25/ 77/ 80/ 0][3/5/1][ 41412][0-0] exp
# 441> FPAREN_CLOSE[ FUNC_CALL][ 28/ 80/ 81/ 0][3/4/1][ 100001412][0-0] )
# 441> NEWLINE[ NONE][ 29/ 81/ 21/ 0][3/4/1][ 1012][1-0]
# 442> COND_COLON[ NONE][ 21/ 21/ 22/ 0][3/4/1][ 100001412][0-0] :
# 442> TYPE[ NONE][ 23/ 23/ 28/ 1][3/4/1][ 461412][0-0] _impl
# 442> DC_MEMBER[ NONE][ 28/ 28/ 30/ 0][3/4/1][ 100001412][0-0] ::
# 442> FUNC_CALL[ NONE][ 30/ 30/ 36/ 0][3/4/1][ 1412][0-0] to_rep
# 442> ANGLE_OPEN[ TEMPLATE][ 36/ 36/ 37/ 0][3/4/1][ 100001452][0-0] <
# 442> TYPE[ NONE][ 37/ 37/ 38/ 0][3/5/1][ 41452][0-0] T
# 442> ANGLE_CLOSE[ TEMPLATE][ 38/ 38/ 39/ 0][3/4/1][ 100001452][0-0] >
# 442> FPAREN_OPEN[ FUNC_CALL][ 39/ 39/ 40/ 0][3/4/1][ 100041412][0-0] (
# 442> NEWLINE[ NONE][ 39/ 40/ 0/ 0][3/4/1][ 1412][1-0]
# 442> WORD[ NONE][ 25/ 40/ 41/ 0][3/5/1][ 41412][0-0] i
# 442> FPAREN_CLOSE[ FUNC_CALL][ 26/ 41/ 42/ 0][3/4/1][ 100001412][0-0] )
# 442> ARITH[ NONE][ 28/ 43/ 44/ 1][3/4/1][ 100001412][0-0] *
# 442> NEWLINE[ NONE][ 43/ 44/ 0/ 0][3/4/1][ 1412][1-0]
# 442> TYPE[ NONE][ 25/ 45/ 61/ 1][3/4/1][ 41412][0-0] _num_traits_impl
# 442> DC_MEMBER[ NONE][ 41/ 61/ 63/ 0][3/4/1][ 100001412][0-0] ::
# 442> FUNC_CALL[ NONE][ 43/ 63/ 66/ 0][3/4/1][ 1412][0-0] pow
# 442> ANGLE_OPEN[ TEMPLATE][ 46/ 66/ 67/ 0][3/4/1][ 100001452][0-0] <
# 442> TYPE[ NONE][ 47/ 67/ 68/ 0][3/5/1][ 41452][0-0] T
# 442> ANGLE_CLOSE[ TEMPLATE][ 48/ 68/ 69/ 0][3/4/1][ 100001452][0-0] >
# 442> FPAREN_OPEN[ FUNC_CALL][ 49/ 69/ 70/ 0][3/4/1][ 100041412][0-0] (
# 442> NEWLINE[ NONE][ 69/ 70/ 0/ 0][3/4/1][ 1412][1-0]
# 442> WORD[ NONE][ 50/ 70/ 74/ 0][3/5/1][ 41412][0-0] base
# 442> COMMA[ NONE][ 54/ 74/ 75/ 0][3/5/1][ 100001412][0-0] ,
# 442> NEWLINE[ NONE][ 74/ 75/ 0/ 0][3/5/1][ 1412][1-0]
# 442> WORD[ NONE][ 25/ 76/ 79/ 1][3/5/1][ 41412][0-0] exp
# 442> FPAREN_CLOSE[ FUNC_CALL][ 28/ 79/ 80/ 0][3/4/1][ 100001412][0-0] )
# 442> FPAREN_CLOSE[ FUNC_CALL][ 29/ 80/ 81/ 0][3/3/1][ 100001402][0-0] )
# 442> SEMICOLON[ NONE][ 30/ 81/ 82/ 0][3/3/1][ 100001402][0-0] ;
# 442> NEWLINE[ NONE][ 31/ 82/ 9/ 0][3/3/1][ 1002][1-0]
# 443> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001402][0-0] }
# 443> NEWLINE[ NONE][ 10/ 10/ 5/ 0][2/2/1][ 1002][1-0]
# 444> BRACE_CLOSE[ STRUCT][ 9/ 5/ 6/ 0][1/1/1][ 100001400][0-0] }
# 444> SEMICOLON[ STRUCT][ 10/ 6/ 7/ 0][1/1/1][ 100001000][0-0] ;
# 444> NEWLINE[ NONE][ 11/ 7/ 5/ 0][1/1/1][ 1000][6-0]
# 446> NAMESPACE[ NONE][ 1/ 5/ 14/ 0][1/1/1][ 71000][0-0] namespace
# 446> NEWLINE[ NONE][ 5/ 14/ 0/ 0][1/1/1][ 1000][1-0]
# 446> WORD[ NAMESPACE][ 1/ 15/ 20/ 1][1/1/1][ 1000][0-0] _impl
# 446> NEWLINE[ NONE][ 7/ 20/ 0/ 0][1/1/1][ 1000][1-0]
# 446> BRACE_OPEN[ NAMESPACE][ 9/ 21/ 22/ 1][1/1/1][ 100001000][0-0] {
# 446> NEWLINE[ NONE][ 10/ 22/ 9/ 0][2/2/1][ 1000][1-0]
# 447> TEMPLATE[ NONE][ 9/ 9/ 17/ 0][2/2/1][ 61000][0-0] template
# 447> ANGLE_OPEN[ TEMPLATE][ 17/ 17/ 18/ 0][2/2/1][ 100001040][0-0] <
# 447> TYPE[ NONE][ 18/ 18/ 23/ 0][2/3/1][ 51040][0-0] class
# 447> TYPE[ NONE][ 24/ 24/ 25/ 1][2/3/1][ 1040][0-0] T
# 447> ANGLE_CLOSE[ TEMPLATE][ 25/ 25/ 26/ 0][2/2/1][ 100001040][0-0] >
# 447> NEWLINE[ NONE][ 26/ 26/ 9/ 0][2/2/1][ 1000][1-0]
# 448> QUALIFIER[ FUNC_DEF][ 1/ 9/ 18/ 0][2/2/1][ 51000][0-0] constexpr
# 448> NEWLINE[ NONE][ 9/ 18/ 0/ 0][2/2/1][ 1000][1-0]
# 448> TYPE[ FUNC_DEF][ 1/ 19/ 23/ 1][2/2/1][ 11000][0-0] auto
# 448> NEWLINE[ NONE][ 5/ 23/ 0/ 0][2/2/1][ 1000][1-0]
# 448> FUNC_DEF[ NONE][ 1/ 24/ 29/ 1][2/2/1][ 1000][0-0] scale
# 448> NEWLINE[ NONE][ 6/ 29/ 0/ 0][2/2/1][ 1000][1-0]
# 448> FPAREN_OPEN[ FUNC_DEF][ 1/ 29/ 30/ 0][2/2/1][ 100001000][0-0] (
# 448> NEWLINE[ NONE][ 2/ 30/ 0/ 0][2/2/1][ 1000][1-0]
# 448> TYPE[ NONE][ 17/ 30/ 31/ 0][2/3/1][ 451008][0-0] T
# 448> QUALIFIER[ NONE][ 19/ 32/ 37/ 1][2/3/1][ 1008][0-0] const
# 448> BYREF[ NONE][ 24/ 37/ 38/ 0][2/3/1][ 100001008][0-0] &
# 448> WORD[ NONE][ 26/ 39/ 40/ 1][2/3/1][ 801008][0-0] i
# 448> COMMA[ NONE][ 27/ 40/ 41/ 0][2/3/1][ 100001008][0-0] ,
# 448> NEWLINE[ NONE][ 28/ 41/ 0/ 0][2/3/1][ 1008][1-0]
# 448> TYPE[ NONE][ 17/ 42/ 45/ 1][2/3/1][ 451008][0-0] int
# 448> WORD[ NONE][ 21/ 46/ 50/ 1][2/3/1][ 801008][0-0] base
# 448> COMMA[ NONE][ 25/ 50/ 51/ 0][2/3/1][ 100001008][0-0] ,
# 448> NEWLINE[ NONE][ 26/ 51/ 0/ 0][2/3/1][ 1008][1-0]
# 448> TYPE[ NONE][ 17/ 52/ 55/ 1][2/3/1][ 451008][0-0] int
# 448> WORD[ NONE][ 21/ 56/ 59/ 1][2/3/1][ 801008][0-0] exp
# 448> NEWLINE[ NONE][ 24/ 59/ 0/ 0][2/3/1][ 1008][1-0]
# 448> FPAREN_CLOSE[ FUNC_DEF][ 1/ 59/ 60/ 0][2/2/1][ 100001000][0-0] )
# 448> NEWLINE[ NONE][ 2/ 60/ 9/ 0][2/2/1][ 1000][1-0]
# 449> MEMBER[ FUNC_DEF][ 1/ 9/ 11/ 0][2/2/1][ 108001000][0-0] ->
# 449> NEWLINE[ NONE][ 9/ 11/ 0/ 0][2/2/1][ 1000][1-0]
# 449> SIZEOF[ FUNC_DEF][ 1/ 12/ 20/ 1][2/2/1][ 8001000][0-0] decltype
# 449> PAREN_OPEN[ FUNC_DEF][ 9/ 20/ 21/ 0][2/2/1][ 108001000][0-0] (
# 449> NEWLINE[ NONE][ 10/ 21/ 0/ 0][2/2/1][ 1000][1-0]
# 449> TYPE[ FUNC_DEF][ 10/ 21/ 24/ 0][2/3/1][ 8041000][0-0] cnl
# 449> NEWLINE[ NONE][ 14/ 24/ 0/ 0][2/3/1][ 1000][1-0]
# 449> DC_MEMBER[ FUNC_DEF][ 10/ 24/ 26/ 0][2/3/1][ 108001000][0-0] ::
# 449> NEWLINE[ NONE][ 17/ 26/ 0/ 0][2/3/1][ 1000][1-0]
# 449> WORD[ FUNC_DEF][ 10/ 26/ 31/ 0][2/3/1][ 8001000][0-0] scale
# 449> ANGLE_OPEN[ FUNC_DEF][ 15/ 31/ 32/ 0][2/3/1][ 108001040][0-0] <
# 449> TYPE[ FUNC_DEF][ 16/ 32/ 33/ 0][2/4/1][ 8041040][0-0] T
# 449> ANGLE_CLOSE[ FUNC_DEF][ 17/ 33/ 34/ 0][2/3/1][ 108001040][0-0] >
# 449> PAREN_OPEN[ FUNC_DEF][ 18/ 34/ 35/ 0][2/3/1][ 108041000][0-0] (
# 449> PAREN_CLOSE[ FUNC_DEF][ 19/ 35/ 36/ 0][2/3/1][ 108001000][0-0] )
# 449> FPAREN_OPEN[ FUNC_CALL][ 20/ 36/ 37/ 0][2/3/1][ 108001000][0-0] (
# 449> NEWLINE[ NONE][ 29/ 37/ 0/ 0][2/3/1][ 1000][1-0]
# 449> WORD[ FUNC_DEF][ 17/ 37/ 38/ 0][2/4/1][ 8041000][0-0] i
# 449> COMMA[ FUNC_DEF][ 18/ 38/ 39/ 0][2/4/1][ 108001000][0-0] ,
# 449> NEWLINE[ NONE][ 38/ 39/ 0/ 0][2/4/1][ 1000][1-0]
# 449> WORD[ FUNC_DEF][ 17/ 40/ 44/ 1][2/4/1][ 8041000][0-0] base
# 449> COMMA[ FUNC_DEF][ 21/ 44/ 45/ 0][2/4/1][ 108001000][0-0] ,
# 449> NEWLINE[ NONE][ 44/ 45/ 0/ 0][2/4/1][ 1000][1-0]
# 449> WORD[ FUNC_DEF][ 17/ 46/ 49/ 1][2/4/1][ 8041000][0-0] exp
# 449> FPAREN_CLOSE[ FUNC_CALL][ 20/ 49/ 50/ 0][2/3/1][ 108001000][0-0] )
# 449> PAREN_CLOSE[ FUNC_DEF][ 21/ 50/ 51/ 0][2/2/1][ 108001000][0-0] )
# 449> NEWLINE[ NONE][ 22/ 51/ 0/ 0][2/2/1][ 1000][1-0]
# 449> BRACE_OPEN[ FUNC_DEF][ 9/ 52/ 53/ 1][2/2/1][ 100001000][0-0] {
# 449> NEWLINE[ NONE][ 10/ 53/ 13/ 0][3/3/1][ 1000][1-0]
# 450> RETURN[ NONE][ 9/ 13/ 19/ 0][3/3/1][ 71000][0-0] return
# 450> NEWLINE[ NONE][ 13/ 19/ 0/ 0][3/3/1][ 1000][1-0]
# 450> TYPE[ NONE][ 17/ 20/ 23/ 1][3/3/1][ 41000][0-0] cnl
# 450> NEWLINE[ NONE][ 20/ 23/ 0/ 0][3/3/1][ 1000][1-0]
# 450> DC_MEMBER[ NONE][ 17/ 23/ 25/ 0][3/3/1][ 100001000][0-0] ::
# 450> NEWLINE[ NONE][ 19/ 25/ 0/ 0][3/3/1][ 1000][1-0]
# 450> FUNC_CALL[ NONE][ 17/ 25/ 30/ 0][3/3/1][ 1000][0-0] scale
# 450> ANGLE_OPEN[ TEMPLATE][ 22/ 30/ 31/ 0][3/3/1][ 100001040][0-0] <
# 450> TYPE[ NONE][ 23/ 31/ 32/ 0][3/4/1][ 41040][0-0] T
# 450> ANGLE_CLOSE[ TEMPLATE][ 24/ 32/ 33/ 0][3/3/1][ 100001040][0-0] >
# 450> FPAREN_OPEN[ FUNC_CALL][ 26/ 33/ 34/ 0][3/3/1][ 100041000][0-0] (
# 450> FPAREN_CLOSE[ FUNC_CALL][ 27/ 34/ 35/ 0][3/3/1][ 100001000][0-0] )
# 450> FPAREN_OPEN[ FUNC_CALL][ 28/ 35/ 36/ 0][3/3/1][ 100001000][0-0] (
# 450> NEWLINE[ NONE][ 29/ 36/ 0/ 0][3/3/1][ 1000][1-0]
# 450> WORD[ NONE][ 25/ 36/ 37/ 0][3/4/1][ 41000][0-0] i
# 450> COMMA[ NONE][ 26/ 37/ 38/ 0][3/4/1][ 100001000][0-0] ,
# 450> NEWLINE[ NONE][ 37/ 38/ 0/ 0][3/4/1][ 1000][1-0]
# 450> WORD[ NONE][ 25/ 39/ 43/ 1][3/4/1][ 41000][0-0] base
# 450> COMMA[ NONE][ 29/ 43/ 44/ 0][3/4/1][ 100001000][0-0] ,
# 450> NEWLINE[ NONE][ 43/ 44/ 0/ 0][3/4/1][ 1000][1-0]
# 450> WORD[ NONE][ 25/ 45/ 48/ 1][3/4/1][ 41000][0-0] exp
# 450> FPAREN_CLOSE[ FUNC_CALL][ 28/ 48/ 49/ 0][3/3/1][ 100001000][0-0] )
# 450> SEMICOLON[ NONE][ 29/ 49/ 50/ 0][3/3/1][ 100001000][0-0] ;
# 450> NEWLINE[ NONE][ 30/ 50/ 9/ 0][3/3/1][ 1000][1-0]
# 451> BRACE_CLOSE[ FUNC_DEF][ 9/ 9/ 10/ 0][2/2/1][ 100001000][0-0] }
# 451> NEWLINE[ NONE][ 10/ 10/ 5/ 0][2/2/1][ 1000][1-0]
# 452> BRACE_CLOSE[ NAMESPACE][ 9/ 5/ 6/ 0][1/1/1][ 100001000][0-0] }
# 452> NEWLINE[ NONE][ 10/ 6/ 1/ 0][1/1/1][ 1000][1-0]
# 453> BRACE_CLOSE[ NAMESPACE][ 1/ 1/ 2/ 0][0/0/1][ 500000000][0-0] }
# 453> NEWLINE[ NONE][ 2/ 2/ 1/ 0][0/0/1][ 0][2-0]
# 455> PREPROC[ NL_CONT][ 1/ 1/ 2/ 0][0/0/0][8100080001][0-0] #
# 455> NL_CONT[ NONE][ 3/ 2/ 0/ 0][0/0/0][ 200001][1-0] \
# 455> PP_ENDIF[ NONE][ 9/ 2/ 7/ 0][0/0/0][ 1][0-0] endif
# 455> COMMENT_CPP[ COMMENT_END][ 18/ 9/ 30/ 2][0/0/0][ 4000001][0-0] // CNL_NUMERIC_TRAITS
# 455> NEWLINE[ NONE][ 35/ 30/ 1/ 0][0/0/0][ 0][0-0]
# -=====-
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment