Author: ericwf Date: Sat Feb 20 01:59:16 2016 New Revision: 261421 URL: http://llvm.org/viewvc/llvm-project?rev=261421&view=rev Log: Rename <__hash_table> traits so they don't conflict with similar traits.
In particular <__tree> defines many of the same types of traits classes. Modified: libcxx/trunk/include/__hash_table libcxx/trunk/test/libcxx/containers/unord/key_value_traits.pass.cpp Modified: libcxx/trunk/include/__hash_table URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__hash_table?rev=261421&r1=261420&r2=261421&view=diff ============================================================================== --- libcxx/trunk/include/__hash_table (original) +++ libcxx/trunk/include/__hash_table Sat Feb 20 01:59:16 2016 @@ -110,7 +110,7 @@ template <class _HashIterator> class _LI template <class _HashIterator> class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; template <class _Tp> -struct __key_value_types { +struct __hash_key_value_types { static_assert(!is_reference<_Tp>::value && !is_const<_Tp>::value, ""); typedef _Tp key_type; typedef _Tp __node_value_type; @@ -138,7 +138,7 @@ struct __key_value_types { }; template <class _Key, class _Tp> -struct __key_value_types<__hash_value_type<_Key, _Tp> > { +struct __hash_key_value_types<__hash_value_type<_Key, _Tp> > { typedef _Key key_type; typedef _Tp mapped_type; typedef __hash_value_type<_Key, _Tp> __node_value_type; @@ -181,12 +181,12 @@ struct __key_value_types<__hash_value_ty }; -template <class _Tp, class _AllocPtr, class _KVTypes = __key_value_types<_Tp>, +template <class _Tp, class _AllocPtr, class _KVTypes = __hash_key_value_types<_Tp>, bool = _KVTypes::__is_map> -struct __map_pointer_types {}; +struct __hash_map_pointer_types {}; template <class _Tp, class _AllocPtr, class _KVTypes> -struct __map_pointer_types<_Tp, _AllocPtr, _KVTypes, true> { +struct __hash_map_pointer_types<_Tp, _AllocPtr, _KVTypes, true> { typedef typename _KVTypes::__map_value_type _Mv; typedef typename __rebind_pointer<_AllocPtr, _Mv>::type __map_value_type_pointer; @@ -199,10 +199,10 @@ struct __hash_node_types; template <class _NodePtr, class _Tp, class _VoidPtr> struct __hash_node_types<_NodePtr, __hash_node<_Tp, _VoidPtr> > - : public __key_value_types<_Tp>, __map_pointer_types<_Tp, _VoidPtr> + : public __hash_key_value_types<_Tp>, __hash_map_pointer_types<_Tp, _VoidPtr> { - typedef __key_value_types<_Tp> __base; + typedef __hash_key_value_types<_Tp> __base; public: typedef ptrdiff_t difference_type; Modified: libcxx/trunk/test/libcxx/containers/unord/key_value_traits.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/unord/key_value_traits.pass.cpp?rev=261421&r1=261420&r2=261421&view=diff ============================================================================== --- libcxx/trunk/test/libcxx/containers/unord/key_value_traits.pass.cpp (original) +++ libcxx/trunk/test/libcxx/containers/unord/key_value_traits.pass.cpp Sat Feb 20 01:59:16 2016 @@ -18,7 +18,7 @@ void testKeyValueTrait() { { typedef int Tp; - typedef std::__key_value_types<Tp> Traits; + typedef std::__hash_key_value_types<Tp> Traits; static_assert((std::is_same<Traits::key_type, int>::value), ""); static_assert((std::is_same<Traits::__node_value_type, Tp>::value), ""); static_assert((std::is_same<Traits::__container_value_type, Tp>::value), ""); @@ -26,7 +26,7 @@ void testKeyValueTrait() { } { typedef std::pair<int, int> Tp; - typedef std::__key_value_types<Tp> Traits; + typedef std::__hash_key_value_types<Tp> Traits; static_assert((std::is_same<Traits::key_type, Tp>::value), ""); static_assert((std::is_same<Traits::__node_value_type, Tp>::value), ""); static_assert((std::is_same<Traits::__container_value_type, Tp>::value), ""); @@ -34,7 +34,7 @@ void testKeyValueTrait() { } { typedef std::pair<const int, int> Tp; - typedef std::__key_value_types<Tp> Traits; + typedef std::__hash_key_value_types<Tp> Traits; static_assert((std::is_same<Traits::key_type, Tp>::value), ""); static_assert((std::is_same<Traits::__node_value_type, Tp>::value), ""); static_assert((std::is_same<Traits::__container_value_type, Tp>::value), ""); @@ -42,7 +42,7 @@ void testKeyValueTrait() { } { typedef std::__hash_value_type<int, int> Tp; - typedef std::__key_value_types<Tp> Traits; + typedef std::__hash_key_value_types<Tp> Traits; static_assert((std::is_same<Traits::key_type, int>::value), ""); static_assert((std::is_same<Traits::mapped_type, int>::value), ""); static_assert((std::is_same<Traits::__node_value_type, Tp>::value), ""); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits