Index: include/__config =================================================================== --- include/__config +++ include/__config @@ -138,6 +138,7 @@ # define _LIBCPP_TYPE_VIS #endif +#define _LIBCPP_TEMPLATE_VIS #define _LIBCPP_TYPE_VIS_ONLY #define _LIBCPP_FUNC_VIS_ONLY @@ -181,6 +182,10 @@ # endif #endif +#ifndef _LIBCPP_TEMPLATE_VIS +# define _LIBCPP_TEMPLATE_VIS _LIBCPP_TYPE_VIS +#endif + #ifndef _LIBCPP_TYPE_VIS_ONLY # define _LIBCPP_TYPE_VIS_ONLY _LIBCPP_TYPE_VIS #endif Index: include/__functional_03 =================================================================== --- include/__functional_03 +++ include/__functional_03 @@ -203,7 +203,7 @@ { }; -template class _LIBCPP_TYPE_VIS_ONLY function; // undefined +template class _LIBCPP_TEMPLATE_VIS function; // undefined namespace __function { @@ -644,7 +644,7 @@ } // __function template -class _LIBCPP_TYPE_VIS_ONLY function<_Rp()> +class _LIBCPP_TEMPLATE_VIS function<_Rp()> { typedef __function::__base<_Rp()> __base; aligned_storage<3*sizeof(void*)>::type __buf_; @@ -933,7 +933,7 @@ #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_TYPE_VIS_ONLY function<_Rp(_A0)> +class _LIBCPP_TEMPLATE_VIS function<_Rp(_A0)> : public unary_function<_A0, _Rp> { typedef __function::__base<_Rp(_A0)> __base; @@ -1235,7 +1235,7 @@ #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_TYPE_VIS_ONLY function<_Rp(_A0, _A1)> +class _LIBCPP_TEMPLATE_VIS function<_Rp(_A0, _A1)> : public binary_function<_A0, _A1, _Rp> { typedef __function::__base<_Rp(_A0, _A1)> __base; @@ -1537,7 +1537,7 @@ #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_TYPE_VIS_ONLY function<_Rp(_A0, _A1, _A2)> +class _LIBCPP_TEMPLATE_VIS function<_Rp(_A0, _A1, _A2)> { typedef __function::__base<_Rp(_A0, _A1, _A2)> __base; aligned_storage<3*sizeof(void*)>::type __buf_; @@ -1865,11 +1865,11 @@ {return __x.swap(__y);} template struct __is_bind_expression : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_bind_expression +template struct _LIBCPP_TEMPLATE_VIS is_bind_expression : public __is_bind_expression::type> {}; template struct __is_placeholder : public integral_constant {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_placeholder +template struct _LIBCPP_TEMPLATE_VIS is_placeholder : public __is_placeholder::type> {}; namespace placeholders Index: include/__functional_base =================================================================== --- include/__functional_base +++ include/__functional_base @@ -24,21 +24,21 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -struct _LIBCPP_TYPE_VIS_ONLY unary_function +struct _LIBCPP_TEMPLATE_VIS unary_function { typedef _Arg argument_type; typedef _Result result_type; }; template -struct _LIBCPP_TYPE_VIS_ONLY binary_function +struct _LIBCPP_TEMPLATE_VIS binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; }; -template struct _LIBCPP_TYPE_VIS_ONLY hash; +template struct _LIBCPP_TEMPLATE_VIS hash; template struct __has_result_type @@ -56,7 +56,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY less : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TEMPLATE_VIS less : binary_function<_Tp, _Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const @@ -65,7 +65,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY less +struct _LIBCPP_TEMPLATE_VIS less { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -420,7 +420,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY reference_wrapper +class _LIBCPP_TEMPLATE_VIS reference_wrapper : public __weak_result_type<_Tp> { public: @@ -520,7 +520,7 @@ // allocator_arg_t -struct _LIBCPP_TYPE_VIS_ONLY allocator_arg_t { }; +struct _LIBCPP_TEMPLATE_VIS allocator_arg_t { }; #if defined(_LIBCPP_HAS_NO_CONSTEXPR) || defined(_LIBCPP_BUILDING_MEMORY) extern const allocator_arg_t allocator_arg; @@ -555,7 +555,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator +struct _LIBCPP_TEMPLATE_VIS uses_allocator : public __uses_allocator<_Tp, _Alloc> { }; Index: include/__functional_base_03 =================================================================== --- include/__functional_base_03 +++ include/__functional_base_03 @@ -996,7 +996,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY reference_wrapper +class _LIBCPP_TEMPLATE_VIS reference_wrapper : public __weak_result_type<_Tp> { public: Index: include/__hash_table =================================================================== --- include/__hash_table +++ include/__hash_table @@ -81,14 +81,14 @@ } template class __hash_table; -template class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; -template class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator; -template class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_const_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_map_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator; template - class _LIBCPP_TYPE_VIS_ONLY unordered_map; + class _LIBCPP_TEMPLATE_VIS unordered_map; template -class _LIBCPP_TYPE_VIS_ONLY __hash_iterator +class _LIBCPP_TEMPLATE_VIS __hash_iterator { typedef _NodePtr __node_pointer; @@ -208,14 +208,14 @@ #endif template friend class __hash_table; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_map; - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_multimap; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_map_iterator; + template friend class _LIBCPP_TEMPLATE_VIS unordered_map; + template friend class _LIBCPP_TEMPLATE_VIS unordered_multimap; }; template -class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator +class _LIBCPP_TEMPLATE_VIS __hash_const_iterator { typedef _ConstNodePtr __node_pointer; @@ -355,15 +355,15 @@ #endif template friend class __hash_table; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_map; - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_multimap; + template friend class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS unordered_map; + template friend class _LIBCPP_TEMPLATE_VIS unordered_multimap; }; -template class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator; template -class _LIBCPP_TYPE_VIS_ONLY __hash_local_iterator +class _LIBCPP_TEMPLATE_VIS __hash_local_iterator { typedef _NodePtr __node_pointer; @@ -499,12 +499,12 @@ } #endif template friend class __hash_table; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_map_iterator; }; template -class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator +class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator { typedef _ConstNodePtr __node_pointer; @@ -664,7 +664,7 @@ } #endif template friend class __hash_table; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator; }; template @@ -1156,8 +1156,8 @@ void __deallocate(__node_pointer __np) _NOEXCEPT; __node_pointer __detach() _NOEXCEPT; - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_map; - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_multimap; + template friend class _LIBCPP_TEMPLATE_VIS unordered_map; + template friend class _LIBCPP_TEMPLATE_VIS unordered_multimap; }; template Index: include/__locale =================================================================== --- include/__locale +++ include/__locale @@ -184,7 +184,7 @@ // template class collate; template -class _LIBCPP_TYPE_VIS_ONLY collate +class _LIBCPP_TEMPLATE_VIS collate : public locale::facet { public: @@ -268,7 +268,7 @@ // template class collate_byname; -template class _LIBCPP_TYPE_VIS_ONLY collate_byname; +template class _LIBCPP_TEMPLATE_VIS collate_byname; template <> class _LIBCPP_TYPE_VIS collate_byname @@ -408,7 +408,7 @@ _LIBCPP_ALWAYS_INLINE ctype_base() {} }; -template class _LIBCPP_TYPE_VIS_ONLY ctype; +template class _LIBCPP_TEMPLATE_VIS ctype; template <> class _LIBCPP_TYPE_VIS ctype @@ -635,7 +635,7 @@ // template class ctype_byname; -template class _LIBCPP_TYPE_VIS_ONLY ctype_byname; +template class _LIBCPP_TEMPLATE_VIS ctype_byname; template <> class _LIBCPP_TYPE_VIS ctype_byname @@ -796,7 +796,7 @@ // template class codecvt; -template class _LIBCPP_TYPE_VIS_ONLY codecvt; +template class _LIBCPP_TEMPLATE_VIS codecvt; // template <> class codecvt @@ -1142,7 +1142,7 @@ // template class codecvt_byname template -class _LIBCPP_TYPE_VIS_ONLY codecvt_byname +class _LIBCPP_TEMPLATE_VIS codecvt_byname : public codecvt<_InternT, _ExternT, _StateT> { public: @@ -1350,7 +1350,7 @@ // template class numpunct -template class _LIBCPP_TYPE_VIS_ONLY numpunct; +template class _LIBCPP_TEMPLATE_VIS numpunct; template <> class _LIBCPP_TYPE_VIS numpunct @@ -1416,7 +1416,7 @@ // template class numpunct_byname -template class _LIBCPP_TYPE_VIS_ONLY numpunct_byname; +template class _LIBCPP_TEMPLATE_VIS numpunct_byname; template <> class _LIBCPP_TYPE_VIS numpunct_byname Index: include/__mutex_base =================================================================== --- include/__mutex_base +++ include/__mutex_base @@ -67,7 +67,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY lock_guard +class _LIBCPP_TEMPLATE_VIS lock_guard { public: typedef _Mutex mutex_type; @@ -91,7 +91,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY unique_lock +class _LIBCPP_TEMPLATE_VIS unique_lock { public: typedef _Mutex mutex_type; Index: include/__tree =================================================================== --- include/__tree +++ include/__tree @@ -25,17 +25,17 @@ template class __tree; template - class _LIBCPP_TYPE_VIS_ONLY __tree_iterator; + class _LIBCPP_TEMPLATE_VIS __tree_iterator; template - class _LIBCPP_TYPE_VIS_ONLY __tree_const_iterator; + class _LIBCPP_TEMPLATE_VIS __tree_const_iterator; template - class _LIBCPP_TYPE_VIS_ONLY map; + class _LIBCPP_TEMPLATE_VIS map; template - class _LIBCPP_TYPE_VIS_ONLY multimap; + class _LIBCPP_TEMPLATE_VIS multimap; template - class _LIBCPP_TYPE_VIS_ONLY set; + class _LIBCPP_TEMPLATE_VIS set; template - class _LIBCPP_TYPE_VIS_ONLY multiset; + class _LIBCPP_TEMPLATE_VIS multiset; /* @@ -614,11 +614,11 @@ #endif // !defined(_LIBCPP_HAS_NO_RVALUE_REFERENCES) && !defined(_LIBCPP_HAS_NO_VARIADICS) }; -template class _LIBCPP_TYPE_VIS_ONLY __map_iterator; -template class _LIBCPP_TYPE_VIS_ONLY __map_const_iterator; +template class _LIBCPP_TEMPLATE_VIS __map_iterator; +template class _LIBCPP_TEMPLATE_VIS __map_const_iterator; template -class _LIBCPP_TYPE_VIS_ONLY __tree_iterator +class _LIBCPP_TEMPLATE_VIS __tree_iterator { typedef _NodePtr __node_pointer; typedef typename pointer_traits<__node_pointer>::element_type __node; @@ -678,16 +678,16 @@ _LIBCPP_INLINE_VISIBILITY explicit __tree_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {} template friend class __tree; - template friend class _LIBCPP_TYPE_VIS_ONLY __tree_const_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __map_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY map; - template friend class _LIBCPP_TYPE_VIS_ONLY multimap; - template friend class _LIBCPP_TYPE_VIS_ONLY set; - template friend class _LIBCPP_TYPE_VIS_ONLY multiset; + template friend class _LIBCPP_TEMPLATE_VIS __tree_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __map_iterator; + template friend class _LIBCPP_TEMPLATE_VIS map; + template friend class _LIBCPP_TEMPLATE_VIS multimap; + template friend class _LIBCPP_TEMPLATE_VIS set; + template friend class _LIBCPP_TEMPLATE_VIS multiset; }; template -class _LIBCPP_TYPE_VIS_ONLY __tree_const_iterator +class _LIBCPP_TEMPLATE_VIS __tree_const_iterator { typedef _ConstNodePtr __node_pointer; typedef typename pointer_traits<__node_pointer>::element_type __node; @@ -770,11 +770,11 @@ explicit __tree_const_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {} template friend class __tree; - template friend class _LIBCPP_TYPE_VIS_ONLY map; - template friend class _LIBCPP_TYPE_VIS_ONLY multimap; - template friend class _LIBCPP_TYPE_VIS_ONLY set; - template friend class _LIBCPP_TYPE_VIS_ONLY multiset; - template friend class _LIBCPP_TYPE_VIS_ONLY __map_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS map; + template friend class _LIBCPP_TEMPLATE_VIS multimap; + template friend class _LIBCPP_TEMPLATE_VIS set; + template friend class _LIBCPP_TEMPLATE_VIS multiset; + template friend class _LIBCPP_TEMPLATE_VIS __map_const_iterator; }; template @@ -1116,8 +1116,8 @@ __node_pointer __detach(); static __node_pointer __detach(__node_pointer); - template friend class _LIBCPP_TYPE_VIS_ONLY map; - template friend class _LIBCPP_TYPE_VIS_ONLY multimap; + template friend class _LIBCPP_TEMPLATE_VIS map; + template friend class _LIBCPP_TEMPLATE_VIS multimap; }; template Index: include/__tuple =================================================================== --- include/__tuple +++ include/__tuple @@ -53,46 +53,46 @@ struct __lazy_not : integral_constant {}; -template class _LIBCPP_TYPE_VIS_ONLY tuple_size; +template class _LIBCPP_TEMPLATE_VIS tuple_size; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size +class _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size +class _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size +class _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; -template class _LIBCPP_TYPE_VIS_ONLY tuple_element; +template class _LIBCPP_TEMPLATE_VIS tuple_element; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, const _Tp> +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const _Tp> { public: typedef typename add_const::type>::type type; }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, volatile _Tp> +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, volatile _Tp> { public: typedef typename add_volatile::type>::type type; }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, const volatile _Tp> +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const volatile _Tp> { public: typedef typename add_cv::type>::type type; }; -template class _LIBCPP_TYPE_VIS_ONLY tuple; -template struct _LIBCPP_TYPE_VIS_ONLY pair; -template struct _LIBCPP_TYPE_VIS_ONLY array; +template class _LIBCPP_TEMPLATE_VIS tuple; +template struct _LIBCPP_TEMPLATE_VIS pair; +template struct _LIBCPP_TEMPLATE_VIS array; template struct __tuple_like : false_type {}; @@ -180,7 +180,7 @@ template struct __tuple_types {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, __tuple_types<> > +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, __tuple_types<> > { public: static_assert(_Ip == 0, "tuple_element index out of range"); @@ -188,21 +188,21 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<0, __tuple_types<_Hp, _Tp...> > +class _LIBCPP_TEMPLATE_VIS tuple_element<0, __tuple_types<_Hp, _Tp...> > { public: typedef _Hp type; }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, __tuple_types<_Hp, _Tp...> > +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, __tuple_types<_Hp, _Tp...> > { public: typedef typename tuple_element<_Ip-1, __tuple_types<_Tp...> >::type type; }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size<__tuple_types<_Tp...> > +class _LIBCPP_TEMPLATE_VIS tuple_size<__tuple_types<_Tp...> > : public integral_constant { }; Index: include/__tuple_03 =================================================================== --- include/__tuple_03 +++ include/__tuple_03 @@ -19,8 +19,8 @@ _LIBCPP_BEGIN_NAMESPACE_STD -template class _LIBCPP_TYPE_VIS_ONLY tuple_size; -template class _LIBCPP_TYPE_VIS_ONLY tuple_element; +template class _LIBCPP_TEMPLATE_VIS tuple_size; +template class _LIBCPP_TEMPLATE_VIS tuple_element; _LIBCPP_END_NAMESPACE_STD Index: include/array =================================================================== --- include/array +++ include/array @@ -118,7 +118,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -struct _LIBCPP_TYPE_VIS_ONLY array +struct _LIBCPP_TEMPLATE_VIS array { // types: typedef array __self; @@ -285,22 +285,22 @@ } template -class _LIBCPP_TYPE_VIS_ONLY tuple_size > +class _LIBCPP_TEMPLATE_VIS tuple_size > : public integral_constant {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size > +class _LIBCPP_TEMPLATE_VIS tuple_size > : public integral_constant {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, array<_Tp, _Size> > +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, array<_Tp, _Size> > { public: typedef _Tp type; }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, const array<_Tp, _Size> > +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const array<_Tp, _Size> > { public: typedef const _Tp type; Index: include/bitset =================================================================== --- include/bitset +++ include/bitset @@ -632,11 +632,11 @@ { } -template class _LIBCPP_TYPE_VIS_ONLY bitset; -template struct _LIBCPP_TYPE_VIS_ONLY hash >; +template class _LIBCPP_TEMPLATE_VIS bitset; +template struct _LIBCPP_TEMPLATE_VIS hash >; template -class _LIBCPP_TYPE_VIS_ONLY bitset +class _LIBCPP_TEMPLATE_VIS bitset : private __bitset<_Size == 0 ? 0 : (_Size - 1) / (sizeof(size_t) * CHAR_BIT) + 1, _Size> { public: @@ -1060,7 +1060,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > : public unary_function, size_t> { _LIBCPP_INLINE_VISIBILITY Index: include/chrono =================================================================== --- include/chrono +++ include/chrono @@ -292,7 +292,7 @@ namespace chrono { -template > class _LIBCPP_TYPE_VIS_ONLY duration; +template > class _LIBCPP_TEMPLATE_VIS duration; template struct __is_duration : false_type {}; @@ -312,7 +312,7 @@ } // chrono template -struct _LIBCPP_TYPE_VIS_ONLY common_type, +struct _LIBCPP_TEMPLATE_VIS common_type, chrono::duration<_Rep2, _Period2> > { typedef chrono::duration::type, @@ -390,10 +390,10 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY treat_as_floating_point : is_floating_point<_Rep> {}; +struct _LIBCPP_TEMPLATE_VIS treat_as_floating_point : is_floating_point<_Rep> {}; template -struct _LIBCPP_TYPE_VIS_ONLY duration_values +struct _LIBCPP_TEMPLATE_VIS duration_values { public: _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR _Rep zero() {return _Rep(0);} @@ -404,7 +404,7 @@ // duration template -class _LIBCPP_TYPE_VIS_ONLY duration +class _LIBCPP_TEMPLATE_VIS duration { static_assert(!__is_duration<_Rep>::value, "A duration representation can not be a duration"); static_assert(__is_ratio<_Period>::value, "Second template parameter of duration must be a std::ratio"); @@ -747,7 +747,7 @@ ////////////////////////////////////////////////////////// template -class _LIBCPP_TYPE_VIS_ONLY time_point +class _LIBCPP_TEMPLATE_VIS time_point { static_assert(__is_duration<_Duration>::value, "Second template parameter of time_point must be a std::chrono::duration"); @@ -791,7 +791,7 @@ } // chrono template -struct _LIBCPP_TYPE_VIS_ONLY common_type, +struct _LIBCPP_TEMPLATE_VIS common_type, chrono::time_point<_Clock, _Duration2> > { typedef chrono::time_point<_Clock, typename common_type<_Duration1, _Duration2>::type> type; Index: include/codecvt =================================================================== --- include/codecvt +++ include/codecvt @@ -182,7 +182,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY codecvt_utf8 +class _LIBCPP_TEMPLATE_VIS codecvt_utf8 : public __codecvt_utf8<_Elem> { public: @@ -410,7 +410,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY codecvt_utf16 +class _LIBCPP_TEMPLATE_VIS codecvt_utf16 : public __codecvt_utf16<_Elem, _Mode & little_endian> { public: @@ -533,7 +533,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY codecvt_utf8_utf16 +class _LIBCPP_TEMPLATE_VIS codecvt_utf8_utf16 : public __codecvt_utf8_utf16<_Elem> { public: Index: include/complex =================================================================== --- include/complex +++ include/complex @@ -255,13 +255,13 @@ _LIBCPP_BEGIN_NAMESPACE_STD -template class _LIBCPP_TYPE_VIS_ONLY complex; +template class _LIBCPP_TEMPLATE_VIS complex; template complex<_Tp> operator*(const complex<_Tp>& __z, const complex<_Tp>& __w); template complex<_Tp> operator/(const complex<_Tp>& __x, const complex<_Tp>& __y); template -class _LIBCPP_TYPE_VIS_ONLY complex +class _LIBCPP_TEMPLATE_VIS complex { public: typedef _Tp value_type; @@ -319,11 +319,11 @@ } }; -template<> class _LIBCPP_TYPE_VIS_ONLY complex; -template<> class _LIBCPP_TYPE_VIS_ONLY complex; +template<> class _LIBCPP_TEMPLATE_VIS complex; +template<> class _LIBCPP_TEMPLATE_VIS complex; template<> -class _LIBCPP_TYPE_VIS_ONLY complex +class _LIBCPP_TEMPLATE_VIS complex { float __re_; float __im_; @@ -379,7 +379,7 @@ }; template<> -class _LIBCPP_TYPE_VIS_ONLY complex +class _LIBCPP_TEMPLATE_VIS complex { double __re_; double __im_; @@ -435,7 +435,7 @@ }; template<> -class _LIBCPP_TYPE_VIS_ONLY complex +class _LIBCPP_TEMPLATE_VIS complex { long double __re_; long double __im_; Index: include/deque =================================================================== --- include/deque +++ include/deque @@ -171,7 +171,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY __deque_iterator; +class _LIBCPP_TEMPLATE_VIS __deque_iterator; template @@ -263,7 +263,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY __deque_iterator +class _LIBCPP_TEMPLATE_VIS __deque_iterator { typedef _MapPointer __map_iterator; public: @@ -415,9 +415,9 @@ : __m_iter_(__m), __ptr_(__p) {} template friend class __deque_base; - template friend class _LIBCPP_TYPE_VIS_ONLY deque; + template friend class _LIBCPP_TEMPLATE_VIS deque; template - friend class _LIBCPP_TYPE_VIS_ONLY __deque_iterator; + friend class _LIBCPP_TEMPLATE_VIS __deque_iterator; template @@ -1179,7 +1179,7 @@ } template > -class _LIBCPP_TYPE_VIS_ONLY deque +class _LIBCPP_TEMPLATE_VIS deque : private __deque_base<_Tp, _Allocator> { public: Index: include/experimental/dynarray =================================================================== --- include/experimental/dynarray +++ include/experimental/dynarray @@ -115,7 +115,7 @@ namespace std { namespace experimental { inline namespace __array_extensions_v1 { template -struct _LIBCPP_TYPE_VIS_ONLY dynarray +struct _LIBCPP_TEMPLATE_VIS dynarray { public: // types: @@ -307,7 +307,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> : true_type {}; +struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : true_type {}; _LIBCPP_END_NAMESPACE_STD #endif // if _LIBCPP_STD_VER > 11 Index: include/experimental/optional =================================================================== --- include/experimental/optional +++ include/experimental/optional @@ -676,7 +676,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > { typedef std::experimental::optional<_Tp> argument_type; typedef size_t result_type; Index: include/experimental/string_view =================================================================== --- include/experimental/string_view +++ include/experimental/string_view @@ -191,7 +191,7 @@ _LIBCPP_BEGIN_NAMESPACE_LFTS template > - class _LIBCPP_TYPE_VIS_ONLY basic_string_view { + class _LIBCPP_TEMPLATE_VIS basic_string_view { public: // types typedef _Traits traits_type; @@ -786,7 +786,7 @@ // [string.view.hash] // Shamelessly stolen from template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > : public unary_function, size_t> { size_t operator()(const std::experimental::basic_string_view<_CharT, _Traits>& __val) const _NOEXCEPT; Index: include/experimental/utility =================================================================== --- include/experimental/utility +++ include/experimental/utility @@ -37,7 +37,7 @@ _LIBCPP_BEGIN_NAMESPACE_LFTS - struct _LIBCPP_TYPE_VIS_ONLY erased_type { }; + struct _LIBCPP_TEMPLATE_VIS erased_type { }; _LIBCPP_END_NAMESPACE_LFTS Index: include/ext/__hash =================================================================== --- include/ext/__hash +++ include/ext/__hash @@ -19,9 +19,9 @@ namespace __gnu_cxx { using namespace std; -template struct _LIBCPP_TYPE_VIS_ONLY hash { }; +template struct _LIBCPP_TEMPLATE_VIS hash { }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -31,7 +31,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -41,7 +41,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -51,7 +51,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -61,7 +61,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -71,7 +71,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -81,7 +81,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -91,7 +91,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -101,7 +101,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -111,7 +111,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -121,7 +121,7 @@ } }; -template <> struct _LIBCPP_TYPE_VIS_ONLY hash +template <> struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY Index: include/ext/hash_map =================================================================== --- include/ext/hash_map +++ include/ext/hash_map @@ -365,7 +365,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator +class _LIBCPP_TEMPLATE_VIS __hash_map_iterator { _HashIterator __i_; @@ -408,15 +408,15 @@ bool operator!=(const __hash_map_iterator& __x, const __hash_map_iterator& __y) {return __x.__i_ != __y.__i_;} - template friend class _LIBCPP_TYPE_VIS_ONLY hash_map; - template friend class _LIBCPP_TYPE_VIS_ONLY hash_multimap; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS hash_map; + template friend class _LIBCPP_TEMPLATE_VIS hash_multimap; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator; }; template -class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator +class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator { _HashIterator __i_; @@ -467,15 +467,15 @@ bool operator!=(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y) {return __x.__i_ != __y.__i_;} - template friend class _LIBCPP_TYPE_VIS_ONLY hash_map; - template friend class _LIBCPP_TYPE_VIS_ONLY hash_multimap; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator; + template friend class _LIBCPP_TEMPLATE_VIS hash_map; + template friend class _LIBCPP_TEMPLATE_VIS hash_multimap; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator; }; template , class _Pred = equal_to<_Key>, class _Alloc = allocator > > -class _LIBCPP_TYPE_VIS_ONLY hash_map +class _LIBCPP_TEMPLATE_VIS hash_map { public: // types @@ -754,7 +754,7 @@ template , class _Pred = equal_to<_Key>, class _Alloc = allocator > > -class _LIBCPP_TYPE_VIS_ONLY hash_multimap +class _LIBCPP_TEMPLATE_VIS hash_multimap { public: // types Index: include/ext/hash_set =================================================================== --- include/ext/hash_set +++ include/ext/hash_set @@ -212,7 +212,7 @@ template , class _Pred = equal_to<_Value>, class _Alloc = allocator<_Value> > -class _LIBCPP_TYPE_VIS_ONLY hash_set +class _LIBCPP_TEMPLATE_VIS hash_set { public: // types @@ -433,7 +433,7 @@ template , class _Pred = equal_to<_Value>, class _Alloc = allocator<_Value> > -class _LIBCPP_TYPE_VIS_ONLY hash_multiset +class _LIBCPP_TEMPLATE_VIS hash_multiset { public: // types Index: include/forward_list =================================================================== --- include/forward_list +++ include/forward_list @@ -218,11 +218,11 @@ value_type __value_; }; -template class _LIBCPP_TYPE_VIS_ONLY forward_list; -template class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator; +template class _LIBCPP_TEMPLATE_VIS forward_list; +template class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator; template -class _LIBCPP_TYPE_VIS_ONLY __forward_list_iterator +class _LIBCPP_TEMPLATE_VIS __forward_list_iterator { typedef _NodePtr __node_pointer; @@ -231,8 +231,8 @@ _LIBCPP_INLINE_VISIBILITY explicit __forward_list_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__p) {} - template friend class _LIBCPP_TYPE_VIS_ONLY forward_list; - template friend class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS forward_list; + template friend class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator; public: typedef forward_iterator_tag iterator_category; @@ -282,7 +282,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator +class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator { typedef _NodeConstPtr __node_const_pointer; @@ -548,7 +548,7 @@ } template > -class _LIBCPP_TYPE_VIS_ONLY forward_list +class _LIBCPP_TEMPLATE_VIS forward_list : private __forward_list_base<_Tp, _Alloc> { typedef __forward_list_base<_Tp, _Alloc> base; Index: include/fstream =================================================================== --- include/fstream +++ include/fstream @@ -180,7 +180,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -class _LIBCPP_TYPE_VIS_ONLY basic_filebuf +class _LIBCPP_TEMPLATE_VIS basic_filebuf : public basic_streambuf<_CharT, _Traits> { public: @@ -994,7 +994,7 @@ // basic_ifstream template -class _LIBCPP_TYPE_VIS_ONLY basic_ifstream +class _LIBCPP_TEMPLATE_VIS basic_ifstream : public basic_istream<_CharT, _Traits> { public: @@ -1139,7 +1139,7 @@ // basic_ofstream template -class _LIBCPP_TYPE_VIS_ONLY basic_ofstream +class _LIBCPP_TEMPLATE_VIS basic_ofstream : public basic_ostream<_CharT, _Traits> { public: @@ -1284,7 +1284,7 @@ // basic_fstream template -class _LIBCPP_TYPE_VIS_ONLY basic_fstream +class _LIBCPP_TEMPLATE_VIS basic_fstream : public basic_iostream<_CharT, _Traits> { public: Index: include/functional =================================================================== --- include/functional +++ include/functional @@ -490,7 +490,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY plus : binary_function<_Tp, _Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS plus : binary_function<_Tp, _Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x, const _Tp& __y) const @@ -499,7 +499,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY plus +struct _LIBCPP_TEMPLATE_VIS plus { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -515,7 +515,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY minus : binary_function<_Tp, _Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS minus : binary_function<_Tp, _Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x, const _Tp& __y) const @@ -524,7 +524,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY minus +struct _LIBCPP_TEMPLATE_VIS minus { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -540,7 +540,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY multiplies : binary_function<_Tp, _Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS multiplies : binary_function<_Tp, _Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x, const _Tp& __y) const @@ -549,7 +549,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY multiplies +struct _LIBCPP_TEMPLATE_VIS multiplies { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -565,7 +565,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY divides : binary_function<_Tp, _Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS divides : binary_function<_Tp, _Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x, const _Tp& __y) const @@ -574,7 +574,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY divides +struct _LIBCPP_TEMPLATE_VIS divides { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -590,7 +590,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY modulus : binary_function<_Tp, _Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS modulus : binary_function<_Tp, _Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x, const _Tp& __y) const @@ -599,7 +599,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY modulus +struct _LIBCPP_TEMPLATE_VIS modulus { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -615,7 +615,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY negate : unary_function<_Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS negate : unary_function<_Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x) const @@ -624,7 +624,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY negate +struct _LIBCPP_TEMPLATE_VIS negate { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -640,7 +640,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY equal_to : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TEMPLATE_VIS equal_to : binary_function<_Tp, _Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const @@ -649,7 +649,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY equal_to +struct _LIBCPP_TEMPLATE_VIS equal_to { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -665,7 +665,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY not_equal_to : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TEMPLATE_VIS not_equal_to : binary_function<_Tp, _Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const @@ -674,7 +674,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY not_equal_to +struct _LIBCPP_TEMPLATE_VIS not_equal_to { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -690,7 +690,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY greater : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TEMPLATE_VIS greater : binary_function<_Tp, _Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const @@ -699,7 +699,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY greater +struct _LIBCPP_TEMPLATE_VIS greater { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -717,7 +717,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY greater_equal : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TEMPLATE_VIS greater_equal : binary_function<_Tp, _Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const @@ -726,7 +726,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY greater_equal +struct _LIBCPP_TEMPLATE_VIS greater_equal { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -742,7 +742,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY less_equal : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TEMPLATE_VIS less_equal : binary_function<_Tp, _Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const @@ -751,7 +751,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY less_equal +struct _LIBCPP_TEMPLATE_VIS less_equal { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -767,7 +767,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY logical_and : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TEMPLATE_VIS logical_and : binary_function<_Tp, _Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const @@ -776,7 +776,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY logical_and +struct _LIBCPP_TEMPLATE_VIS logical_and { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -792,7 +792,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY logical_or : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TEMPLATE_VIS logical_or : binary_function<_Tp, _Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const @@ -801,7 +801,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY logical_or +struct _LIBCPP_TEMPLATE_VIS logical_or { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -817,7 +817,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY logical_not : unary_function<_Tp, bool> +struct _LIBCPP_TEMPLATE_VIS logical_not : unary_function<_Tp, bool> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x) const @@ -826,7 +826,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY logical_not +struct _LIBCPP_TEMPLATE_VIS logical_not { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -842,7 +842,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY bit_and : binary_function<_Tp, _Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS bit_and : binary_function<_Tp, _Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x, const _Tp& __y) const @@ -851,7 +851,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY bit_and +struct _LIBCPP_TEMPLATE_VIS bit_and { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -867,7 +867,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY bit_or : binary_function<_Tp, _Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS bit_or : binary_function<_Tp, _Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x, const _Tp& __y) const @@ -876,7 +876,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY bit_or +struct _LIBCPP_TEMPLATE_VIS bit_or { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -892,7 +892,7 @@ #else template #endif -struct _LIBCPP_TYPE_VIS_ONLY bit_xor : binary_function<_Tp, _Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS bit_xor : binary_function<_Tp, _Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x, const _Tp& __y) const @@ -901,7 +901,7 @@ #if _LIBCPP_STD_VER > 11 template <> -struct _LIBCPP_TYPE_VIS_ONLY bit_xor +struct _LIBCPP_TEMPLATE_VIS bit_xor { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -914,7 +914,7 @@ #if _LIBCPP_STD_VER > 11 template -struct _LIBCPP_TYPE_VIS_ONLY bit_not : unary_function<_Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS bit_not : unary_function<_Tp, _Tp> { _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY _Tp operator()(const _Tp& __x) const @@ -922,7 +922,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY bit_not +struct _LIBCPP_TEMPLATE_VIS bit_not { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -933,7 +933,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY unary_negate +class _LIBCPP_TEMPLATE_VIS unary_negate : public unary_function { _Predicate __pred_; @@ -952,7 +952,7 @@ not1(const _Predicate& __pred) {return unary_negate<_Predicate>(__pred);} template -class _LIBCPP_TYPE_VIS_ONLY binary_negate +class _LIBCPP_TEMPLATE_VIS binary_negate : public binary_function @@ -974,7 +974,7 @@ not2(const _Predicate& __pred) {return binary_negate<_Predicate>(__pred);} template -class _LIBCPP_TYPE_VIS_ONLY binder1st +class _LIBCPP_TEMPLATE_VIS binder1st : public unary_function { @@ -1000,7 +1000,7 @@ {return binder1st<__Operation>(__op, __x);} template -class _LIBCPP_TYPE_VIS_ONLY binder2nd +class _LIBCPP_TEMPLATE_VIS binder2nd : public unary_function { @@ -1026,7 +1026,7 @@ {return binder2nd<__Operation>(__op, __x);} template -class _LIBCPP_TYPE_VIS_ONLY pointer_to_unary_function +class _LIBCPP_TEMPLATE_VIS pointer_to_unary_function : public unary_function<_Arg, _Result> { _Result (*__f_)(_Arg); @@ -1044,7 +1044,7 @@ {return pointer_to_unary_function<_Arg,_Result>(__f);} template -class _LIBCPP_TYPE_VIS_ONLY pointer_to_binary_function +class _LIBCPP_TEMPLATE_VIS pointer_to_binary_function : public binary_function<_Arg1, _Arg2, _Result> { _Result (*__f_)(_Arg1, _Arg2); @@ -1062,7 +1062,7 @@ {return pointer_to_binary_function<_Arg1,_Arg2,_Result>(__f);} template -class _LIBCPP_TYPE_VIS_ONLY mem_fun_t : public unary_function<_Tp*, _Sp> +class _LIBCPP_TEMPLATE_VIS mem_fun_t : public unary_function<_Tp*, _Sp> { _Sp (_Tp::*__p_)(); public: @@ -1073,7 +1073,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY mem_fun1_t : public binary_function<_Tp*, _Ap, _Sp> +class _LIBCPP_TEMPLATE_VIS mem_fun1_t : public binary_function<_Tp*, _Ap, _Sp> { _Sp (_Tp::*__p_)(_Ap); public: @@ -1096,7 +1096,7 @@ {return mem_fun1_t<_Sp,_Tp,_Ap>(__f);} template -class _LIBCPP_TYPE_VIS_ONLY mem_fun_ref_t : public unary_function<_Tp, _Sp> +class _LIBCPP_TEMPLATE_VIS mem_fun_ref_t : public unary_function<_Tp, _Sp> { _Sp (_Tp::*__p_)(); public: @@ -1107,7 +1107,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY mem_fun1_ref_t : public binary_function<_Tp, _Ap, _Sp> +class _LIBCPP_TEMPLATE_VIS mem_fun1_ref_t : public binary_function<_Tp, _Ap, _Sp> { _Sp (_Tp::*__p_)(_Ap); public: @@ -1130,7 +1130,7 @@ {return mem_fun1_ref_t<_Sp,_Tp,_Ap>(__f);} template -class _LIBCPP_TYPE_VIS_ONLY const_mem_fun_t : public unary_function +class _LIBCPP_TEMPLATE_VIS const_mem_fun_t : public unary_function { _Sp (_Tp::*__p_)() const; public: @@ -1141,7 +1141,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY const_mem_fun1_t : public binary_function +class _LIBCPP_TEMPLATE_VIS const_mem_fun1_t : public binary_function { _Sp (_Tp::*__p_)(_Ap) const; public: @@ -1164,7 +1164,7 @@ {return const_mem_fun1_t<_Sp,_Tp,_Ap>(__f);} template -class _LIBCPP_TYPE_VIS_ONLY const_mem_fun_ref_t : public unary_function<_Tp, _Sp> +class _LIBCPP_TEMPLATE_VIS const_mem_fun_ref_t : public unary_function<_Tp, _Sp> { _Sp (_Tp::*__p_)() const; public: @@ -1175,7 +1175,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY const_mem_fun1_ref_t +class _LIBCPP_TEMPLATE_VIS const_mem_fun1_ref_t : public binary_function<_Tp, _Ap, _Sp> { _Sp (_Tp::*__p_)(_Ap) const; @@ -1242,7 +1242,7 @@ { }; -template class _LIBCPP_TYPE_VIS_ONLY function; // undefined +template class _LIBCPP_TEMPLATE_VIS function; // undefined namespace __function { @@ -1393,7 +1393,7 @@ } // __function template -class _LIBCPP_TYPE_VIS_ONLY function<_Rp(_ArgTypes...)> +class _LIBCPP_TEMPLATE_VIS function<_Rp(_ArgTypes...)> : public __function::__maybe_derive_from_unary_function<_Rp(_ArgTypes...)>, public __function::__maybe_derive_from_binary_function<_Rp(_ArgTypes...)> { @@ -1816,11 +1816,11 @@ {return __x.swap(__y);} template struct __is_bind_expression : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_bind_expression +template struct _LIBCPP_TEMPLATE_VIS is_bind_expression : public __is_bind_expression::type> {}; template struct __is_placeholder : public integral_constant {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_placeholder +template struct _LIBCPP_TEMPLATE_VIS is_placeholder : public __is_placeholder::type> {}; namespace placeholders @@ -2199,7 +2199,7 @@ #endif // _LIBCPP_HAS_NO_VARIADICS template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2207,7 +2207,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2215,7 +2215,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2223,7 +2223,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2233,7 +2233,7 @@ #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2241,7 +2241,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2251,7 +2251,7 @@ #endif // _LIBCPP_HAS_NO_UNICODE_CHARS template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2259,7 +2259,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2267,7 +2267,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2275,7 +2275,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2283,7 +2283,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2291,7 +2291,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2299,7 +2299,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2307,19 +2307,19 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public __scalar_hash { }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public __scalar_hash { }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public __scalar_hash { _LIBCPP_INLINE_VISIBILITY @@ -2333,7 +2333,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public __scalar_hash { _LIBCPP_INLINE_VISIBILITY @@ -2347,7 +2347,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public __scalar_hash { _LIBCPP_INLINE_VISIBILITY @@ -2398,7 +2398,7 @@ #if _LIBCPP_STD_VER > 11 template -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function<_Tp, size_t> { static_assert(is_enum<_Tp>::value, "This hash only works for enumeration types"); Index: include/future =================================================================== --- include/future +++ include/future @@ -387,11 +387,11 @@ _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(future_errc) template <> -struct _LIBCPP_TYPE_VIS_ONLY is_error_code_enum : public true_type {}; +struct _LIBCPP_TEMPLATE_VIS is_error_code_enum : public true_type {}; #ifdef _LIBCPP_HAS_NO_STRONG_ENUMS template <> -struct _LIBCPP_TYPE_VIS_ONLY is_error_code_enum : public true_type { }; +struct _LIBCPP_TEMPLATE_VIS is_error_code_enum : public true_type { }; #endif //enum class launch @@ -1032,12 +1032,12 @@ base::__on_zero_shared(); } -template class _LIBCPP_TYPE_VIS_ONLY promise; -template class _LIBCPP_TYPE_VIS_ONLY shared_future; +template class _LIBCPP_TEMPLATE_VIS promise; +template class _LIBCPP_TEMPLATE_VIS shared_future; // future -template class _LIBCPP_TYPE_VIS_ONLY future; +template class _LIBCPP_TEMPLATE_VIS future; template future<_Rp> @@ -1056,7 +1056,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY future +class _LIBCPP_TEMPLATE_VIS future { __assoc_state<_Rp>* __state_; @@ -1160,7 +1160,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY future<_Rp&> +class _LIBCPP_TEMPLATE_VIS future<_Rp&> { __assoc_state<_Rp&>* __state_; @@ -1341,7 +1341,7 @@ template class packaged_task; template -class _LIBCPP_TYPE_VIS_ONLY promise +class _LIBCPP_TEMPLATE_VIS promise { __assoc_state<_Rp>* __state_; @@ -1519,7 +1519,7 @@ // promise template -class _LIBCPP_TYPE_VIS_ONLY promise<_Rp&> +class _LIBCPP_TEMPLATE_VIS promise<_Rp&> { __assoc_state<_Rp&>* __state_; @@ -1736,7 +1736,7 @@ } template - struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> + struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : public true_type {}; #ifndef _LIBCPP_HAS_NO_VARIADICS @@ -2000,7 +2000,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY packaged_task<_Rp(_ArgTypes...)> +class _LIBCPP_TEMPLATE_VIS packaged_task<_Rp(_ArgTypes...)> { public: typedef _Rp result_type; @@ -2131,7 +2131,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY packaged_task +class _LIBCPP_TEMPLATE_VIS packaged_task { public: typedef void result_type; @@ -2272,7 +2272,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> +struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : public true_type {}; template @@ -2373,7 +2373,7 @@ // shared_future template -class _LIBCPP_TYPE_VIS_ONLY shared_future +class _LIBCPP_TEMPLATE_VIS shared_future { __assoc_state<_Rp>* __state_; @@ -2447,7 +2447,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY shared_future<_Rp&> +class _LIBCPP_TEMPLATE_VIS shared_future<_Rp&> { __assoc_state<_Rp&>* __state_; Index: include/initializer_list =================================================================== --- include/initializer_list +++ include/initializer_list @@ -56,7 +56,7 @@ #ifndef _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS template -class _LIBCPP_TYPE_VIS_ONLY initializer_list +class _LIBCPP_TEMPLATE_VIS initializer_list { const _Ep* __begin_; size_t __size_; Index: include/ios =================================================================== --- include/ios +++ include/ios @@ -388,11 +388,11 @@ _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(io_errc) template <> -struct _LIBCPP_TYPE_VIS_ONLY is_error_code_enum : public true_type { }; +struct _LIBCPP_TEMPLATE_VIS is_error_code_enum : public true_type { }; #ifdef _LIBCPP_HAS_NO_STRONG_ENUMS template <> -struct _LIBCPP_TYPE_VIS_ONLY is_error_code_enum : public true_type { }; +struct _LIBCPP_TEMPLATE_VIS is_error_code_enum : public true_type { }; #endif _LIBCPP_FUNC_VIS @@ -568,7 +568,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY basic_ios +class _LIBCPP_TEMPLATE_VIS basic_ios : public ios_base { public: Index: include/iosfwd =================================================================== --- include/iosfwd +++ include/iosfwd @@ -97,47 +97,47 @@ class _LIBCPP_TYPE_VIS ios_base; -template struct _LIBCPP_TYPE_VIS_ONLY char_traits; -template class _LIBCPP_TYPE_VIS_ONLY allocator; +template struct _LIBCPP_TEMPLATE_VIS char_traits; +template class _LIBCPP_TEMPLATE_VIS allocator; template > - class _LIBCPP_TYPE_VIS_ONLY basic_ios; + class _LIBCPP_TEMPLATE_VIS basic_ios; template > - class _LIBCPP_TYPE_VIS_ONLY basic_streambuf; + class _LIBCPP_TEMPLATE_VIS basic_streambuf; template > - class _LIBCPP_TYPE_VIS_ONLY basic_istream; + class _LIBCPP_TEMPLATE_VIS basic_istream; template > - class _LIBCPP_TYPE_VIS_ONLY basic_ostream; + class _LIBCPP_TEMPLATE_VIS basic_ostream; template > - class _LIBCPP_TYPE_VIS_ONLY basic_iostream; + class _LIBCPP_TEMPLATE_VIS basic_iostream; template , class _Allocator = allocator<_CharT> > - class _LIBCPP_TYPE_VIS_ONLY basic_stringbuf; + class _LIBCPP_TEMPLATE_VIS basic_stringbuf; template , class _Allocator = allocator<_CharT> > - class _LIBCPP_TYPE_VIS_ONLY basic_istringstream; + class _LIBCPP_TEMPLATE_VIS basic_istringstream; template , class _Allocator = allocator<_CharT> > - class _LIBCPP_TYPE_VIS_ONLY basic_ostringstream; + class _LIBCPP_TEMPLATE_VIS basic_ostringstream; template , class _Allocator = allocator<_CharT> > - class _LIBCPP_TYPE_VIS_ONLY basic_stringstream; + class _LIBCPP_TEMPLATE_VIS basic_stringstream; template > - class _LIBCPP_TYPE_VIS_ONLY basic_filebuf; + class _LIBCPP_TEMPLATE_VIS basic_filebuf; template > - class _LIBCPP_TYPE_VIS_ONLY basic_ifstream; + class _LIBCPP_TEMPLATE_VIS basic_ifstream; template > - class _LIBCPP_TYPE_VIS_ONLY basic_ofstream; + class _LIBCPP_TEMPLATE_VIS basic_ofstream; template > - class _LIBCPP_TYPE_VIS_ONLY basic_fstream; + class _LIBCPP_TEMPLATE_VIS basic_fstream; template > - class _LIBCPP_TYPE_VIS_ONLY istreambuf_iterator; + class _LIBCPP_TEMPLATE_VIS istreambuf_iterator; template > - class _LIBCPP_TYPE_VIS_ONLY ostreambuf_iterator; + class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator; typedef basic_ios ios; typedef basic_ios wios; @@ -172,7 +172,7 @@ typedef basic_ofstream wofstream; typedef basic_fstream wfstream; -template class _LIBCPP_TYPE_VIS_ONLY fpos; +template class _LIBCPP_TEMPLATE_VIS fpos; typedef fpos streampos; typedef fpos wstreampos; #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS @@ -185,7 +185,7 @@ template class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT> > - class _LIBCPP_TYPE_VIS_ONLY basic_string; + class _LIBCPP_TEMPLATE_VIS basic_string; typedef basic_string, allocator > string; typedef basic_string, allocator > wstring; Index: include/istream =================================================================== --- include/istream +++ include/istream @@ -164,7 +164,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -class _LIBCPP_TYPE_VIS_ONLY basic_istream +class _LIBCPP_TEMPLATE_VIS basic_istream : virtual public basic_ios<_CharT, _Traits> { streamsize __gc_; @@ -194,7 +194,7 @@ public: // 27.7.1.1.3 Prefix/suffix: - class _LIBCPP_TYPE_VIS_ONLY sentry; + class _LIBCPP_TEMPLATE_VIS sentry; // 27.7.1.2 Formatted input: basic_istream& operator>>(basic_istream& (*__pf)(basic_istream&)); @@ -244,7 +244,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY basic_istream<_CharT, _Traits>::sentry +class _LIBCPP_TEMPLATE_VIS basic_istream<_CharT, _Traits>::sentry { bool __ok_; @@ -1456,7 +1456,7 @@ #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template -class _LIBCPP_TYPE_VIS_ONLY basic_iostream +class _LIBCPP_TEMPLATE_VIS basic_iostream : public basic_istream<_CharT, _Traits>, public basic_ostream<_CharT, _Traits> { Index: include/iterator =================================================================== --- include/iterator +++ include/iterator @@ -346,11 +346,11 @@ _LIBCPP_BEGIN_NAMESPACE_STD -struct _LIBCPP_TYPE_VIS_ONLY input_iterator_tag {}; -struct _LIBCPP_TYPE_VIS_ONLY output_iterator_tag {}; -struct _LIBCPP_TYPE_VIS_ONLY forward_iterator_tag : public input_iterator_tag {}; -struct _LIBCPP_TYPE_VIS_ONLY bidirectional_iterator_tag : public forward_iterator_tag {}; -struct _LIBCPP_TYPE_VIS_ONLY random_access_iterator_tag : public bidirectional_iterator_tag {}; +struct _LIBCPP_TEMPLATE_VIS input_iterator_tag {}; +struct _LIBCPP_TEMPLATE_VIS output_iterator_tag {}; +struct _LIBCPP_TEMPLATE_VIS forward_iterator_tag : public input_iterator_tag {}; +struct _LIBCPP_TEMPLATE_VIS bidirectional_iterator_tag : public forward_iterator_tag {}; +struct _LIBCPP_TEMPLATE_VIS random_access_iterator_tag : public bidirectional_iterator_tag {}; template struct __has_iterator_category @@ -393,11 +393,11 @@ // the client expects instead of failing at compile time. template -struct _LIBCPP_TYPE_VIS_ONLY iterator_traits +struct _LIBCPP_TEMPLATE_VIS iterator_traits : __iterator_traits<_Iter, __has_iterator_category<_Iter>::value> {}; template -struct _LIBCPP_TYPE_VIS_ONLY iterator_traits<_Tp*> +struct _LIBCPP_TEMPLATE_VIS iterator_traits<_Tp*> { typedef ptrdiff_t difference_type; typedef typename remove_const<_Tp>::type value_type; @@ -428,7 +428,7 @@ template -struct _LIBCPP_TYPE_VIS_ONLY iterator +struct _LIBCPP_TEMPLATE_VIS iterator { typedef _Tp value_type; typedef _Distance difference_type; @@ -525,7 +525,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY reverse_iterator +class _LIBCPP_TEMPLATE_VIS reverse_iterator : public iterator::iterator_category, typename iterator_traits<_Iter>::value_type, typename iterator_traits<_Iter>::difference_type, @@ -641,7 +641,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY back_insert_iterator +class _LIBCPP_TEMPLATE_VIS back_insert_iterator : public iterator -class _LIBCPP_TYPE_VIS_ONLY front_insert_iterator +class _LIBCPP_TEMPLATE_VIS front_insert_iterator : public iterator -class _LIBCPP_TYPE_VIS_ONLY insert_iterator +class _LIBCPP_TEMPLATE_VIS insert_iterator : public iterator, class _Distance = ptrdiff_t> -class _LIBCPP_TYPE_VIS_ONLY istream_iterator +class _LIBCPP_TEMPLATE_VIS istream_iterator : public iterator { public: @@ -782,7 +782,7 @@ }; template > -class _LIBCPP_TYPE_VIS_ONLY ostream_iterator +class _LIBCPP_TEMPLATE_VIS ostream_iterator : public iterator { public: @@ -811,7 +811,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY istreambuf_iterator +class _LIBCPP_TEMPLATE_VIS istreambuf_iterator : public iterator @@ -882,7 +882,7 @@ {return !__a.equal(__b);} template -class _LIBCPP_TYPE_VIS_ONLY ostreambuf_iterator +class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator : public iterator { public: @@ -923,7 +923,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY move_iterator +class _LIBCPP_TEMPLATE_VIS move_iterator { private: _Iter __i; Index: include/limits =================================================================== --- include/limits +++ include/limits @@ -437,7 +437,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY numeric_limits +class _LIBCPP_TEMPLATE_VIS numeric_limits : private __libcpp_numeric_limits::type> { typedef __libcpp_numeric_limits::type> __base; @@ -530,7 +530,7 @@ _LIBCPP_CONSTEXPR const float_round_style numeric_limits<_Tp>::round_style; template -class _LIBCPP_TYPE_VIS_ONLY numeric_limits +class _LIBCPP_TEMPLATE_VIS numeric_limits : private numeric_limits<_Tp> { typedef numeric_limits<_Tp> __base; @@ -623,7 +623,7 @@ _LIBCPP_CONSTEXPR const float_round_style numeric_limits::round_style; template -class _LIBCPP_TYPE_VIS_ONLY numeric_limits +class _LIBCPP_TEMPLATE_VIS numeric_limits : private numeric_limits<_Tp> { typedef numeric_limits<_Tp> __base; @@ -716,7 +716,7 @@ _LIBCPP_CONSTEXPR const float_round_style numeric_limits::round_style; template -class _LIBCPP_TYPE_VIS_ONLY numeric_limits +class _LIBCPP_TEMPLATE_VIS numeric_limits : private numeric_limits<_Tp> { typedef numeric_limits<_Tp> __base; Index: include/list =================================================================== --- include/list +++ include/list @@ -226,12 +226,12 @@ _Tp __value_; }; -template class _LIBCPP_TYPE_VIS_ONLY list; +template class _LIBCPP_TEMPLATE_VIS list; template class __list_imp; -template class _LIBCPP_TYPE_VIS_ONLY __list_const_iterator; +template class _LIBCPP_TEMPLATE_VIS __list_const_iterator; template -class _LIBCPP_TYPE_VIS_ONLY __list_iterator +class _LIBCPP_TEMPLATE_VIS __list_iterator { typedef typename pointer_traits<_VoidPtr>::template #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES @@ -364,7 +364,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __list_const_iterator +class _LIBCPP_TEMPLATE_VIS __list_const_iterator { typedef typename pointer_traits<_VoidPtr>::template #ifndef _LIBCPP_HAS_NO_TEMPLATE_ALIASES @@ -800,7 +800,7 @@ } template > -class _LIBCPP_TYPE_VIS_ONLY list +class _LIBCPP_TEMPLATE_VIS list : private __list_imp<_Tp, _Alloc> { typedef __list_imp<_Tp, _Alloc> base; Index: include/locale =================================================================== --- include/locale +++ include/locale @@ -696,7 +696,7 @@ _LIBCPP_EXTERN_TEMPLATE2(struct _LIBCPP_TYPE_VIS __num_get) template > -class _LIBCPP_TYPE_VIS_ONLY num_get +class _LIBCPP_TEMPLATE_VIS num_get : public locale::facet, private __num_get<_CharT> { @@ -1347,7 +1347,7 @@ _LIBCPP_EXTERN_TEMPLATE2(struct _LIBCPP_TYPE_VIS __num_put) template > -class _LIBCPP_TYPE_VIS_ONLY num_put +class _LIBCPP_TEMPLATE_VIS num_put : public locale::facet, private __num_put<_CharT> { @@ -1871,7 +1871,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __time_get_c_storage +class _LIBCPP_TEMPLATE_VIS __time_get_c_storage { protected: typedef basic_string<_CharT> string_type; @@ -1886,7 +1886,7 @@ }; template > -class _LIBCPP_TYPE_VIS_ONLY time_get +class _LIBCPP_TEMPLATE_VIS time_get : public locale::facet, public time_base, private __time_get_c_storage<_CharT> @@ -2509,7 +2509,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __time_get_storage +class _LIBCPP_TEMPLATE_VIS __time_get_storage : public __time_get { protected: @@ -2536,7 +2536,7 @@ }; template > -class _LIBCPP_TYPE_VIS_ONLY time_get_byname +class _LIBCPP_TEMPLATE_VIS time_get_byname : public time_get<_CharT, _InputIterator>, private __time_get_storage<_CharT> { @@ -2596,7 +2596,7 @@ }; template > -class _LIBCPP_TYPE_VIS_ONLY time_put +class _LIBCPP_TEMPLATE_VIS time_put : public locale::facet, private __time_put { @@ -2695,7 +2695,7 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS time_put) template > -class _LIBCPP_TYPE_VIS_ONLY time_put_byname +class _LIBCPP_TEMPLATE_VIS time_put_byname : public time_put<_CharT, _OutputIterator> { public: @@ -2729,7 +2729,7 @@ // moneypunct template -class _LIBCPP_TYPE_VIS_ONLY moneypunct +class _LIBCPP_TEMPLATE_VIS moneypunct : public locale::facet, public money_base { @@ -2787,7 +2787,7 @@ // moneypunct_byname template -class _LIBCPP_TYPE_VIS_ONLY moneypunct_byname +class _LIBCPP_TEMPLATE_VIS moneypunct_byname : public moneypunct<_CharT, _International> { public: @@ -2899,7 +2899,7 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS __money_get) template > -class _LIBCPP_TYPE_VIS_ONLY money_get +class _LIBCPP_TEMPLATE_VIS money_get : public locale::facet, private __money_get<_CharT> { @@ -3455,7 +3455,7 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS __money_put) template > -class _LIBCPP_TYPE_VIS_ONLY money_put +class _LIBCPP_TEMPLATE_VIS money_put : public locale::facet, private __money_put<_CharT> { @@ -3622,7 +3622,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY messages +class _LIBCPP_TEMPLATE_VIS messages : public locale::facet, public messages_base { @@ -3722,7 +3722,7 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_TYPE_VIS messages) template -class _LIBCPP_TYPE_VIS_ONLY messages_byname +class _LIBCPP_TEMPLATE_VIS messages_byname : public messages<_CharT> { public: @@ -3748,7 +3748,7 @@ template, class _Byte_alloc = allocator > -class _LIBCPP_TYPE_VIS_ONLY wstring_convert +class _LIBCPP_TEMPLATE_VIS wstring_convert { public: typedef basic_string, _Byte_alloc> byte_string; @@ -4001,7 +4001,7 @@ } template > -class _LIBCPP_TYPE_VIS_ONLY wbuffer_convert +class _LIBCPP_TEMPLATE_VIS wbuffer_convert : public basic_streambuf<_Elem, _Tr> { public: Index: include/map =================================================================== --- include/map +++ include/map @@ -645,7 +645,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY __map_iterator +class _LIBCPP_TEMPLATE_VIS __map_iterator { _TreeIterator __i_; @@ -704,13 +704,13 @@ bool operator!=(const __map_iterator& __x, const __map_iterator& __y) {return __x.__i_ != __y.__i_;} - template friend class _LIBCPP_TYPE_VIS_ONLY map; - template friend class _LIBCPP_TYPE_VIS_ONLY multimap; - template friend class _LIBCPP_TYPE_VIS_ONLY __map_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS map; + template friend class _LIBCPP_TEMPLATE_VIS multimap; + template friend class _LIBCPP_TEMPLATE_VIS __map_const_iterator; }; template -class _LIBCPP_TYPE_VIS_ONLY __map_const_iterator +class _LIBCPP_TEMPLATE_VIS __map_const_iterator { _TreeIterator __i_; @@ -773,14 +773,14 @@ bool operator!=(const __map_const_iterator& __x, const __map_const_iterator& __y) {return __x.__i_ != __y.__i_;} - template friend class _LIBCPP_TYPE_VIS_ONLY map; - template friend class _LIBCPP_TYPE_VIS_ONLY multimap; - template friend class _LIBCPP_TYPE_VIS_ONLY __tree_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS map; + template friend class _LIBCPP_TEMPLATE_VIS multimap; + template friend class _LIBCPP_TEMPLATE_VIS __tree_const_iterator; }; template , class _Allocator = allocator > > -class _LIBCPP_TYPE_VIS_ONLY map +class _LIBCPP_TEMPLATE_VIS map { public: // types: @@ -793,7 +793,7 @@ typedef value_type& reference; typedef const value_type& const_reference; - class _LIBCPP_TYPE_VIS_ONLY value_compare + class _LIBCPP_TEMPLATE_VIS value_compare : public binary_function { friend class map; @@ -1519,7 +1519,7 @@ template , class _Allocator = allocator > > -class _LIBCPP_TYPE_VIS_ONLY multimap +class _LIBCPP_TEMPLATE_VIS multimap { public: // types: @@ -1532,7 +1532,7 @@ typedef value_type& reference; typedef const value_type& const_reference; - class _LIBCPP_TYPE_VIS_ONLY value_compare + class _LIBCPP_TEMPLATE_VIS value_compare : public binary_function { friend class multimap; Index: include/memory =================================================================== --- include/memory +++ include/memory @@ -627,7 +627,7 @@ template class allocator; template <> -class _LIBCPP_TYPE_VIS_ONLY allocator +class _LIBCPP_TEMPLATE_VIS allocator { public: typedef void* pointer; @@ -638,7 +638,7 @@ }; template <> -class _LIBCPP_TYPE_VIS_ONLY allocator +class _LIBCPP_TEMPLATE_VIS allocator { public: typedef const void* pointer; @@ -873,7 +873,7 @@ #endif // _LIBCPP_HAS_NO_VARIADICS template -struct _LIBCPP_TYPE_VIS_ONLY pointer_traits +struct _LIBCPP_TEMPLATE_VIS pointer_traits { typedef _Ptr pointer; typedef typename __pointer_traits_element_type::type element_type; @@ -896,7 +896,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY pointer_traits<_Tp*> +struct _LIBCPP_TEMPLATE_VIS pointer_traits<_Tp*> { typedef _Tp* pointer; typedef _Tp element_type; @@ -1403,7 +1403,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY allocator_traits +struct _LIBCPP_TEMPLATE_VIS allocator_traits { typedef _Alloc allocator_type; typedef typename allocator_type::value_type value_type; @@ -1609,7 +1609,7 @@ // allocator template -class _LIBCPP_TYPE_VIS_ONLY allocator +class _LIBCPP_TEMPLATE_VIS allocator { public: typedef size_t size_type; @@ -1701,7 +1701,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY allocator +class _LIBCPP_TEMPLATE_VIS allocator { public: typedef size_t size_type; @@ -1799,7 +1799,7 @@ bool operator!=(const allocator<_Tp>&, const allocator<_Up>&) _NOEXCEPT {return false;} template -class _LIBCPP_TYPE_VIS_ONLY raw_storage_iterator +class _LIBCPP_TEMPLATE_VIS raw_storage_iterator : public iterator -class _LIBCPP_TYPE_VIS_ONLY auto_ptr +class _LIBCPP_TEMPLATE_VIS auto_ptr { private: _Tp* __ptr_; @@ -1896,7 +1896,7 @@ }; template <> -class _LIBCPP_TYPE_VIS_ONLY auto_ptr +class _LIBCPP_TEMPLATE_VIS auto_ptr { public: typedef void element_type; @@ -2414,7 +2414,7 @@ // default_delete template -struct _LIBCPP_TYPE_VIS_ONLY default_delete +struct _LIBCPP_TEMPLATE_VIS default_delete { #ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR default_delete() _NOEXCEPT = default; @@ -2433,7 +2433,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY default_delete<_Tp[]> +struct _LIBCPP_TEMPLATE_VIS default_delete<_Tp[]> { public: #ifndef _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS @@ -2456,7 +2456,7 @@ }; template > -class _LIBCPP_TYPE_VIS_ONLY unique_ptr +class _LIBCPP_TEMPLATE_VIS unique_ptr { public: typedef _Tp element_type; @@ -2635,7 +2635,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY unique_ptr<_Tp[], _Dp> +class _LIBCPP_TEMPLATE_VIS unique_ptr<_Tp[], _Dp> { public: typedef _Tp element_type; @@ -3388,7 +3388,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY hash<_Tp*> +struct _LIBCPP_TEMPLATE_VIS hash<_Tp*> : public unary_function<_Tp*, size_t> { _LIBCPP_INLINE_VISIBILITY @@ -3405,7 +3405,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > { typedef unique_ptr<_Tp, _Dp> argument_type; typedef size_t result_type; @@ -3578,7 +3578,7 @@ virtual const char* what() const _NOEXCEPT; }; -template class _LIBCPP_TYPE_VIS_ONLY weak_ptr; +template class _LIBCPP_TEMPLATE_VIS weak_ptr; class _LIBCPP_TYPE_VIS __shared_count { @@ -3747,10 +3747,10 @@ __a.deallocate(this, 1); } -template class _LIBCPP_TYPE_VIS_ONLY enable_shared_from_this; +template class _LIBCPP_TEMPLATE_VIS enable_shared_from_this; template -class _LIBCPP_TYPE_VIS_ONLY shared_ptr +class _LIBCPP_TEMPLATE_VIS shared_ptr { public: typedef _Tp element_type; @@ -4000,8 +4000,8 @@ _LIBCPP_INLINE_VISIBILITY void __enable_weak_this(const void*) _NOEXCEPT {} - template friend class _LIBCPP_TYPE_VIS_ONLY shared_ptr; - template friend class _LIBCPP_TYPE_VIS_ONLY weak_ptr; + template friend class _LIBCPP_TEMPLATE_VIS shared_ptr; + template friend class _LIBCPP_TEMPLATE_VIS weak_ptr; }; template @@ -4913,7 +4913,7 @@ #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_TYPE_VIS_ONLY weak_ptr +class _LIBCPP_TEMPLATE_VIS weak_ptr { public: typedef _Tp element_type; @@ -4988,8 +4988,8 @@ bool owner_before(const weak_ptr<_Up>& __r) const {return __cntrl_ < __r.__cntrl_;} - template friend class _LIBCPP_TYPE_VIS_ONLY weak_ptr; - template friend class _LIBCPP_TYPE_VIS_ONLY shared_ptr; + template friend class _LIBCPP_TEMPLATE_VIS weak_ptr; + template friend class _LIBCPP_TEMPLATE_VIS shared_ptr; }; template @@ -5189,7 +5189,7 @@ template struct owner_less; template -struct _LIBCPP_TYPE_VIS_ONLY owner_less > +struct _LIBCPP_TEMPLATE_VIS owner_less > : binary_function, shared_ptr<_Tp>, bool> { typedef bool result_type; @@ -5205,7 +5205,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY owner_less > +struct _LIBCPP_TEMPLATE_VIS owner_less > : binary_function, weak_ptr<_Tp>, bool> { typedef bool result_type; @@ -5221,7 +5221,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY enable_shared_from_this +class _LIBCPP_TEMPLATE_VIS enable_shared_from_this { mutable weak_ptr<_Tp> __weak_this_; protected: @@ -5246,7 +5246,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > { typedef shared_ptr<_Tp> argument_type; typedef size_t result_type; Index: include/mutex =================================================================== --- include/mutex +++ include/mutex @@ -441,7 +441,7 @@ #endif // _LIBCPP_HAS_NO_VARIADICS -struct _LIBCPP_TYPE_VIS_ONLY once_flag +struct _LIBCPP_TYPE_VIS once_flag { _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR Index: include/ostream =================================================================== --- include/ostream +++ include/ostream @@ -141,7 +141,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -class _LIBCPP_TYPE_VIS_ONLY basic_ostream +class _LIBCPP_TEMPLATE_VIS basic_ostream : virtual public basic_ios<_CharT, _Traits> { public: @@ -173,7 +173,7 @@ public: // 27.7.2.4 Prefix/suffix: - class _LIBCPP_TYPE_VIS_ONLY sentry; + class _LIBCPP_TEMPLATE_VIS sentry; // 27.7.2.6 Formatted output: basic_ostream& operator<<(basic_ostream& (*__pf)(basic_ostream&)); @@ -211,7 +211,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY basic_ostream<_CharT, _Traits>::sentry +class _LIBCPP_TEMPLATE_VIS basic_ostream<_CharT, _Traits>::sentry { bool __ok_; basic_ostream<_CharT, _Traits>& __os_; Index: include/queue =================================================================== --- include/queue +++ include/queue @@ -177,7 +177,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -template class _LIBCPP_TYPE_VIS_ONLY queue; +template class _LIBCPP_TEMPLATE_VIS queue; template _LIBCPP_INLINE_VISIBILITY @@ -190,7 +190,7 @@ operator< (const queue<_Tp, _Container>& __x,const queue<_Tp, _Container>& __y); template > -class _LIBCPP_TYPE_VIS_ONLY queue +class _LIBCPP_TEMPLATE_VIS queue { public: typedef _Container container_type; @@ -376,14 +376,14 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> +struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : public uses_allocator<_Container, _Alloc> { }; template , class _Compare = less > -class _LIBCPP_TYPE_VIS_ONLY priority_queue +class _LIBCPP_TEMPLATE_VIS priority_queue { public: typedef _Container container_type; @@ -707,7 +707,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> +struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : public uses_allocator<_Container, _Alloc> { }; Index: include/random =================================================================== --- include/random +++ include/random @@ -1813,7 +1813,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY linear_congruential_engine; +class _LIBCPP_TEMPLATE_VIS linear_congruential_engine; template @@ -1829,7 +1829,7 @@ linear_congruential_engine<_Up, _Ap, _Cp, _Np>& __x); template -class _LIBCPP_TYPE_VIS_ONLY linear_congruential_engine +class _LIBCPP_TEMPLATE_VIS linear_congruential_engine { public: // types @@ -2011,7 +2011,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY mersenne_twister_engine; +class _LIBCPP_TEMPLATE_VIS mersenne_twister_engine; template -class _LIBCPP_TYPE_VIS_ONLY mersenne_twister_engine +class _LIBCPP_TEMPLATE_VIS mersenne_twister_engine { public: // types @@ -2499,7 +2499,7 @@ // subtract_with_carry_engine template -class _LIBCPP_TYPE_VIS_ONLY subtract_with_carry_engine; +class _LIBCPP_TEMPLATE_VIS subtract_with_carry_engine; template bool @@ -2527,7 +2527,7 @@ subtract_with_carry_engine<_UI, _Wp, _Sp, _Rp>& __x); template -class _LIBCPP_TYPE_VIS_ONLY subtract_with_carry_engine +class _LIBCPP_TEMPLATE_VIS subtract_with_carry_engine { public: // types @@ -2810,7 +2810,7 @@ // discard_block_engine template -class _LIBCPP_TYPE_VIS_ONLY discard_block_engine +class _LIBCPP_TEMPLATE_VIS discard_block_engine { _Engine __e_; int __n_; @@ -2983,7 +2983,7 @@ // independent_bits_engine template -class _LIBCPP_TYPE_VIS_ONLY independent_bits_engine +class _LIBCPP_TEMPLATE_VIS independent_bits_engine { template class __get_n @@ -3246,7 +3246,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY shuffle_order_engine +class _LIBCPP_TEMPLATE_VIS shuffle_order_engine { static_assert(0 < __k, "shuffle_order_engine invalid parameters"); public: @@ -3686,13 +3686,13 @@ // uniform_real_distribution template -class _LIBCPP_TYPE_VIS_ONLY uniform_real_distribution +class _LIBCPP_TEMPLATE_VIS uniform_real_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __a_; result_type __b_; @@ -3813,7 +3813,7 @@ // types typedef bool result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_INLINE_VISIBILITY param_type { double __p_; public: @@ -3916,13 +3916,13 @@ // binomial_distribution template -class _LIBCPP_TYPE_VIS_ONLY binomial_distribution +class _LIBCPP_TEMPLATE_VIS binomial_distribution { public: // types typedef _IntType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __t_; double __p_; @@ -4081,13 +4081,13 @@ // exponential_distribution template -class _LIBCPP_TYPE_VIS_ONLY exponential_distribution +class _LIBCPP_TEMPLATE_VIS exponential_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __lambda_; public: @@ -4196,13 +4196,13 @@ // normal_distribution template -class _LIBCPP_TYPE_VIS_ONLY normal_distribution +class _LIBCPP_TEMPLATE_VIS normal_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __mean_; result_type __stddev_; @@ -4364,13 +4364,13 @@ // lognormal_distribution template -class _LIBCPP_TYPE_VIS_ONLY lognormal_distribution +class _LIBCPP_TEMPLATE_VIS lognormal_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { normal_distribution __nd_; public: @@ -4489,13 +4489,13 @@ // poisson_distribution template -class _LIBCPP_TYPE_VIS_ONLY poisson_distribution +class _LIBCPP_TEMPLATE_VIS poisson_distribution { public: // types typedef _IntType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { double __mean_; double __s_; @@ -4720,13 +4720,13 @@ // weibull_distribution template -class _LIBCPP_TYPE_VIS_ONLY weibull_distribution +class _LIBCPP_TEMPLATE_VIS weibull_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __a_; result_type __b_; @@ -4834,13 +4834,13 @@ } template -class _LIBCPP_TYPE_VIS_ONLY extreme_value_distribution +class _LIBCPP_TEMPLATE_VIS extreme_value_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __a_; result_type __b_; @@ -4955,13 +4955,13 @@ // gamma_distribution template -class _LIBCPP_TYPE_VIS_ONLY gamma_distribution +class _LIBCPP_TEMPLATE_VIS gamma_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __alpha_; result_type __beta_; @@ -5127,13 +5127,13 @@ // negative_binomial_distribution template -class _LIBCPP_TYPE_VIS_ONLY negative_binomial_distribution +class _LIBCPP_TEMPLATE_VIS negative_binomial_distribution { public: // types typedef _IntType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __k_; double __p_; @@ -5262,13 +5262,13 @@ // geometric_distribution template -class _LIBCPP_TYPE_VIS_ONLY geometric_distribution +class _LIBCPP_TEMPLATE_VIS geometric_distribution { public: // types typedef _IntType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { double __p_; public: @@ -5364,13 +5364,13 @@ // chi_squared_distribution template -class _LIBCPP_TYPE_VIS_ONLY chi_squared_distribution +class _LIBCPP_TEMPLATE_VIS chi_squared_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __n_; public: @@ -5470,13 +5470,13 @@ // cauchy_distribution template -class _LIBCPP_TYPE_VIS_ONLY cauchy_distribution +class _LIBCPP_TEMPLATE_VIS cauchy_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __a_; result_type __b_; @@ -5593,13 +5593,13 @@ // fisher_f_distribution template -class _LIBCPP_TYPE_VIS_ONLY fisher_f_distribution +class _LIBCPP_TEMPLATE_VIS fisher_f_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __m_; result_type __n_; @@ -5715,13 +5715,13 @@ // student_t_distribution template -class _LIBCPP_TYPE_VIS_ONLY student_t_distribution +class _LIBCPP_TEMPLATE_VIS student_t_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { result_type __n_; public: @@ -5828,13 +5828,13 @@ // discrete_distribution template -class _LIBCPP_TYPE_VIS_ONLY discrete_distribution +class _LIBCPP_TEMPLATE_VIS discrete_distribution { public: // types typedef _IntType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { vector __p_; public: @@ -6059,13 +6059,13 @@ // piecewise_constant_distribution template -class _LIBCPP_TYPE_VIS_ONLY piecewise_constant_distribution +class _LIBCPP_TEMPLATE_VIS piecewise_constant_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { vector __b_; vector __densities_; @@ -6383,13 +6383,13 @@ // piecewise_linear_distribution template -class _LIBCPP_TYPE_VIS_ONLY piecewise_linear_distribution +class _LIBCPP_TEMPLATE_VIS piecewise_linear_distribution { public: // types typedef _RealType result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { vector __b_; vector __densities_; Index: include/ratio =================================================================== --- include/ratio +++ include/ratio @@ -231,7 +231,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY ratio +class _LIBCPP_TEMPLATE_VIS ratio { static_assert(__static_abs<_Num>::value >= 0, "ratio numerator is out of range"); static_assert(_Den != 0, "ratio divide by 0"); @@ -292,7 +292,7 @@ #else // _LIBCPP_HAS_NO_TEMPLATE_ALIASES template -struct _LIBCPP_TYPE_VIS_ONLY ratio_multiply +struct _LIBCPP_TEMPLATE_VIS ratio_multiply : public __ratio_multiply<_R1, _R2>::type {}; #endif // _LIBCPP_HAS_NO_TEMPLATE_ALIASES @@ -319,7 +319,7 @@ #else // _LIBCPP_HAS_NO_TEMPLATE_ALIASES template -struct _LIBCPP_TYPE_VIS_ONLY ratio_divide +struct _LIBCPP_TEMPLATE_VIS ratio_divide : public __ratio_divide<_R1, _R2>::type {}; #endif // _LIBCPP_HAS_NO_TEMPLATE_ALIASES @@ -354,7 +354,7 @@ #else // _LIBCPP_HAS_NO_TEMPLATE_ALIASES template -struct _LIBCPP_TYPE_VIS_ONLY ratio_add +struct _LIBCPP_TEMPLATE_VIS ratio_add : public __ratio_add<_R1, _R2>::type {}; #endif // _LIBCPP_HAS_NO_TEMPLATE_ALIASES @@ -389,7 +389,7 @@ #else // _LIBCPP_HAS_NO_TEMPLATE_ALIASES template -struct _LIBCPP_TYPE_VIS_ONLY ratio_subtract +struct _LIBCPP_TEMPLATE_VIS ratio_subtract : public __ratio_subtract<_R1, _R2>::type {}; #endif // _LIBCPP_HAS_NO_TEMPLATE_ALIASES @@ -397,11 +397,11 @@ // ratio_equal template -struct _LIBCPP_TYPE_VIS_ONLY ratio_equal +struct _LIBCPP_TEMPLATE_VIS ratio_equal : public integral_constant {}; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_not_equal +struct _LIBCPP_TEMPLATE_VIS ratio_not_equal : public integral_constant::value> {}; // ratio_less @@ -460,19 +460,19 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_less +struct _LIBCPP_TEMPLATE_VIS ratio_less : public integral_constant::value> {}; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_less_equal +struct _LIBCPP_TEMPLATE_VIS ratio_less_equal : public integral_constant::value> {}; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_greater +struct _LIBCPP_TEMPLATE_VIS ratio_greater : public integral_constant::value> {}; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_greater_equal +struct _LIBCPP_TEMPLATE_VIS ratio_greater_equal : public integral_constant::value> {}; template Index: include/regex =================================================================== --- include/regex +++ include/regex @@ -956,7 +956,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY regex_traits +struct _LIBCPP_TEMPLATE_VIS regex_traits { public: typedef _CharT char_type; @@ -1267,11 +1267,11 @@ template class __node; -template class _LIBCPP_TYPE_VIS_ONLY sub_match; +template class _LIBCPP_TEMPLATE_VIS sub_match; template > > -class _LIBCPP_TYPE_VIS_ONLY match_results; +class _LIBCPP_TEMPLATE_VIS match_results; template struct __state @@ -2450,7 +2450,7 @@ template class __lookahead; template > -class _LIBCPP_TYPE_VIS_ONLY basic_regex +class _LIBCPP_TEMPLATE_VIS basic_regex { public: // types: @@ -4832,7 +4832,7 @@ // sub_match template -class _LIBCPP_TYPE_VIS_ONLY sub_match +class _LIBCPP_TEMPLATE_VIS sub_match : public pair<_BidirectionalIterator, _BidirectionalIterator> { public: @@ -5255,7 +5255,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY match_results +class _LIBCPP_TEMPLATE_VIS match_results { public: typedef _Allocator allocator_type; @@ -6077,7 +6077,7 @@ template ::value_type, class _Traits = regex_traits<_CharT> > -class _LIBCPP_TYPE_VIS_ONLY regex_iterator +class _LIBCPP_TEMPLATE_VIS regex_iterator { public: typedef basic_regex<_CharT, _Traits> regex_type; @@ -6196,7 +6196,7 @@ template ::value_type, class _Traits = regex_traits<_CharT> > -class _LIBCPP_TYPE_VIS_ONLY regex_token_iterator +class _LIBCPP_TEMPLATE_VIS regex_token_iterator { public: typedef basic_regex<_CharT, _Traits> regex_type; Index: include/scoped_allocator =================================================================== --- include/scoped_allocator +++ include/scoped_allocator @@ -365,7 +365,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY scoped_allocator_adaptor<_OuterAlloc, _InnerAllocs...> +class _LIBCPP_TEMPLATE_VIS scoped_allocator_adaptor<_OuterAlloc, _InnerAllocs...> : public __scoped_allocator_storage<_OuterAlloc, _InnerAllocs...> { typedef __scoped_allocator_storage<_OuterAlloc, _InnerAllocs...> base; Index: include/set =================================================================== --- include/set +++ include/set @@ -395,7 +395,7 @@ template , class _Allocator = allocator<_Key> > -class _LIBCPP_TYPE_VIS_ONLY set +class _LIBCPP_TEMPLATE_VIS set { public: // types: @@ -799,7 +799,7 @@ template , class _Allocator = allocator<_Key> > -class _LIBCPP_TYPE_VIS_ONLY multiset +class _LIBCPP_TEMPLATE_VIS multiset { public: // types: Index: include/sstream =================================================================== --- include/sstream +++ include/sstream @@ -186,7 +186,7 @@ // basic_stringbuf template -class _LIBCPP_TYPE_VIS_ONLY basic_stringbuf +class _LIBCPP_TEMPLATE_VIS basic_stringbuf : public basic_streambuf<_CharT, _Traits> { public: @@ -613,7 +613,7 @@ // basic_istringstream template -class _LIBCPP_TYPE_VIS_ONLY basic_istringstream +class _LIBCPP_TEMPLATE_VIS basic_istringstream : public basic_istream<_CharT, _Traits> { public: @@ -732,7 +732,7 @@ // basic_ostringstream template -class _LIBCPP_TYPE_VIS_ONLY basic_ostringstream +class _LIBCPP_TEMPLATE_VIS basic_ostringstream : public basic_ostream<_CharT, _Traits> { public: @@ -851,7 +851,7 @@ // basic_stringstream template -class _LIBCPP_TYPE_VIS_ONLY basic_stringstream +class _LIBCPP_TEMPLATE_VIS basic_stringstream : public basic_iostream<_CharT, _Traits> { public: Index: include/stack =================================================================== --- include/stack +++ include/stack @@ -91,7 +91,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -template class _LIBCPP_TYPE_VIS_ONLY stack; +template class _LIBCPP_TEMPLATE_VIS stack; template _LIBCPP_INLINE_VISIBILITY @@ -104,7 +104,7 @@ operator< (const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y); template > -class _LIBCPP_TYPE_VIS_ONLY stack +class _LIBCPP_TEMPLATE_VIS stack { public: typedef _Container container_type; @@ -282,7 +282,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> +struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : public uses_allocator<_Container, _Alloc> { }; Index: include/streambuf =================================================================== --- include/streambuf +++ include/streambuf @@ -119,7 +119,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -class _LIBCPP_TYPE_VIS_ONLY basic_streambuf +class _LIBCPP_TEMPLATE_VIS basic_streambuf { public: // types: Index: include/string =================================================================== --- include/string +++ include/string @@ -464,7 +464,7 @@ // fpos template -class _LIBCPP_TYPE_VIS_ONLY fpos +class _LIBCPP_TEMPLATE_VIS fpos { private: _StateT __st_; @@ -501,7 +501,7 @@ // char_traits template -struct _LIBCPP_TYPE_VIS_ONLY char_traits +struct _LIBCPP_TEMPLATE_VIS char_traits { typedef _CharT char_type; typedef int int_type; @@ -628,7 +628,7 @@ // char_traits template <> -struct _LIBCPP_TYPE_VIS_ONLY char_traits +struct _LIBCPP_TEMPLATE_VIS char_traits { typedef char char_type; typedef int int_type; @@ -687,7 +687,7 @@ // char_traits template <> -struct _LIBCPP_TYPE_VIS_ONLY char_traits +struct _LIBCPP_TEMPLATE_VIS char_traits { typedef wchar_t char_type; typedef wint_t int_type; @@ -747,7 +747,7 @@ #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS template <> -struct _LIBCPP_TYPE_VIS_ONLY char_traits +struct _LIBCPP_TEMPLATE_VIS char_traits { typedef char16_t char_type; typedef uint_least16_t int_type; @@ -868,7 +868,7 @@ } template <> -struct _LIBCPP_TYPE_VIS_ONLY char_traits +struct _LIBCPP_TEMPLATE_VIS char_traits { typedef char32_t char_type; typedef uint_least32_t int_type; @@ -1199,7 +1199,7 @@ operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y); template -class _LIBCPP_TYPE_VIS_ONLY __basic_string_common +class _LIBCPP_TEMPLATE_VIS __basic_string_common { protected: void __throw_length_error() const; @@ -1253,7 +1253,7 @@ #endif // _LIBCPP_ALTERNATE_STRING_LAYOUT template -class _LIBCPP_TYPE_VIS_ONLY basic_string +class _LIBCPP_TEMPLATE_VIS basic_string : private __basic_string_common { public: @@ -4171,7 +4171,7 @@ basic_string<_CharT, _Traits, _Allocator>::npos; template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > : public unary_function, size_t> { size_t Index: include/system_error =================================================================== --- include/system_error +++ include/system_error @@ -233,13 +233,13 @@ // is_error_code_enum template -struct _LIBCPP_TYPE_VIS_ONLY is_error_code_enum +struct _LIBCPP_TEMPLATE_VIS is_error_code_enum : public false_type {}; // is_error_condition_enum template -struct _LIBCPP_TYPE_VIS_ONLY is_error_condition_enum +struct _LIBCPP_TEMPLATE_VIS is_error_condition_enum : public false_type {}; // Some error codes are not present on all platforms, so we provide equivalents @@ -346,12 +346,12 @@ _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(errc) template <> -struct _LIBCPP_TYPE_VIS_ONLY is_error_condition_enum +struct _LIBCPP_TEMPLATE_VIS is_error_condition_enum : true_type { }; #ifdef _LIBCPP_HAS_NO_STRONG_ENUMS template <> -struct _LIBCPP_TYPE_VIS_ONLY is_error_condition_enum +struct _LIBCPP_TEMPLATE_VIS is_error_condition_enum : true_type { }; #endif @@ -603,7 +603,7 @@ {return !(__x == __y);} template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY Index: include/thread =================================================================== --- include/thread +++ include/thread @@ -185,9 +185,9 @@ } // this_thread -template<> struct _LIBCPP_TYPE_VIS_ONLY hash<__thread_id>; +template<> struct _LIBCPP_TEMPLATE_VIS hash<__thread_id>; -class _LIBCPP_TYPE_VIS_ONLY __thread_id +class _LIBCPP_TEMPLATE_VIS __thread_id { // FIXME: pthread_t is a pointer on Darwin but a long on Linux. // NULL is the no-thread value on Darwin. Someone needs to check @@ -230,11 +230,11 @@ friend __thread_id this_thread::get_id() _NOEXCEPT; friend class _LIBCPP_TYPE_VIS thread; - friend struct _LIBCPP_TYPE_VIS_ONLY hash<__thread_id>; + friend struct _LIBCPP_TEMPLATE_VIS hash<__thread_id>; }; template<> -struct _LIBCPP_TYPE_VIS_ONLY hash<__thread_id> +struct _LIBCPP_TEMPLATE_VIS hash<__thread_id> : public unary_function<__thread_id, size_t> { _LIBCPP_INLINE_VISIBILITY Index: include/tuple =================================================================== --- include/tuple +++ include/tuple @@ -140,7 +140,7 @@ // tuple_size template -class _LIBCPP_TYPE_VIS_ONLY tuple_size > +class _LIBCPP_TEMPLATE_VIS tuple_size > : public integral_constant { }; @@ -148,7 +148,7 @@ // tuple_element template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, tuple<_Tp...> > +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, tuple<_Tp...> > { public: typedef typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type; @@ -498,7 +498,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY tuple +class _LIBCPP_TEMPLATE_VIS tuple { typedef __tuple_impl::type, _Tp...> base; @@ -686,7 +686,7 @@ }; template <> -class _LIBCPP_TYPE_VIS_ONLY tuple<> +class _LIBCPP_TEMPLATE_VIS tuple<> { public: _LIBCPP_INLINE_VISIBILITY @@ -826,7 +826,7 @@ namespace { const __ignore_t ignore = __ignore_t(); } -template class _LIBCPP_TYPE_VIS_ONLY reference_wrapper; +template class _LIBCPP_TEMPLATE_VIS reference_wrapper; template struct __make_tuple_return_impl @@ -1094,7 +1094,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> +struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : true_type {}; template Index: include/type_traits =================================================================== --- include/type_traits +++ include/type_traits @@ -210,16 +210,16 @@ _LIBCPP_BEGIN_NAMESPACE_STD template - struct _LIBCPP_TYPE_VIS_ONLY conditional {typedef _If type;}; + struct _LIBCPP_TEMPLATE_VIS conditional {typedef _If type;}; template - struct _LIBCPP_TYPE_VIS_ONLY conditional {typedef _Then type;}; + struct _LIBCPP_TEMPLATE_VIS conditional {typedef _Then type;}; #if _LIBCPP_STD_VER > 11 template using conditional_t = typename conditional<_Bp, _If, _Then>::type; #endif -template struct _LIBCPP_TYPE_VIS_ONLY enable_if {}; -template struct _LIBCPP_TYPE_VIS_ONLY enable_if {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS enable_if {}; +template struct _LIBCPP_TEMPLATE_VIS enable_if {typedef _Tp type;}; #if _LIBCPP_STD_VER > 11 template using enable_if_t = typename enable_if<_Bp, _Tp>::type; @@ -231,7 +231,7 @@ // helper class: template -struct _LIBCPP_TYPE_VIS_ONLY integral_constant +struct _LIBCPP_TEMPLATE_VIS integral_constant { static _LIBCPP_CONSTEXPR const _Tp value = __v; typedef _Tp value_type; @@ -252,33 +252,33 @@ // is_const -template struct _LIBCPP_TYPE_VIS_ONLY is_const : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_const<_Tp const> : public true_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_const : public false_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_const<_Tp const> : public true_type {}; // is_volatile -template struct _LIBCPP_TYPE_VIS_ONLY is_volatile : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_volatile<_Tp volatile> : public true_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_volatile : public false_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_volatile<_Tp volatile> : public true_type {}; // remove_const -template struct _LIBCPP_TYPE_VIS_ONLY remove_const {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_const {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_const {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_const {typedef _Tp type;}; #if _LIBCPP_STD_VER > 11 template using remove_const_t = typename remove_const<_Tp>::type; #endif // remove_volatile -template struct _LIBCPP_TYPE_VIS_ONLY remove_volatile {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_volatile {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_volatile {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_volatile {typedef _Tp type;}; #if _LIBCPP_STD_VER > 11 template using remove_volatile_t = typename remove_volatile<_Tp>::type; #endif // remove_cv -template struct _LIBCPP_TYPE_VIS_ONLY remove_cv +template struct _LIBCPP_TEMPLATE_VIS remove_cv {typedef typename remove_volatile::type>::type type;}; #if _LIBCPP_STD_VER > 11 template using remove_cv_t = typename remove_cv<_Tp>::type; @@ -289,7 +289,7 @@ template struct __libcpp_is_void : public false_type {}; template <> struct __libcpp_is_void : public true_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_void +template struct _LIBCPP_TEMPLATE_VIS is_void : public __libcpp_is_void::type> {}; // __is_nullptr_t @@ -297,11 +297,11 @@ template struct __is_nullptr_t_impl : public false_type {}; template <> struct __is_nullptr_t_impl : public true_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY __is_nullptr_t +template struct _LIBCPP_TEMPLATE_VIS __is_nullptr_t : public __is_nullptr_t_impl::type> {}; #if _LIBCPP_STD_VER > 11 -template struct _LIBCPP_TYPE_VIS_ONLY is_null_pointer +template struct _LIBCPP_TEMPLATE_VIS is_null_pointer : public __is_nullptr_t_impl::type> {}; #endif @@ -330,7 +330,7 @@ template <> struct __libcpp_is_integral<__uint128_t> : public true_type {}; #endif -template struct _LIBCPP_TYPE_VIS_ONLY is_integral +template struct _LIBCPP_TEMPLATE_VIS is_integral : public __libcpp_is_integral::type> {}; // is_floating_point @@ -340,16 +340,16 @@ template <> struct __libcpp_is_floating_point : public true_type {}; template <> struct __libcpp_is_floating_point : public true_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_floating_point +template struct _LIBCPP_TEMPLATE_VIS is_floating_point : public __libcpp_is_floating_point::type> {}; // is_array -template struct _LIBCPP_TYPE_VIS_ONLY is_array +template struct _LIBCPP_TEMPLATE_VIS is_array : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_array<_Tp[]> +template struct _LIBCPP_TEMPLATE_VIS is_array<_Tp[]> : public true_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_array<_Tp[_Np]> +template struct _LIBCPP_TEMPLATE_VIS is_array<_Tp[_Np]> : public true_type {}; // is_pointer @@ -357,36 +357,36 @@ template struct __libcpp_is_pointer : public false_type {}; template struct __libcpp_is_pointer<_Tp*> : public true_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_pointer +template struct _LIBCPP_TEMPLATE_VIS is_pointer : public __libcpp_is_pointer::type> {}; // is_reference -template struct _LIBCPP_TYPE_VIS_ONLY is_lvalue_reference : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_lvalue_reference<_Tp&> : public true_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_lvalue_reference : public false_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_lvalue_reference<_Tp&> : public true_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_rvalue_reference : public false_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_rvalue_reference : public false_type {}; #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -template struct _LIBCPP_TYPE_VIS_ONLY is_rvalue_reference<_Tp&&> : public true_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_rvalue_reference<_Tp&&> : public true_type {}; #endif -template struct _LIBCPP_TYPE_VIS_ONLY is_reference : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_reference<_Tp&> : public true_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_reference : public false_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_reference<_Tp&> : public true_type {}; #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -template struct _LIBCPP_TYPE_VIS_ONLY is_reference<_Tp&&> : public true_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_reference<_Tp&&> : public true_type {}; #endif // is_union #if __has_feature(is_union) || (_GNUC_VER >= 403) -template struct _LIBCPP_TYPE_VIS_ONLY is_union +template struct _LIBCPP_TEMPLATE_VIS is_union : public integral_constant {}; #else template struct __libcpp_union : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_union +template struct _LIBCPP_TEMPLATE_VIS is_union : public __libcpp_union::type> {}; #endif @@ -395,7 +395,7 @@ #if __has_feature(is_class) || (_GNUC_VER >= 403) -template struct _LIBCPP_TYPE_VIS_ONLY is_class +template struct _LIBCPP_TEMPLATE_VIS is_class : public integral_constant {}; #else @@ -406,15 +406,15 @@ template __two __test(...); } -template struct _LIBCPP_TYPE_VIS_ONLY is_class +template struct _LIBCPP_TEMPLATE_VIS is_class : public integral_constant(0)) == 1 && !is_union<_Tp>::value> {}; #endif // is_same -template struct _LIBCPP_TYPE_VIS_ONLY is_same : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_same<_Tp, _Tp> : public true_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_same : public false_type {}; +template struct _LIBCPP_TEMPLATE_VIS is_same<_Tp, _Tp> : public true_type {}; // is_function @@ -435,7 +435,7 @@ {}; template struct __libcpp_is_function<_Tp, true> : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_function +template struct _LIBCPP_TEMPLATE_VIS is_function : public __libcpp_is_function<_Tp> {}; // is_member_function_pointer @@ -461,7 +461,7 @@ template struct __libcpp_is_member_function_pointer : public integral_constant(nullptr)) == 1> {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_member_function_pointer +template struct _LIBCPP_TEMPLATE_VIS is_member_function_pointer : public __libcpp_is_member_function_pointer::type> {}; // is_member_pointer @@ -469,12 +469,12 @@ template struct __libcpp_is_member_pointer : public false_type {}; template struct __libcpp_is_member_pointer<_Tp _Up::*> : public true_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_member_pointer +template struct _LIBCPP_TEMPLATE_VIS is_member_pointer : public __libcpp_is_member_pointer::type> {}; // is_member_object_pointer -template struct _LIBCPP_TYPE_VIS_ONLY is_member_object_pointer +template struct _LIBCPP_TEMPLATE_VIS is_member_object_pointer : public integral_constant::value && !is_member_function_pointer<_Tp>::value> {}; @@ -482,12 +482,12 @@ #if __has_feature(is_enum) || (_GNUC_VER >= 403) -template struct _LIBCPP_TYPE_VIS_ONLY is_enum +template struct _LIBCPP_TEMPLATE_VIS is_enum : public integral_constant {}; #else -template struct _LIBCPP_TYPE_VIS_ONLY is_enum +template struct _LIBCPP_TEMPLATE_VIS is_enum : public integral_constant::value && !is_integral<_Tp>::value && !is_floating_point<_Tp>::value && @@ -503,31 +503,31 @@ // is_arithmetic -template struct _LIBCPP_TYPE_VIS_ONLY is_arithmetic +template struct _LIBCPP_TEMPLATE_VIS is_arithmetic : public integral_constant::value || is_floating_point<_Tp>::value> {}; // is_fundamental -template struct _LIBCPP_TYPE_VIS_ONLY is_fundamental +template struct _LIBCPP_TEMPLATE_VIS is_fundamental : public integral_constant::value || __is_nullptr_t<_Tp>::value || is_arithmetic<_Tp>::value> {}; // is_scalar -template struct _LIBCPP_TYPE_VIS_ONLY is_scalar +template struct _LIBCPP_TEMPLATE_VIS is_scalar : public integral_constant::value || is_member_pointer<_Tp>::value || is_pointer<_Tp>::value || __is_nullptr_t<_Tp>::value || is_enum<_Tp>::value > {}; -template <> struct _LIBCPP_TYPE_VIS_ONLY is_scalar : public true_type {}; +template <> struct _LIBCPP_TEMPLATE_VIS is_scalar : public true_type {}; // is_object -template struct _LIBCPP_TYPE_VIS_ONLY is_object +template struct _LIBCPP_TEMPLATE_VIS is_object : public integral_constant::value || is_array<_Tp>::value || is_union<_Tp>::value || @@ -535,7 +535,7 @@ // is_compound -template struct _LIBCPP_TYPE_VIS_ONLY is_compound +template struct _LIBCPP_TEMPLATE_VIS is_compound : public integral_constant::value> {}; // add_const @@ -548,7 +548,7 @@ template struct __add_const<_Tp, false> {typedef const _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY add_const +template struct _LIBCPP_TEMPLATE_VIS add_const {typedef typename __add_const<_Tp>::type type;}; #if _LIBCPP_STD_VER > 11 @@ -565,7 +565,7 @@ template struct __add_volatile<_Tp, false> {typedef volatile _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY add_volatile +template struct _LIBCPP_TEMPLATE_VIS add_volatile {typedef typename __add_volatile<_Tp>::type type;}; #if _LIBCPP_STD_VER > 11 @@ -574,7 +574,7 @@ // add_cv -template struct _LIBCPP_TYPE_VIS_ONLY add_cv +template struct _LIBCPP_TEMPLATE_VIS add_cv {typedef typename add_const::type>::type type;}; #if _LIBCPP_STD_VER > 11 @@ -583,10 +583,10 @@ // remove_reference -template struct _LIBCPP_TYPE_VIS_ONLY remove_reference {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_reference<_Tp&> {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_reference {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_reference<_Tp&> {typedef _Tp type;}; #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -template struct _LIBCPP_TYPE_VIS_ONLY remove_reference<_Tp&&> {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_reference<_Tp&&> {typedef _Tp type;}; #endif #if _LIBCPP_STD_VER > 11 @@ -595,12 +595,12 @@ // add_lvalue_reference -template struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference {typedef _Tp& type;}; -template struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference<_Tp&> {typedef _Tp& type;}; // for older compiler -template <> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference {typedef void type;}; -template <> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference {typedef const void type;}; -template <> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference {typedef volatile void type;}; -template <> struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference {typedef const volatile void type;}; +template struct _LIBCPP_TEMPLATE_VIS add_lvalue_reference {typedef _Tp& type;}; +template struct _LIBCPP_TEMPLATE_VIS add_lvalue_reference<_Tp&> {typedef _Tp& type;}; // for older compiler +template <> struct _LIBCPP_TEMPLATE_VIS add_lvalue_reference {typedef void type;}; +template <> struct _LIBCPP_TEMPLATE_VIS add_lvalue_reference {typedef const void type;}; +template <> struct _LIBCPP_TEMPLATE_VIS add_lvalue_reference {typedef volatile void type;}; +template <> struct _LIBCPP_TEMPLATE_VIS add_lvalue_reference {typedef const volatile void type;}; #if _LIBCPP_STD_VER > 11 template using add_lvalue_reference_t = typename add_lvalue_reference<_Tp>::type; @@ -608,11 +608,11 @@ #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -template struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference {typedef _Tp&& type;}; -template <> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference {typedef void type;}; -template <> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference {typedef const void type;}; -template <> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference {typedef volatile void type;}; -template <> struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference {typedef const volatile void type;}; +template struct _LIBCPP_TEMPLATE_VIS add_rvalue_reference {typedef _Tp&& type;}; +template <> struct _LIBCPP_TEMPLATE_VIS add_rvalue_reference {typedef void type;}; +template <> struct _LIBCPP_TEMPLATE_VIS add_rvalue_reference {typedef const void type;}; +template <> struct _LIBCPP_TEMPLATE_VIS add_rvalue_reference {typedef volatile void type;}; +template <> struct _LIBCPP_TEMPLATE_VIS add_rvalue_reference {typedef const volatile void type;}; #if _LIBCPP_STD_VER > 11 template using add_rvalue_reference_t = typename add_rvalue_reference<_Tp>::type; @@ -641,11 +641,11 @@ // remove_pointer -template struct _LIBCPP_TYPE_VIS_ONLY remove_pointer {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_pointer<_Tp*> {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_pointer<_Tp* const> {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_pointer<_Tp* volatile> {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_pointer<_Tp* const volatile> {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_pointer {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp*> {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const> {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* volatile> {typedef _Tp type;}; +template struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const volatile> {typedef _Tp type;}; #if _LIBCPP_STD_VER > 11 template using remove_pointer_t = typename remove_pointer<_Tp>::type; @@ -653,7 +653,7 @@ // add_pointer -template struct _LIBCPP_TYPE_VIS_ONLY add_pointer +template struct _LIBCPP_TEMPLATE_VIS add_pointer {typedef typename remove_reference<_Tp>::type* type;}; #if _LIBCPP_STD_VER > 11 @@ -673,7 +673,7 @@ template struct __libcpp_is_signed<_Tp, false> : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_signed : public __libcpp_is_signed<_Tp> {}; +template struct _LIBCPP_TEMPLATE_VIS is_signed : public __libcpp_is_signed<_Tp> {}; // is_unsigned @@ -688,37 +688,37 @@ template struct __libcpp_is_unsigned<_Tp, false> : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_unsigned : public __libcpp_is_unsigned<_Tp> {}; +template struct _LIBCPP_TEMPLATE_VIS is_unsigned : public __libcpp_is_unsigned<_Tp> {}; // rank -template struct _LIBCPP_TYPE_VIS_ONLY rank +template struct _LIBCPP_TEMPLATE_VIS rank : public integral_constant {}; -template struct _LIBCPP_TYPE_VIS_ONLY rank<_Tp[]> +template struct _LIBCPP_TEMPLATE_VIS rank<_Tp[]> : public integral_constant::value + 1> {}; -template struct _LIBCPP_TYPE_VIS_ONLY rank<_Tp[_Np]> +template struct _LIBCPP_TEMPLATE_VIS rank<_Tp[_Np]> : public integral_constant::value + 1> {}; // extent -template struct _LIBCPP_TYPE_VIS_ONLY extent +template struct _LIBCPP_TEMPLATE_VIS extent : public integral_constant {}; -template struct _LIBCPP_TYPE_VIS_ONLY extent<_Tp[], 0> +template struct _LIBCPP_TEMPLATE_VIS extent<_Tp[], 0> : public integral_constant {}; -template struct _LIBCPP_TYPE_VIS_ONLY extent<_Tp[], _Ip> +template struct _LIBCPP_TEMPLATE_VIS extent<_Tp[], _Ip> : public integral_constant::value> {}; -template struct _LIBCPP_TYPE_VIS_ONLY extent<_Tp[_Np], 0> +template struct _LIBCPP_TEMPLATE_VIS extent<_Tp[_Np], 0> : public integral_constant {}; -template struct _LIBCPP_TYPE_VIS_ONLY extent<_Tp[_Np], _Ip> +template struct _LIBCPP_TEMPLATE_VIS extent<_Tp[_Np], _Ip> : public integral_constant::value> {}; // remove_extent -template struct _LIBCPP_TYPE_VIS_ONLY remove_extent +template struct _LIBCPP_TEMPLATE_VIS remove_extent {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_extent<_Tp[]> +template struct _LIBCPP_TEMPLATE_VIS remove_extent<_Tp[]> {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_extent<_Tp[_Np]> +template struct _LIBCPP_TEMPLATE_VIS remove_extent<_Tp[_Np]> {typedef _Tp type;}; #if _LIBCPP_STD_VER > 11 @@ -727,11 +727,11 @@ // remove_all_extents -template struct _LIBCPP_TYPE_VIS_ONLY remove_all_extents +template struct _LIBCPP_TEMPLATE_VIS remove_all_extents {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_all_extents<_Tp[]> +template struct _LIBCPP_TEMPLATE_VIS remove_all_extents<_Tp[]> {typedef typename remove_all_extents<_Tp>::type type;}; -template struct _LIBCPP_TYPE_VIS_ONLY remove_all_extents<_Tp[_Np]> +template struct _LIBCPP_TEMPLATE_VIS remove_all_extents<_Tp[_Np]> {typedef typename remove_all_extents<_Tp>::type type;}; #if _LIBCPP_STD_VER > 11 @@ -741,7 +741,7 @@ // decay template -struct _LIBCPP_TYPE_VIS_ONLY decay +struct _LIBCPP_TEMPLATE_VIS decay { private: typedef typename remove_reference<_Tp>::type _Up; @@ -776,12 +776,12 @@ template struct __libcpp_abstract<_Tp, false> : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_abstract : public __libcpp_abstract<_Tp> {}; +template struct _LIBCPP_TEMPLATE_VIS is_abstract : public __libcpp_abstract<_Tp> {}; // is_final #if _LIBCPP_STD_VER > 11 && __has_feature(is_final) -template struct _LIBCPP_TYPE_VIS_ONLY +template struct _LIBCPP_TEMPLATE_VIS is_final : public integral_constant {}; #endif @@ -790,7 +790,7 @@ #ifdef _LIBCPP_HAS_IS_BASE_OF template -struct _LIBCPP_TYPE_VIS_ONLY is_base_of +struct _LIBCPP_TEMPLATE_VIS is_base_of : public integral_constant {}; #else // _LIBCPP_HAS_IS_BASE_OF @@ -814,7 +814,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY is_base_of +struct _LIBCPP_TEMPLATE_VIS is_base_of : public integral_constant::value && sizeof(__is_base_of_imp::__test<_Bp, _Dp>(0)) == 2> {}; @@ -824,7 +824,7 @@ #if __has_feature(is_convertible_to) -template struct _LIBCPP_TYPE_VIS_ONLY is_convertible +template struct _LIBCPP_TEMPLATE_VIS is_convertible : public integral_constant::value> {}; @@ -930,7 +930,7 @@ template struct __is_convertible<_T1, _T2, 2, 3> : public false_type {}; template struct __is_convertible<_T1, _T2, 3, 3> : public true_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_convertible +template struct _LIBCPP_TEMPLATE_VIS is_convertible : public __is_convertible<_T1, _T2> { static const size_t __complete_check1 = __is_convertible_check<_T1>::__v; @@ -944,7 +944,7 @@ #if __has_feature(is_empty) || (_GNUC_VER >= 407) template -struct _LIBCPP_TYPE_VIS_ONLY is_empty +struct _LIBCPP_TEMPLATE_VIS is_empty : public integral_constant {}; #else // __has_feature(is_empty) @@ -966,7 +966,7 @@ template struct __libcpp_empty<_Tp, false> : public false_type {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_empty : public __libcpp_empty<_Tp> {}; +template struct _LIBCPP_TEMPLATE_VIS is_empty : public __libcpp_empty<_Tp> {}; #endif // __has_feature(is_empty) @@ -975,7 +975,7 @@ #if __has_feature(is_polymorphic) || defined(_LIBCPP_MSVC) template -struct _LIBCPP_TYPE_VIS_ONLY is_polymorphic +struct _LIBCPP_TEMPLATE_VIS is_polymorphic : public integral_constant {}; #else @@ -985,7 +985,7 @@ int>::type); template __two &__is_polymorphic_impl(...); -template struct _LIBCPP_TYPE_VIS_ONLY is_polymorphic +template struct _LIBCPP_TEMPLATE_VIS is_polymorphic : public integral_constant(0)) == 1> {}; #endif // __has_feature(is_polymorphic) @@ -994,19 +994,19 @@ #if __has_feature(has_virtual_destructor) || (_GNUC_VER >= 403) -template struct _LIBCPP_TYPE_VIS_ONLY has_virtual_destructor +template struct _LIBCPP_TEMPLATE_VIS has_virtual_destructor : public integral_constant {}; #else -template struct _LIBCPP_TYPE_VIS_ONLY has_virtual_destructor +template struct _LIBCPP_TEMPLATE_VIS has_virtual_destructor : public false_type {}; #endif // alignment_of -template struct _LIBCPP_TYPE_VIS_ONLY alignment_of +template struct _LIBCPP_TEMPLATE_VIS alignment_of : public integral_constant {}; // aligned_storage @@ -1094,7 +1094,7 @@ : public integral_constant::value>::value> {}; template ::value> -struct _LIBCPP_TYPE_VIS_ONLY aligned_storage +struct _LIBCPP_TEMPLATE_VIS aligned_storage { typedef typename __find_pod<__all_types, _Align>::type _Aligner; static_assert(!is_void<_Aligner>::value, ""); @@ -1112,7 +1112,7 @@ #define _CREATE_ALIGNED_STORAGE_SPECIALIZATION(n) \ template \ -struct _LIBCPP_TYPE_VIS_ONLY aligned_storage<_Len, n>\ +struct _LIBCPP_TEMPLATE_VIS aligned_storage<_Len, n>\ {\ struct _ALIGNAS(n) type\ {\ @@ -1376,7 +1376,7 @@ #endif template -struct _LIBCPP_TYPE_VIS_ONLY make_signed +struct _LIBCPP_TEMPLATE_VIS make_signed { typedef typename __apply_cv<_Tp, typename __make_signed::type>::type>::type type; }; @@ -1409,7 +1409,7 @@ #endif template -struct _LIBCPP_TYPE_VIS_ONLY make_unsigned +struct _LIBCPP_TEMPLATE_VIS make_unsigned { typedef typename __apply_cv<_Tp, typename __make_unsigned::type>::type>::type type; }; @@ -1421,21 +1421,21 @@ #ifdef _LIBCPP_HAS_NO_VARIADICS template -struct _LIBCPP_TYPE_VIS_ONLY common_type +struct _LIBCPP_TEMPLATE_VIS common_type { public: typedef typename common_type::type, V>::type type; }; template -struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, void, void> +struct _LIBCPP_TEMPLATE_VIS common_type<_Tp, void, void> { public: typedef typename decay<_Tp>::type type; }; template -struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, _Up, void> +struct _LIBCPP_TEMPLATE_VIS common_type<_Tp, _Up, void> { private: #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES @@ -1454,13 +1454,13 @@ template struct common_type; template -struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp> +struct _LIBCPP_TEMPLATE_VIS common_type<_Tp> { typedef typename decay<_Tp>::type type; }; template -struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, _Up> +struct _LIBCPP_TEMPLATE_VIS common_type<_Tp, _Up> { private: static _Tp&& __t(); @@ -1471,7 +1471,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, _Up, _Vp...> +struct _LIBCPP_TEMPLATE_VIS common_type<_Tp, _Up, _Vp...> { typedef typename common_type::type, _Vp...>::type type; }; @@ -1521,13 +1521,13 @@ // is_copy_assignable -template struct _LIBCPP_TYPE_VIS_ONLY is_copy_assignable +template struct _LIBCPP_TEMPLATE_VIS is_copy_assignable : public is_assignable::type, const typename add_lvalue_reference<_Tp>::type> {}; // is_move_assignable -template struct _LIBCPP_TYPE_VIS_ONLY is_move_assignable +template struct _LIBCPP_TEMPLATE_VIS is_move_assignable #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES : public is_assignable::type, const typename add_rvalue_reference<_Tp>::type> {}; @@ -2274,7 +2274,7 @@ // result_of template -class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn()> +class _LIBCPP_TEMPLATE_VIS result_of<_Fn()> : public __result_of<_Fn(), is_class::type>::value || is_function::type>::value, @@ -2284,7 +2284,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn(_A0)> +class _LIBCPP_TEMPLATE_VIS result_of<_Fn(_A0)> : public __result_of<_Fn(_A0), is_class::type>::value || is_function::type>::value, @@ -2294,7 +2294,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn(_A0, _A1)> +class _LIBCPP_TEMPLATE_VIS result_of<_Fn(_A0, _A1)> : public __result_of<_Fn(_A0, _A1), is_class::type>::value || is_function::type>::value, @@ -2304,7 +2304,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY result_of<_Fn(_A0, _A1, _A2)> +class _LIBCPP_TEMPLATE_VIS result_of<_Fn(_A0, _A1, _A2)> : public __result_of<_Fn(_A0, _A1, _A2), is_class::type>::value || is_function::type>::value, @@ -2325,7 +2325,7 @@ #if __has_feature(is_constructible) template -struct _LIBCPP_TYPE_VIS_ONLY is_constructible +struct _LIBCPP_TEMPLATE_VIS is_constructible : public integral_constant {}; @@ -2421,7 +2421,7 @@ // is_constructible entry point template -struct _LIBCPP_TYPE_VIS_ONLY is_constructible +struct _LIBCPP_TEMPLATE_VIS is_constructible : public __is_constructible_void_check<__contains_void<_Tp, _Args...>::value || is_abstract<_Tp>::value, _Tp, _Args...> @@ -2562,7 +2562,7 @@ template -struct _LIBCPP_TYPE_VIS_ONLY is_constructible +struct _LIBCPP_TEMPLATE_VIS is_constructible : public __is_constructible2_void_check::value || is_abstract<_Tp>::value || is_function<_Tp>::value @@ -2572,7 +2572,7 @@ {}; template -struct _LIBCPP_TYPE_VIS_ONLY is_constructible<_Tp, __is_construct::__nat, __is_construct::__nat> +struct _LIBCPP_TEMPLATE_VIS is_constructible<_Tp, __is_construct::__nat, __is_construct::__nat> : public __is_constructible0_void_check::value || is_abstract<_Tp>::value || is_function<_Tp>::value, @@ -2580,7 +2580,7 @@ {}; template -struct _LIBCPP_TYPE_VIS_ONLY is_constructible<_Tp, _A0, __is_construct::__nat> +struct _LIBCPP_TEMPLATE_VIS is_constructible<_Tp, _A0, __is_construct::__nat> : public __is_constructible1_void_check::value || is_abstract<_Tp>::value || is_function<_Tp>::value @@ -2629,21 +2629,21 @@ // is_default_constructible template -struct _LIBCPP_TYPE_VIS_ONLY is_default_constructible +struct _LIBCPP_TEMPLATE_VIS is_default_constructible : public is_constructible<_Tp> {}; // is_copy_constructible template -struct _LIBCPP_TYPE_VIS_ONLY is_copy_constructible +struct _LIBCPP_TEMPLATE_VIS is_copy_constructible : public is_constructible<_Tp, const typename add_lvalue_reference<_Tp>::type> {}; // is_move_constructible template -struct _LIBCPP_TYPE_VIS_ONLY is_move_constructible +struct _LIBCPP_TEMPLATE_VIS is_move_constructible #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES : public is_constructible<_Tp, typename add_rvalue_reference<_Tp>::type> #else @@ -2658,7 +2658,7 @@ #if __has_feature(is_trivially_constructible) template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible : integral_constant { }; @@ -2666,13 +2666,13 @@ #else // !__has_feature(is_trivially_constructible) template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible : false_type { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp> +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp> #if __has_feature(has_trivial_constructor) || (_GNUC_VER >= 403) : integral_constant #else @@ -2683,22 +2683,22 @@ template #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&&> +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp&&> #else -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp> #endif : integral_constant::value> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, const _Tp&> +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, const _Tp&> : integral_constant::value> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&> +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp&> : integral_constant::value> { }; @@ -2709,7 +2709,7 @@ template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible : false_type { }; @@ -2717,28 +2717,28 @@ #if __has_feature(is_trivially_constructible) template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, __is_construct::__nat, +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, __is_construct::__nat, __is_construct::__nat> : integral_constant { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp, +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp, __is_construct::__nat> : integral_constant { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, const _Tp&, +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, const _Tp&, __is_construct::__nat> : integral_constant { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&, +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp&, __is_construct::__nat> : integral_constant { @@ -2747,28 +2747,28 @@ #else // !__has_feature(is_trivially_constructible) template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, __is_construct::__nat, +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, __is_construct::__nat, __is_construct::__nat> : integral_constant::value> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp, +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp, __is_construct::__nat> : integral_constant::value> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, const _Tp&, +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, const _Tp&, __is_construct::__nat> : integral_constant::value> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible<_Tp, _Tp&, +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible<_Tp, _Tp&, __is_construct::__nat> : integral_constant::value> { @@ -2780,19 +2780,19 @@ // is_trivially_default_constructible -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_default_constructible +template struct _LIBCPP_TEMPLATE_VIS is_trivially_default_constructible : public is_trivially_constructible<_Tp> {}; // is_trivially_copy_constructible -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_copy_constructible +template struct _LIBCPP_TEMPLATE_VIS is_trivially_copy_constructible : public is_trivially_constructible<_Tp, typename add_lvalue_reference::type> {}; // is_trivially_move_constructible -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_move_constructible +template struct _LIBCPP_TEMPLATE_VIS is_trivially_move_constructible #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES : public is_trivially_constructible<_Tp, typename add_rvalue_reference<_Tp>::type> #else @@ -2840,14 +2840,14 @@ // is_trivially_copy_assignable -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_copy_assignable +template struct _LIBCPP_TEMPLATE_VIS is_trivially_copy_assignable : public is_trivially_assignable::type, const typename add_lvalue_reference<_Tp>::type> {}; // is_trivially_move_assignable -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_move_assignable +template struct _LIBCPP_TEMPLATE_VIS is_trivially_move_assignable : public is_trivially_assignable::type, #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES typename add_rvalue_reference<_Tp>::type> @@ -2860,7 +2860,7 @@ #if __has_feature(has_trivial_destructor) || (_GNUC_VER >= 403) -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_destructible +template struct _LIBCPP_TEMPLATE_VIS is_trivially_destructible : public integral_constant {}; #else @@ -2869,7 +2869,7 @@ : public integral_constant::value || is_reference<_Tp>::value> {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_destructible +template struct _LIBCPP_TEMPLATE_VIS is_trivially_destructible : public __libcpp_trivial_destructor::type> {}; #endif @@ -2878,7 +2878,7 @@ #if 0 template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible : public integral_constant { }; @@ -2904,13 +2904,13 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible : __libcpp_is_nothrow_constructible::value, _Tp, _Args...> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp[_Ns]> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp[_Ns]> : __libcpp_is_nothrow_constructible::value, _Tp> { }; @@ -2918,13 +2918,13 @@ #else // __has_feature(cxx_noexcept) template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible : false_type { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp> #if __has_feature(has_nothrow_constructor) || (_GNUC_VER >= 403) : integral_constant #else @@ -2935,9 +2935,9 @@ template #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp&&> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp, _Tp&&> #else -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp, _Tp> #endif #if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403) : integral_constant @@ -2948,7 +2948,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, const _Tp&> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp, const _Tp&> #if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403) : integral_constant #else @@ -2958,7 +2958,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp&> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp, _Tp&> #if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403) : integral_constant #else @@ -2973,13 +2973,13 @@ template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible : false_type { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, __is_construct::__nat, +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp, __is_construct::__nat, __is_construct::__nat> #if __has_feature(has_nothrow_constructor) || (_GNUC_VER >= 403) : integral_constant @@ -2990,7 +2990,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp, +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp, _Tp, __is_construct::__nat> #if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403) : integral_constant @@ -3001,7 +3001,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, const _Tp&, +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp, const _Tp&, __is_construct::__nat> #if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403) : integral_constant @@ -3012,7 +3012,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible<_Tp, _Tp&, +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible<_Tp, _Tp&, __is_construct::__nat> #if __has_feature(has_nothrow_copy) || (_GNUC_VER >= 403) : integral_constant @@ -3027,19 +3027,19 @@ // is_nothrow_default_constructible -template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_default_constructible +template struct _LIBCPP_TEMPLATE_VIS is_nothrow_default_constructible : public is_nothrow_constructible<_Tp> {}; // is_nothrow_copy_constructible -template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_copy_constructible +template struct _LIBCPP_TEMPLATE_VIS is_nothrow_copy_constructible : public is_nothrow_constructible<_Tp, const typename add_lvalue_reference<_Tp>::type> {}; // is_nothrow_move_constructible -template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_move_constructible +template struct _LIBCPP_TEMPLATE_VIS is_nothrow_move_constructible #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES : public is_nothrow_constructible<_Tp, typename add_rvalue_reference<_Tp>::type> #else @@ -3066,7 +3066,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable +struct _LIBCPP_TEMPLATE_VIS is_nothrow_assignable : public __libcpp_is_nothrow_assignable::value, _Tp, _Arg> { }; @@ -3074,11 +3074,11 @@ #else // __has_feature(cxx_noexcept) template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable +struct _LIBCPP_TEMPLATE_VIS is_nothrow_assignable : public false_type {}; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable<_Tp&, _Tp> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_assignable<_Tp&, _Tp> #if __has_feature(has_nothrow_assign) || (_GNUC_VER >= 403) : integral_constant {}; #else @@ -3086,7 +3086,7 @@ #endif template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable<_Tp&, _Tp&> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_assignable<_Tp&, _Tp&> #if __has_feature(has_nothrow_assign) || (_GNUC_VER >= 403) : integral_constant {}; #else @@ -3094,7 +3094,7 @@ #endif template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_assignable<_Tp&, const _Tp&> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_assignable<_Tp&, const _Tp&> #if __has_feature(has_nothrow_assign) || (_GNUC_VER >= 403) : integral_constant {}; #else @@ -3117,14 +3117,14 @@ // is_nothrow_copy_assignable -template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_copy_assignable +template struct _LIBCPP_TEMPLATE_VIS is_nothrow_copy_assignable : public is_nothrow_assignable::type, const typename add_lvalue_reference<_Tp>::type> {}; // is_nothrow_move_assignable -template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_move_assignable +template struct _LIBCPP_TEMPLATE_VIS is_nothrow_move_assignable : public is_nothrow_assignable::type, #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES typename add_rvalue_reference<_Tp>::type> @@ -3152,19 +3152,19 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible +struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible : public __libcpp_is_nothrow_destructible::value, _Tp> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible<_Tp[_Ns]> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible<_Tp[_Ns]> : public is_nothrow_destructible<_Tp> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible<_Tp&> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible<_Tp&> : public true_type { }; @@ -3172,7 +3172,7 @@ #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible<_Tp&&> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible<_Tp&&> : public true_type { }; @@ -3185,7 +3185,7 @@ : public integral_constant::value || is_reference<_Tp>::value> {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible +template struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible : public __libcpp_nothrow_destructor::type> {}; #endif @@ -3194,12 +3194,12 @@ #if __has_feature(is_pod) || (_GNUC_VER >= 403) -template struct _LIBCPP_TYPE_VIS_ONLY is_pod +template struct _LIBCPP_TEMPLATE_VIS is_pod : public integral_constant {}; #else -template struct _LIBCPP_TYPE_VIS_ONLY is_pod +template struct _LIBCPP_TEMPLATE_VIS is_pod : public integral_constant::value && is_trivially_copy_constructible<_Tp>::value && is_trivially_copy_assignable<_Tp>::value && @@ -3209,7 +3209,7 @@ // is_literal_type; -template struct _LIBCPP_TYPE_VIS_ONLY is_literal_type +template struct _LIBCPP_TEMPLATE_VIS is_literal_type #ifdef _LIBCPP_IS_LITERAL : public integral_constant #else @@ -3220,7 +3220,7 @@ // is_standard_layout; -template struct _LIBCPP_TYPE_VIS_ONLY is_standard_layout +template struct _LIBCPP_TEMPLATE_VIS is_standard_layout #if __has_feature(is_standard_layout) || (_GNUC_VER >= 407) : public integral_constant #else @@ -3230,7 +3230,7 @@ // is_trivially_copyable; -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_copyable +template struct _LIBCPP_TEMPLATE_VIS is_trivially_copyable #if __has_feature(is_trivially_copyable) : public integral_constant #else @@ -3240,7 +3240,7 @@ // is_trivial; -template struct _LIBCPP_TYPE_VIS_ONLY is_trivial +template struct _LIBCPP_TEMPLATE_VIS is_trivial #if __has_feature(is_trivial) || (_GNUC_VER >= 407) : public integral_constant #else @@ -3507,7 +3507,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY result_of<_Fp(_Args...)> +class _LIBCPP_TEMPLATE_VIS result_of<_Fp(_Args...)> : public __invoke_of<_Fp, _Args...> { }; Index: include/typeindex =================================================================== --- include/typeindex +++ include/typeindex @@ -87,10 +87,10 @@ const char* name() const _NOEXCEPT {return __t_->name();} }; -template struct _LIBCPP_TYPE_VIS_ONLY hash; +template struct _LIBCPP_TEMPLATE_VIS hash; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY Index: include/unordered_map =================================================================== --- include/unordered_map +++ include/unordered_map @@ -593,7 +593,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator +class _LIBCPP_TEMPLATE_VIS __hash_map_iterator { _HashIterator __i_; @@ -641,15 +641,15 @@ bool operator!=(const __hash_map_iterator& __x, const __hash_map_iterator& __y) {return __x.__i_ != __y.__i_;} - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_map; - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_multimap; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS unordered_map; + template friend class _LIBCPP_TEMPLATE_VIS unordered_multimap; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator; }; template -class _LIBCPP_TYPE_VIS_ONLY __hash_map_const_iterator +class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator { _HashIterator __i_; @@ -702,15 +702,15 @@ bool operator!=(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y) {return __x.__i_ != __y.__i_;} - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_map; - template friend class _LIBCPP_TYPE_VIS_ONLY unordered_multimap; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; - template friend class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_iterator; + template friend class _LIBCPP_TEMPLATE_VIS unordered_map; + template friend class _LIBCPP_TEMPLATE_VIS unordered_multimap; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_iterator; + template friend class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator; }; template , class _Pred = equal_to<_Key>, class _Alloc = allocator > > -class _LIBCPP_TYPE_VIS_ONLY unordered_map +class _LIBCPP_TEMPLATE_VIS unordered_map { public: // types @@ -1449,7 +1449,7 @@ template , class _Pred = equal_to<_Key>, class _Alloc = allocator > > -class _LIBCPP_TYPE_VIS_ONLY unordered_multimap +class _LIBCPP_TEMPLATE_VIS unordered_multimap { public: // types Index: include/unordered_set =================================================================== --- include/unordered_set +++ include/unordered_set @@ -335,7 +335,7 @@ template , class _Pred = equal_to<_Value>, class _Alloc = allocator<_Value> > -class _LIBCPP_TYPE_VIS_ONLY unordered_set +class _LIBCPP_TEMPLATE_VIS unordered_set { public: // types @@ -870,7 +870,7 @@ template , class _Pred = equal_to<_Value>, class _Alloc = allocator<_Value> > -class _LIBCPP_TYPE_VIS_ONLY unordered_multiset +class _LIBCPP_TEMPLATE_VIS unordered_multiset { public: // types Index: include/utility =================================================================== --- include/utility +++ include/utility @@ -245,7 +245,7 @@ #endif template -struct _LIBCPP_TYPE_VIS_ONLY pair +struct _LIBCPP_TEMPLATE_VIS pair { typedef _T1 first_type; typedef _T2 second_type; @@ -462,7 +462,7 @@ #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES -template class _LIBCPP_TYPE_VIS_ONLY reference_wrapper; +template class _LIBCPP_TEMPLATE_VIS reference_wrapper; template struct __make_pair_return_impl @@ -504,36 +504,36 @@ #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES template - class _LIBCPP_TYPE_VIS_ONLY tuple_size > + class _LIBCPP_TEMPLATE_VIS tuple_size > : public integral_constant {}; template - class _LIBCPP_TYPE_VIS_ONLY tuple_size > + class _LIBCPP_TEMPLATE_VIS tuple_size > : public integral_constant {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<0, pair<_T1, _T2> > +class _LIBCPP_TEMPLATE_VIS tuple_element<0, pair<_T1, _T2> > { public: typedef _T1 type; }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<1, pair<_T1, _T2> > +class _LIBCPP_TEMPLATE_VIS tuple_element<1, pair<_T1, _T2> > { public: typedef _T2 type; }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<0, const pair<_T1, _T2> > +class _LIBCPP_TEMPLATE_VIS tuple_element<0, const pair<_T1, _T2> > { public: typedef const _T1 type; }; template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<1, const pair<_T1, _T2> > +class _LIBCPP_TEMPLATE_VIS tuple_element<1, const pair<_T1, _T2> > { public: typedef const _T2 type; @@ -669,7 +669,7 @@ #if _LIBCPP_STD_VER > 11 template -struct _LIBCPP_TYPE_VIS_ONLY integer_sequence +struct _LIBCPP_TEMPLATE_VIS integer_sequence { typedef _Tp value_type; static_assert( is_integral<_Tp>::value, Index: include/valarray =================================================================== --- include/valarray +++ include/valarray @@ -355,9 +355,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD -template class _LIBCPP_TYPE_VIS_ONLY valarray; +template class _LIBCPP_TEMPLATE_VIS valarray; -class _LIBCPP_TYPE_VIS_ONLY slice +class _LIBCPP_TEMPLATE_VIS slice { size_t __start_; size_t __size_; @@ -382,11 +382,11 @@ _LIBCPP_INLINE_VISIBILITY size_t stride() const {return __stride_;} }; -template class _LIBCPP_TYPE_VIS_ONLY slice_array; +template class _LIBCPP_TEMPLATE_VIS slice_array; class _LIBCPP_TYPE_VIS gslice; -template class _LIBCPP_TYPE_VIS_ONLY gslice_array; -template class _LIBCPP_TYPE_VIS_ONLY mask_array; -template class _LIBCPP_TYPE_VIS_ONLY indirect_array; +template class _LIBCPP_TEMPLATE_VIS gslice_array; +template class _LIBCPP_TEMPLATE_VIS mask_array; +template class _LIBCPP_TEMPLATE_VIS indirect_array; template _LIBCPP_INLINE_VISIBILITY @@ -672,7 +672,7 @@ _LIBCPP_INLINE_VISIBILITY size_t size() const {return __size_;} - template friend class _LIBCPP_TYPE_VIS_ONLY valarray; + template friend class _LIBCPP_TEMPLATE_VIS valarray; }; template @@ -787,7 +787,7 @@ struct __is_val_expr > : true_type {}; template -class _LIBCPP_TYPE_VIS_ONLY valarray +class _LIBCPP_TEMPLATE_VIS valarray { public: typedef _Tp value_type; @@ -977,12 +977,12 @@ void resize(size_t __n, value_type __x = value_type()); private: - template friend class _LIBCPP_TYPE_VIS_ONLY valarray; - template friend class _LIBCPP_TYPE_VIS_ONLY slice_array; - template friend class _LIBCPP_TYPE_VIS_ONLY gslice_array; - template friend class _LIBCPP_TYPE_VIS_ONLY mask_array; + template friend class _LIBCPP_TEMPLATE_VIS valarray; + template friend class _LIBCPP_TEMPLATE_VIS slice_array; + template friend class _LIBCPP_TEMPLATE_VIS gslice_array; + template friend class _LIBCPP_TEMPLATE_VIS mask_array; template friend class __mask_expr; - template friend class _LIBCPP_TYPE_VIS_ONLY indirect_array; + template friend class _LIBCPP_TEMPLATE_VIS indirect_array; template friend class __indirect_expr; template friend class __val_expr; @@ -1096,7 +1096,7 @@ // slice_array template -class _LIBCPP_TYPE_VIS_ONLY slice_array +class _LIBCPP_TEMPLATE_VIS slice_array { public: typedef _Tp value_type; @@ -1467,7 +1467,7 @@ // gslice_array template -class _LIBCPP_TYPE_VIS_ONLY gslice_array +class _LIBCPP_TEMPLATE_VIS gslice_array { public: typedef _Tp value_type; @@ -1796,7 +1796,7 @@ // mask_array template -class _LIBCPP_TYPE_VIS_ONLY mask_array +class _LIBCPP_TEMPLATE_VIS mask_array { public: typedef _Tp value_type; @@ -2141,7 +2141,7 @@ // indirect_array template -class _LIBCPP_TYPE_VIS_ONLY indirect_array +class _LIBCPP_TEMPLATE_VIS indirect_array { public: typedef _Tp value_type; @@ -2492,7 +2492,7 @@ _LIBCPP_INLINE_VISIBILITY size_t size() const {return __1d_.size();} - template friend class _LIBCPP_TYPE_VIS_ONLY valarray; + template friend class _LIBCPP_TEMPLATE_VIS valarray; }; template Index: include/vector =================================================================== --- include/vector +++ include/vector @@ -474,7 +474,7 @@ } template > -class _LIBCPP_TYPE_VIS_ONLY vector +class _LIBCPP_TEMPLATE_VIS vector : private __vector_base<_Tp, _Allocator> { private: @@ -2089,7 +2089,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY vector +class _LIBCPP_TEMPLATE_VIS vector : private __vector_base_common { public: @@ -2440,7 +2440,7 @@ friend class __bit_iterator; friend class __bit_iterator; friend struct __bit_array; - friend struct _LIBCPP_TYPE_VIS_ONLY hash; + friend struct _LIBCPP_TEMPLATE_VIS hash; }; template @@ -3226,7 +3226,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > : public unary_function, size_t> { _LIBCPP_INLINE_VISIBILITY