[all-commits] [llvm/llvm-project] 5fab33: [libc++] Avoid instantiating type_trait classes

philnik777 via All-commits all-commits at lists.llvm.org
Tue Sep 6 10:09:59 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5fab33af7f083a0043112742027172e9f297c07f
      https://github.com/llvm/llvm-project/commit/5fab33af7f083a0043112742027172e9f297c07f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2022-09-06 (Tue, 06 Sep 2022)

  Changed paths:
    M libcxx/include/__algorithm/copy.h
    M libcxx/include/__algorithm/half_positive.h
    M libcxx/include/__algorithm/iterator_operations.h
    M libcxx/include/__algorithm/move.h
    M libcxx/include/__algorithm/move_backward.h
    M libcxx/include/__algorithm/partition.h
    M libcxx/include/__algorithm/ranges_iterator_concept.h
    M libcxx/include/__algorithm/ranges_merge.h
    M libcxx/include/__algorithm/ranges_partition.h
    M libcxx/include/__algorithm/ranges_partition_copy.h
    M libcxx/include/__algorithm/ranges_stable_partition.h
    M libcxx/include/__algorithm/set_difference.h
    M libcxx/include/__algorithm/stable_partition.h
    M libcxx/include/__algorithm/uniform_random_bit_generator_adaptor.h
    M libcxx/include/__concepts/class_or_enum.h
    M libcxx/include/__coroutine/coroutine_handle.h
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__functional/bind.h
    M libcxx/include/__functional/function.h
    M libcxx/include/__functional/invoke.h
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/distance.h
    M libcxx/include/__iterator/iterator_traits.h
    M libcxx/include/__iterator/move_iterator.h
    M libcxx/include/__memory/allocator_arg_t.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/pointer_traits.h
    M libcxx/include/__memory/shared_ptr.h
    M libcxx/include/__memory/uninitialized_algorithms.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/include/__node_handle
    M libcxx/include/__numeric/gcd_lcm.h
    M libcxx/include/__random/is_seed_sequence.h
    M libcxx/include/__random/uniform_int_distribution.h
    M libcxx/include/__split_buffer
    M libcxx/include/__tree
    M libcxx/include/__tuple/apply_cv.h
    M libcxx/include/__tuple/make_tuple_types.h
    M libcxx/include/__tuple/sfinae_helpers.h
    M libcxx/include/__type_traits/add_lvalue_reference.h
    M libcxx/include/__type_traits/add_pointer.h
    M libcxx/include/__type_traits/add_rvalue_reference.h
    M libcxx/include/__type_traits/apply_cv.h
    M libcxx/include/__type_traits/can_extract_key.h
    M libcxx/include/__type_traits/copy_cvref.h
    M libcxx/include/__type_traits/decay.h
    M libcxx/include/__type_traits/is_convertible.h
    M libcxx/include/__type_traits/is_copy_assignable.h
    M libcxx/include/__type_traits/is_copy_constructible.h
    M libcxx/include/__type_traits/is_destructible.h
    M libcxx/include/__type_traits/is_floating_point.h
    M libcxx/include/__type_traits/is_integral.h
    M libcxx/include/__type_traits/is_member_function_pointer.h
    M libcxx/include/__type_traits/is_member_object_pointer.h
    M libcxx/include/__type_traits/is_member_pointer.h
    M libcxx/include/__type_traits/is_move_assignable.h
    M libcxx/include/__type_traits/is_move_constructible.h
    M libcxx/include/__type_traits/is_nothrow_copy_assignable.h
    M libcxx/include/__type_traits/is_nothrow_copy_constructible.h
    M libcxx/include/__type_traits/is_nothrow_destructible.h
    M libcxx/include/__type_traits/is_nothrow_move_assignable.h
    M libcxx/include/__type_traits/is_nothrow_move_constructible.h
    M libcxx/include/__type_traits/is_null_pointer.h
    M libcxx/include/__type_traits/is_pointer.h
    M libcxx/include/__type_traits/is_reference_wrapper.h
    M libcxx/include/__type_traits/is_swappable.h
    M libcxx/include/__type_traits/is_trivially_copy_assignable.h
    M libcxx/include/__type_traits/is_trivially_copy_constructible.h
    M libcxx/include/__type_traits/is_trivially_move_assignable.h
    M libcxx/include/__type_traits/is_trivially_move_constructible.h
    M libcxx/include/__type_traits/is_void.h
    M libcxx/include/__type_traits/make_const_lvalue_ref.h
    M libcxx/include/__type_traits/make_signed.h
    M libcxx/include/__type_traits/make_unsigned.h
    M libcxx/include/__type_traits/remove_all_extents.h
    M libcxx/include/__type_traits/remove_const.h
    M libcxx/include/__type_traits/remove_const_ref.h
    M libcxx/include/__type_traits/remove_cv.h
    M libcxx/include/__type_traits/remove_cvref.h
    M libcxx/include/__type_traits/remove_extent.h
    M libcxx/include/__type_traits/remove_pointer.h
    M libcxx/include/__type_traits/remove_reference.h
    M libcxx/include/__type_traits/remove_volatile.h
    M libcxx/include/__utility/forward.h
    M libcxx/include/__utility/in_place.h
    M libcxx/include/__utility/move.h
    M libcxx/include/any
    M libcxx/include/atomic
    M libcxx/include/experimental/coroutine
    M libcxx/include/experimental/functional
    M libcxx/include/experimental/propagate_const
    M libcxx/include/experimental/simd
    M libcxx/include/ext/hash_map
    M libcxx/include/forward_list
    M libcxx/include/future
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/locale
    M libcxx/include/new
    M libcxx/include/optional
    M libcxx/include/scoped_allocator
    M libcxx/include/thread
    M libcxx/include/tuple
    M libcxx/include/valarray
    M libcxx/include/variant
    M libcxx/src/string.cpp

  Log Message:
  -----------
  [libc++] Avoid instantiating type_trait classes

Use `using` aliases to avoid instantiating lots of types

Reviewed By: ldionne, #libc

Spies: libcxx-commits, miyuki

Differential Revision: https://reviews.llvm.org/D132785




More information about the All-commits mailing list