diff --git a/parallel_hashmap/btree.h b/parallel_hashmap/btree.h index 322f028..a9fcb93 100644 --- a/parallel_hashmap/btree.h +++ b/parallel_hashmap/btree.h @@ -163,91 +163,6 @@ namespace phmap { bool, type_traits_internal::is_trivially_copyable_impl::kValue> {}; } // namespace type_traits_internal - // ----------------------------------------------------------------------------- - // C++14 "_t" trait aliases - // ----------------------------------------------------------------------------- - - template - using remove_cv_t = typename std::remove_cv::type; - - template - using remove_const_t = typename std::remove_const::type; - - template - using remove_volatile_t = typename std::remove_volatile::type; - - template - using add_cv_t = typename std::add_cv::type; - - template - using add_const_t = typename std::add_const::type; - - template - using add_volatile_t = typename std::add_volatile::type; - - template - using remove_reference_t = typename std::remove_reference::type; - - template - using add_lvalue_reference_t = typename std::add_lvalue_reference::type; - - template - using add_rvalue_reference_t = typename std::add_rvalue_reference::type; - - template - using remove_pointer_t = typename std::remove_pointer::type; - - template - using add_pointer_t = typename std::add_pointer::type; - - template - using make_signed_t = typename std::make_signed::type; - - template - using make_unsigned_t = typename std::make_unsigned::type; - - template - using remove_extent_t = typename std::remove_extent::type; - - template - using remove_all_extents_t = typename std::remove_all_extents::type; - - template ::value> - using aligned_storage_t = typename std::aligned_storage::type; - - template - using decay_t = typename std::decay::type; - - template - using enable_if_t = typename std::enable_if::type; - - template - using conditional_t = typename std::conditional::type; - - template - using common_type_t = typename std::common_type::type; - - template - using underlying_type_t = typename std::underlying_type::type; - - template - using result_of_t = typename std::result_of::type; - - namespace type_traits_internal { - // In MSVC we can't probe std::hash or stdext::hash because it triggers a - // static_assert instead of failing substitution. Libc++ prior to 4.0 - // also used a static_assert. - // -#if defined(_MSC_VER) || (defined(_LIBCPP_VERSION) && \ - _LIBCPP_VERSION < 4000 && _LIBCPP_STD_VER > 11) - #define PHMAP_META_INTERNAL_STD_HASH_SFINAE_FRIENDLY_ 0 -#else - #define PHMAP_META_INTERNAL_STD_HASH_SFINAE_FRIENDLY_ 1 -#endif - - } // namespace type_traits_internal - namespace swap_internal { // Necessary for the traits. diff --git a/parallel_hashmap/phmap_base.h b/parallel_hashmap/phmap_base.h index 287216d..895216c 100644 --- a/parallel_hashmap/phmap_base.h +++ b/parallel_hashmap/phmap_base.h @@ -447,6 +447,16 @@ using enable_if_t = typename std::enable_if::type; template using conditional_t = typename std::conditional::type; + +template +using common_type_t = typename std::common_type::type; + +template +using underlying_type_t = typename std::underlying_type::type; + +template +using result_of_t = typename std::result_of::type; + namespace type_traits_internal { // ----------------------------------------------------------------------