forked from OSchip/llvm-project
[libc++] NFC: Remove trailing whitespace from the feature test macro table
This commit is contained in:
parent
94c799fecf
commit
0451ed9619
|
@ -22,205 +22,204 @@ Status
|
|||
:widths: auto
|
||||
|
||||
================================================= =================
|
||||
Macro Name Value
|
||||
Macro Name Value
|
||||
================================================= =================
|
||||
**C++ 14**
|
||||
**C++ 14**
|
||||
-------------------------------------------------------------------
|
||||
``__cpp_lib_chrono_udls`` ``201304L``
|
||||
``__cpp_lib_chrono_udls`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_complex_udls`` ``201309L``
|
||||
``__cpp_lib_complex_udls`` ``201309L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_exchange_function`` ``201304L``
|
||||
``__cpp_lib_exchange_function`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_generic_associative_lookup`` ``201304L``
|
||||
``__cpp_lib_generic_associative_lookup`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_integer_sequence`` ``201304L``
|
||||
``__cpp_lib_integer_sequence`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_integral_constant_callable`` ``201304L``
|
||||
``__cpp_lib_integral_constant_callable`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_is_final`` ``201402L``
|
||||
``__cpp_lib_is_final`` ``201402L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_is_null_pointer`` ``201309L``
|
||||
``__cpp_lib_is_null_pointer`` ``201309L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_make_reverse_iterator`` ``201402L``
|
||||
``__cpp_lib_make_reverse_iterator`` ``201402L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_make_unique`` ``201304L``
|
||||
``__cpp_lib_make_unique`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_null_iterators`` ``201304L``
|
||||
``__cpp_lib_null_iterators`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_quoted_string_io`` ``201304L``
|
||||
``__cpp_lib_quoted_string_io`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_result_of_sfinae`` ``201210L``
|
||||
``__cpp_lib_result_of_sfinae`` ``201210L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_robust_nonmodifying_seq_ops`` ``201304L``
|
||||
``__cpp_lib_robust_nonmodifying_seq_ops`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_shared_timed_mutex`` ``201402L``
|
||||
``__cpp_lib_shared_timed_mutex`` ``201402L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_string_udls`` ``201304L``
|
||||
``__cpp_lib_string_udls`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_transformation_trait_aliases`` ``201304L``
|
||||
``__cpp_lib_transformation_trait_aliases`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_transparent_operators`` ``201210L``
|
||||
``__cpp_lib_transparent_operators`` ``201210L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_tuple_element_t`` ``201402L``
|
||||
``__cpp_lib_tuple_element_t`` ``201402L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_tuples_by_type`` ``201304L``
|
||||
``__cpp_lib_tuples_by_type`` ``201304L``
|
||||
------------------------------------------------- -----------------
|
||||
**C++ 17**
|
||||
**C++ 17**
|
||||
-------------------------------------------------------------------
|
||||
``__cpp_lib_addressof_constexpr`` ``201603L``
|
||||
``__cpp_lib_addressof_constexpr`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_allocator_traits_is_always_equal`` ``201411L``
|
||||
``__cpp_lib_allocator_traits_is_always_equal`` ``201411L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_any`` ``201606L``
|
||||
``__cpp_lib_any`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_apply`` ``201603L``
|
||||
``__cpp_lib_apply`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_array_constexpr`` ``201603L``
|
||||
``__cpp_lib_array_constexpr`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_as_const`` ``201510L``
|
||||
``__cpp_lib_as_const`` ``201510L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_atomic_is_always_lock_free`` ``201603L``
|
||||
``__cpp_lib_atomic_is_always_lock_free`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_bool_constant`` ``201505L``
|
||||
``__cpp_lib_bool_constant`` ``201505L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_boyer_moore_searcher`` *unimplemented*
|
||||
``__cpp_lib_boyer_moore_searcher`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_byte`` ``201603L``
|
||||
``__cpp_lib_byte`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_chrono`` ``201611L``
|
||||
``__cpp_lib_chrono`` ``201611L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_clamp`` ``201603L``
|
||||
``__cpp_lib_clamp`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_enable_shared_from_this`` ``201603L``
|
||||
``__cpp_lib_enable_shared_from_this`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_execution`` *unimplemented*
|
||||
``__cpp_lib_execution`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_filesystem`` ``201703L``
|
||||
``__cpp_lib_filesystem`` ``201703L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_gcd_lcm`` ``201606L``
|
||||
``__cpp_lib_gcd_lcm`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_hardware_interference_size`` *unimplemented*
|
||||
``__cpp_lib_hardware_interference_size`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_has_unique_object_representations`` ``201606L``
|
||||
``__cpp_lib_has_unique_object_representations`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_hypot`` ``201603L``
|
||||
``__cpp_lib_hypot`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_incomplete_container_elements`` ``201505L``
|
||||
``__cpp_lib_incomplete_container_elements`` ``201505L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_invoke`` ``201411L``
|
||||
``__cpp_lib_invoke`` ``201411L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_is_aggregate`` ``201703L``
|
||||
``__cpp_lib_is_aggregate`` ``201703L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_is_invocable`` ``201703L``
|
||||
``__cpp_lib_is_invocable`` ``201703L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_is_swappable`` ``201603L``
|
||||
``__cpp_lib_is_swappable`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_launder`` ``201606L``
|
||||
``__cpp_lib_launder`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_logical_traits`` ``201510L``
|
||||
``__cpp_lib_logical_traits`` ``201510L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_make_from_tuple`` ``201606L``
|
||||
``__cpp_lib_make_from_tuple`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_map_try_emplace`` ``201411L``
|
||||
``__cpp_lib_map_try_emplace`` ``201411L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_math_special_functions`` *unimplemented*
|
||||
``__cpp_lib_math_special_functions`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_memory_resource`` *unimplemented*
|
||||
``__cpp_lib_memory_resource`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_node_extract`` ``201606L``
|
||||
``__cpp_lib_node_extract`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_nonmember_container_access`` ``201411L``
|
||||
``__cpp_lib_nonmember_container_access`` ``201411L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_not_fn`` ``201603L``
|
||||
``__cpp_lib_not_fn`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_optional`` ``201606L``
|
||||
``__cpp_lib_optional`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_parallel_algorithm`` *unimplemented*
|
||||
``__cpp_lib_parallel_algorithm`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_raw_memory_algorithms`` ``201606L``
|
||||
``__cpp_lib_raw_memory_algorithms`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_sample`` ``201603L``
|
||||
``__cpp_lib_sample`` ``201603L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_scoped_lock`` ``201703L``
|
||||
``__cpp_lib_scoped_lock`` ``201703L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_shared_mutex`` ``201505L``
|
||||
``__cpp_lib_shared_mutex`` ``201505L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_shared_ptr_arrays`` *unimplemented*
|
||||
``__cpp_lib_shared_ptr_arrays`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_shared_ptr_weak_type`` ``201606L``
|
||||
``__cpp_lib_shared_ptr_weak_type`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_string_view`` ``201606L``
|
||||
``__cpp_lib_string_view`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_to_chars`` *unimplemented*
|
||||
``__cpp_lib_to_chars`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_transparent_operators`` ``201510L``
|
||||
``__cpp_lib_transparent_operators`` ``201510L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_type_trait_variable_templates`` ``201510L``
|
||||
``__cpp_lib_type_trait_variable_templates`` ``201510L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_uncaught_exceptions`` ``201411L``
|
||||
``__cpp_lib_uncaught_exceptions`` ``201411L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_unordered_map_try_emplace`` ``201411L``
|
||||
``__cpp_lib_unordered_map_try_emplace`` ``201411L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_variant`` ``201606L``
|
||||
``__cpp_lib_variant`` ``201606L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_void_t`` ``201411L``
|
||||
``__cpp_lib_void_t`` ``201411L``
|
||||
------------------------------------------------- -----------------
|
||||
**C++ 2a**
|
||||
**C++ 2a**
|
||||
-------------------------------------------------------------------
|
||||
``__cpp_lib_array_constexpr`` ``201811L``
|
||||
``__cpp_lib_array_constexpr`` ``201811L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_atomic_flag_test`` ``201907L``
|
||||
``__cpp_lib_atomic_flag_test`` ``201907L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_atomic_float`` *unimplemented*
|
||||
``__cpp_lib_atomic_float`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_atomic_lock_free_type_aliases`` ``201907L``
|
||||
``__cpp_lib_atomic_lock_free_type_aliases`` ``201907L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_atomic_ref`` *unimplemented*
|
||||
``__cpp_lib_atomic_ref`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_atomic_shared_ptr`` *unimplemented*
|
||||
``__cpp_lib_atomic_shared_ptr`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_atomic_value_initialization`` *unimplemented*
|
||||
``__cpp_lib_atomic_value_initialization`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_atomic_wait`` ``201907L``
|
||||
``__cpp_lib_atomic_wait`` ``201907L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_bind_front`` *unimplemented*
|
||||
``__cpp_lib_bind_front`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_bit_cast`` *unimplemented*
|
||||
``__cpp_lib_bit_cast`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_char8_t`` ``201811L``
|
||||
``__cpp_lib_char8_t`` ``201811L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_concepts`` *unimplemented*
|
||||
``__cpp_lib_concepts`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_constexpr_misc`` *unimplemented*
|
||||
``__cpp_lib_constexpr_misc`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_constexpr_swap_algorithms`` *unimplemented*
|
||||
``__cpp_lib_constexpr_swap_algorithms`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_constexpr_utility`` ``201811L``
|
||||
``__cpp_lib_constexpr_utility`` ``201811L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_destroying_delete`` ``201806L``
|
||||
``__cpp_lib_destroying_delete`` ``201806L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_endian`` ``201907L``
|
||||
``__cpp_lib_endian`` ``201907L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_erase_if`` ``202002L``
|
||||
``__cpp_lib_erase_if`` ``202002L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_generic_unordered_lookup`` *unimplemented*
|
||||
``__cpp_lib_generic_unordered_lookup`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_interpolate`` ``201902L``
|
||||
``__cpp_lib_interpolate`` ``201902L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_is_constant_evaluated`` ``201811L``
|
||||
``__cpp_lib_is_constant_evaluated`` ``201811L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_list_remove_return_type`` ``201806L``
|
||||
``__cpp_lib_list_remove_return_type`` ``201806L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_math_constants`` ``201907L``
|
||||
``__cpp_lib_math_constants`` ``201907L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_ranges`` *unimplemented*
|
||||
``__cpp_lib_ranges`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_span`` ``202002L``
|
||||
``__cpp_lib_span`` ``202002L``
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_three_way_comparison`` *unimplemented*
|
||||
``__cpp_lib_three_way_comparison`` *unimplemented*
|
||||
------------------------------------------------- -----------------
|
||||
``__cpp_lib_to_array`` ``201907L``
|
||||
``__cpp_lib_to_array`` ``201907L``
|
||||
================================================= =================
|
||||
|
||||
|
||||
|
|
|
@ -994,25 +994,27 @@ def create_table(grid, indent):
|
|||
indent_str = ' '*indent
|
||||
col_widths = make_widths(grid)
|
||||
num_cols = len(grid[0])
|
||||
result = indent_str + add_divider(col_widths, 2)
|
||||
result = [indent_str + add_divider(col_widths, 2)]
|
||||
header_flag = 2
|
||||
for row_i in range(0, len(grid)):
|
||||
row = grid[row_i]
|
||||
result = result + indent_str + ' '.join([pad_cell(row[i], col_widths[i]) for i in range(0, len(row))]) + '\n'
|
||||
line = indent_str + ' '.join([pad_cell(row[i], col_widths[i]) for i in range(0, len(row))])
|
||||
result.append(line.rstrip())
|
||||
is_cxx_header = row[0].startswith('**')
|
||||
if row_i == len(grid) - 1:
|
||||
header_flag = 2
|
||||
result = result + indent_str + add_divider(col_widths, 1 if is_cxx_header else header_flag)
|
||||
separator = indent_str + add_divider(col_widths, 1 if is_cxx_header else header_flag)
|
||||
result.append(separator.rstrip())
|
||||
header_flag = 0
|
||||
return result
|
||||
return '\n'.join(result)
|
||||
|
||||
def add_divider(widths, header_flag):
|
||||
if header_flag == 2:
|
||||
return ' '.join(['='*w for w in widths]) + '\n'
|
||||
return ' '.join(['='*w for w in widths])
|
||||
if header_flag == 1:
|
||||
return '-'.join(['-'*w for w in widths]) + '\n'
|
||||
return '-'.join(['-'*w for w in widths])
|
||||
else:
|
||||
return ' '.join(['-'*w for w in widths]) + '\n'
|
||||
return ' '.join(['-'*w for w in widths])
|
||||
|
||||
def pad_cell(s, length, left_align=True):
|
||||
padding = ((length - len(s)) * ' ')
|
||||
|
|
Loading…
Reference in New Issue