Index: docs/DesignDocs/VisibilityMacros.rst =================================================================== --- docs/DesignDocs/VisibilityMacros.rst +++ docs/DesignDocs/VisibilityMacros.rst @@ -49,13 +49,13 @@ attribute. With GCC the `visibility(...)` attribute is used and member functions are affected. -**_LIBCPP_TYPE_VIS_ONLY** - The same as `_LIBCPP_TYPE_VIS` except that it may be applied to templates. +**_LIBCPP_TEMPLATE_ONLY** + The same as `_LIBCPP_TYPE_VIS` except that it may be applied to class + templates. **Windows Behavior**: DLLs do not support dllimport/export on class templates. The macro has an empty definition on this platform. - Note: This macro should be renamed `_LIBCPP_TEMPLATE_TYPE_VIS`. **_LIBCPP_ENUM_VIS** Mark the typeinfo of an enum as having default visibility. This attribute @@ -74,14 +74,15 @@ a `_LIBCPP_EXTERN_TEMPLATE` declaration as being exported by the libc++ library. This attribute must be specified on all extern class template declarations. - This macro is used to override the `_LIBCPP_TYPE_VIS_ONLY` attribute + This macro is used to override the `_LIBCPP_TEMPLATE_VIS` attribute specified on the primary template and to export the member functions produced by the explicit instantiation in the dylib. **GCC Behavior**: GCC ignores visibility attributes applied the type in extern template declarations and applying an attribute results in a warning. - However since `_LIBCPP_TYPE_VIS_ONLY` is the same as `_LIBCPP_TYPE_VIS` the - visibility is already correct. The macro has an empty definition with GCC. + However since `_LIBCPP_TEMPLATE_VIS` is the same as + `__attribute__((visibility("default"))` the visibility is already correct. + The macro has an empty definition with GCC. **Windows Behavior**: `extern template` and `dllexport` are fundamentally incompatible *on a template class* on Windows; the former suppresses Index: include/__config =================================================================== --- include/__config +++ include/__config @@ -557,7 +557,7 @@ #define _LIBCPP_FUNC_VIS _LIBCPP_DLL_VIS #define _LIBCPP_EXCEPTION_ABI _LIBCPP_DLL_VIS #define _LIBCPP_HIDDEN -#define _LIBCPP_TYPE_VIS_ONLY +#define _LIBCPP_TEMPLATE_VIS #define _LIBCPP_FUNC_VIS_ONLY #define _LIBCPP_ENUM_VIS @@ -600,8 +600,8 @@ # endif #endif -#ifndef _LIBCPP_TYPE_VIS_ONLY -# define _LIBCPP_TYPE_VIS_ONLY _LIBCPP_TYPE_VIS +#ifndef _LIBCPP_TEMPLATE_VIS +# define _LIBCPP_TEMPLATE_VIS _LIBCPP_TYPE_VIS #endif #ifndef _LIBCPP_FUNC_VIS_ONLY Index: include/__debug =================================================================== --- include/__debug +++ include/__debug @@ -56,7 +56,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -struct _LIBCPP_TYPE_VIS_ONLY __libcpp_debug_info { +struct _LIBCPP_TEMPLATE_VIS __libcpp_debug_info { _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR __libcpp_debug_info() : __file_(nullptr), __line_(-1), __pred_(nullptr), __msg_(nullptr) {} Index: include/__functional_03 =================================================================== --- include/__functional_03 +++ include/__functional_03 @@ -445,7 +445,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_; @@ -720,7 +720,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; @@ -996,7 +996,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; @@ -1272,7 +1272,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_; Index: include/__functional_base =================================================================== --- include/__functional_base +++ include/__functional_base @@ -24,14 +24,14 @@ _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; @@ -54,7 +54,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 @@ -63,7 +63,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 @@ -382,7 +382,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY reference_wrapper +class _LIBCPP_TEMPLATE_VIS reference_wrapper : public __weak_result_type<_Tp> { public: @@ -585,7 +585,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; @@ -620,7 +620,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator +struct _LIBCPP_TEMPLATE_VIS uses_allocator : public __uses_allocator<_Tp, _Alloc> { }; Index: include/__hash_table =================================================================== --- include/__hash_table +++ include/__hash_table @@ -133,12 +133,12 @@ template class __hash_table; -template class _LIBCPP_TYPE_VIS_ONLY __hash_iterator; -template class _LIBCPP_TYPE_VIS_ONLY __hash_const_iterator; -template class _LIBCPP_TYPE_VIS_ONLY __hash_local_iterator; -template class _LIBCPP_TYPE_VIS_ONLY __hash_const_local_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_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_const_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_local_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_const_local_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_map_iterator; +template class _LIBCPP_TEMPLATE_VIS __hash_map_const_iterator; template struct __hash_key_value_types { @@ -285,7 +285,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __hash_iterator +class _LIBCPP_TEMPLATE_VIS __hash_iterator { typedef __hash_node_types<_NodePtr> _NodeTypes; typedef _NodePtr __node_pointer; @@ -384,14 +384,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 { static_assert(!is_const::element_type>::value, ""); typedef __hash_node_types<_NodePtr> _NodeTypes; @@ -500,13 +500,13 @@ {} #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_local_iterator +class _LIBCPP_TEMPLATE_VIS __hash_local_iterator { typedef __hash_node_types<_NodePtr> _NodeTypes; typedef _NodePtr __node_pointer; @@ -624,12 +624,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 __hash_node_types<_ConstNodePtr> _NodeTypes; typedef _ConstNodePtr __node_pointer; @@ -765,7 +765,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 @@ -1324,8 +1324,8 @@ void __deallocate(__next_pointer __np) _NOEXCEPT; __next_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 @@ -190,7 +190,7 @@ // template class collate; template -class _LIBCPP_TYPE_VIS_ONLY collate +class _LIBCPP_TEMPLATE_VIS collate : public locale::facet { public: @@ -274,7 +274,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 @@ -425,7 +425,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 @@ -652,7 +652,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 @@ -813,7 +813,7 @@ // template class codecvt; -template class _LIBCPP_TYPE_VIS_ONLY codecvt; +template class _LIBCPP_TEMPLATE_VIS codecvt; // template <> class codecvt @@ -1159,7 +1159,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: @@ -1367,7 +1367,7 @@ // template class numpunct -template class _LIBCPP_TYPE_VIS_ONLY numpunct; +template class _LIBCPP_TEMPLATE_VIS numpunct; template <> class _LIBCPP_TYPE_VIS numpunct @@ -1433,7 +1433,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 @@ -85,11 +85,11 @@ // the mangling consistent between dialects. #if defined(_LIBCPP_ABI_VARIADIC_LOCK_GUARD) template -class _LIBCPP_TYPE_VIS_ONLY lock_guard; +class _LIBCPP_TEMPLATE_VIS lock_guard; #endif template -class _LIBCPP_TYPE_VIS_ONLY _LIBCPP_THREAD_SAFETY_ANNOTATION(scoped_lockable) +class _LIBCPP_TEMPLATE_VIS _LIBCPP_THREAD_SAFETY_ANNOTATION(scoped_lockable) #if !defined(_LIBCPP_ABI_VARIADIC_LOCK_GUARD) lock_guard #else @@ -118,7 +118,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY unique_lock +class _LIBCPP_TEMPLATE_VIS unique_lock { public: typedef _Mutex mutex_type; Index: include/__nullptr =================================================================== --- include/__nullptr +++ include/__nullptr @@ -21,7 +21,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -struct _LIBCPP_TYPE_VIS_ONLY nullptr_t +struct _LIBCPP_TEMPLATE_VIS nullptr_t { void* __lx; Index: include/__string =================================================================== --- include/__string +++ include/__string @@ -69,7 +69,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; @@ -192,7 +192,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; @@ -237,7 +237,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; @@ -283,7 +283,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; @@ -402,7 +402,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; Index: include/__tree =================================================================== --- include/__tree +++ include/__tree @@ -25,9 +25,9 @@ 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 __tree_end_node; template class __tree_node_base; @@ -42,8 +42,8 @@ #endif template class __map_node_destructor; -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; /* @@ -797,7 +797,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY __tree_iterator +class _LIBCPP_TEMPLATE_VIS __tree_iterator { typedef __tree_node_types<_NodePtr> _NodeTypes; typedef _NodePtr __node_pointer; @@ -861,16 +861,16 @@ _LIBCPP_INLINE_VISIBILITY __node_pointer __get_np() const { return static_cast<__node_pointer>(__ptr_); } 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 __tree_node_types<_NodePtr> _NodeTypes; typedef typename _NodeTypes::__node_pointer __node_pointer; @@ -947,11 +947,11 @@ __node_pointer __get_np() const { return static_cast<__node_pointer>(__ptr_); } 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; }; @@ -1453,8 +1453,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 @@ -22,56 +22,56 @@ _LIBCPP_BEGIN_NAMESPACE_STD -template class _LIBCPP_TYPE_VIS_ONLY tuple_size; +template class _LIBCPP_TEMPLATE_VIS tuple_size; #if !defined(_LIBCPP_CXX03_LANG) template using __enable_if_tuple_size_imp = _Tp; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size<__enable_if_tuple_size_imp< +class _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp< const _Tp, typename enable_if::value>::type, integral_constant)>>> : public integral_constant::value> {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size<__enable_if_tuple_size_imp< +class _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp< volatile _Tp, typename enable_if::value>::type, integral_constant)>>> : public integral_constant::value> {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size<__enable_if_tuple_size_imp< +class _LIBCPP_TEMPLATE_VIS tuple_size<__enable_if_tuple_size_imp< const volatile _Tp, integral_constant)>>> : public integral_constant::value> {}; #else -template class _LIBCPP_TYPE_VIS_ONLY tuple_size : public tuple_size<_Tp> {}; -template class _LIBCPP_TYPE_VIS_ONLY tuple_size : public tuple_size<_Tp> {}; -template class _LIBCPP_TYPE_VIS_ONLY tuple_size : public tuple_size<_Tp> {}; +template class _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; +template class _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; +template class _LIBCPP_TEMPLATE_VIS tuple_size : public tuple_size<_Tp> {}; #endif -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; @@ -160,12 +160,12 @@ }; -template class _LIBCPP_TYPE_VIS_ONLY tuple; +template class _LIBCPP_TEMPLATE_VIS tuple; template struct __tuple_like > : true_type {}; template -class _LIBCPP_TYPE_VIS_ONLY tuple_size > +class _LIBCPP_TEMPLATE_VIS tuple_size > : public integral_constant { }; @@ -219,7 +219,7 @@ // array specializations -template struct _LIBCPP_TYPE_VIS_ONLY array; +template struct _LIBCPP_TEMPLATE_VIS array; template struct __tuple_like > : true_type {}; @@ -282,7 +282,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY tuple_element<_Ip, __tuple_types<_Types...>> +class _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, __tuple_types<_Types...>> { public: static_assert(_Ip < sizeof...(_Types), "tuple_element index out of range"); @@ -291,7 +291,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY tuple_size<__tuple_types<_Tp...> > +class _LIBCPP_TEMPLATE_VIS tuple_size<__tuple_types<_Tp...> > : public integral_constant { }; @@ -457,7 +457,7 @@ 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; Index: include/any =================================================================== --- include/any +++ include/any @@ -113,7 +113,7 @@ } // Forward declarations -class _LIBCPP_TYPE_VIS_ONLY any; +class _LIBCPP_TEMPLATE_VIS any; template _LIBCPP_INLINE_VISIBILITY @@ -148,7 +148,7 @@ template struct _LargeHandler; template - struct _LIBCPP_TYPE_VIS_ONLY __unique_typeinfo { static constexpr int __id = 0; }; + struct _LIBCPP_TEMPLATE_VIS __unique_typeinfo { static constexpr int __id = 0; }; template constexpr int __unique_typeinfo<_Tp>::__id; template @@ -176,7 +176,7 @@ } // namespace __any_imp -class _LIBCPP_TYPE_VIS_ONLY any +class _LIBCPP_TEMPLATE_VIS any { public: // construct/destruct @@ -338,7 +338,7 @@ namespace __any_imp { template - struct _LIBCPP_TYPE_VIS_ONLY _SmallHandler + struct _LIBCPP_TEMPLATE_VIS _SmallHandler { _LIBCPP_INLINE_VISIBILITY static void* __handle(_Action __act, any const * __this, any * __other, @@ -412,7 +412,7 @@ }; template - struct _LIBCPP_TYPE_VIS_ONLY _LargeHandler + struct _LIBCPP_TEMPLATE_VIS _LargeHandler { _LIBCPP_INLINE_VISIBILITY static void* __handle(_Action __act, any const * __this, Index: include/array =================================================================== --- include/array +++ include/array @@ -116,7 +116,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -struct _LIBCPP_TYPE_VIS_ONLY array +struct _LIBCPP_TEMPLATE_VIS array { // types: typedef array __self; @@ -284,11 +284,11 @@ } 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; Index: include/bitset =================================================================== --- include/bitset +++ include/bitset @@ -646,11 +646,11 @@ { } -template class _LIBCPP_TYPE_VIS_ONLY bitset; +template class _LIBCPP_TEMPLATE_VIS bitset; template struct 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: @@ -1072,7 +1072,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 @@ -316,7 +316,7 @@ namespace chrono { -template > class _LIBCPP_TYPE_VIS_ONLY duration; +template > class _LIBCPP_TEMPLATE_VIS duration; template struct __is_duration : false_type {}; @@ -336,7 +336,7 @@ } // chrono template -struct _LIBCPP_TYPE_VIS_ONLY common_type, +struct _LIBCPP_TEMPLATE_VIS common_type, chrono::duration<_Rep2, _Period2> > { typedef chrono::duration::type, @@ -414,7 +414,7 @@ } 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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) template _LIBCPP_CONSTEXPR bool treat_as_floating_point_v @@ -422,7 +422,7 @@ #endif 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);} @@ -485,7 +485,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"); @@ -828,7 +828,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"); @@ -872,7 +872,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 @@ -252,13 +252,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; @@ -316,11 +316,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_; @@ -378,7 +378,7 @@ }; template<> -class _LIBCPP_TYPE_VIS_ONLY complex +class _LIBCPP_TEMPLATE_VIS complex { double __re_; double __im_; @@ -436,7 +436,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 @@ -167,11 +167,11 @@ _LIBCPP_BEGIN_NAMESPACE_STD template class __deque_base; -template > class _LIBCPP_TYPE_VIS_ONLY deque; +template > class _LIBCPP_TEMPLATE_VIS deque; template -class _LIBCPP_TYPE_VIS_ONLY __deque_iterator; +class _LIBCPP_TEMPLATE_VIS __deque_iterator; template @@ -276,7 +276,7 @@ __deque_block_size<_ValueType, _DiffType>::value #endif > -class _LIBCPP_TYPE_VIS_ONLY __deque_iterator +class _LIBCPP_TEMPLATE_VIS __deque_iterator { typedef _MapPointer __map_iterator; public: @@ -428,9 +428,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 @@ -1183,7 +1183,7 @@ } template */> -class _LIBCPP_TYPE_VIS_ONLY deque +class _LIBCPP_TEMPLATE_VIS deque : private __deque_base<_Tp, _Allocator> { public: Index: include/experimental/any =================================================================== --- include/experimental/any +++ include/experimental/any @@ -292,7 +292,7 @@ { template - struct _LIBCPP_TYPE_VIS_ONLY _SmallHandler + struct _LIBCPP_TEMPLATE_VIS _SmallHandler { _LIBCPP_INLINE_VISIBILITY static void* __handle(_Action __act, any const * __this, any * __other, @@ -373,7 +373,7 @@ }; template - struct _LIBCPP_TYPE_VIS_ONLY _LargeHandler + struct _LIBCPP_TEMPLATE_VIS _LargeHandler { _LIBCPP_INLINE_VISIBILITY static void* __handle(_Action __act, any const * __this, any * __other, Index: include/experimental/dynarray =================================================================== --- include/experimental/dynarray +++ include/experimental/dynarray @@ -113,7 +113,7 @@ namespace std { namespace experimental { inline namespace __array_extensions_v1 { template -struct _LIBCPP_TYPE_VIS_ONLY dynarray +struct _LIBCPP_TEMPLATE_VIS dynarray { public: // types: @@ -295,7 +295,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/memory_resource =================================================================== --- include/experimental/memory_resource +++ include/experimental/memory_resource @@ -93,7 +93,7 @@ } // 8.5, memory.resource -class _LIBCPP_TYPE_VIS_ONLY memory_resource +class _LIBCPP_TEMPLATE_VIS memory_resource { static const size_t __max_align = alignof(max_align_t); @@ -151,7 +151,7 @@ // 8.6.1, memory.polymorphic.allocator.overview template -class _LIBCPP_TYPE_VIS_ONLY polymorphic_allocator +class _LIBCPP_TEMPLATE_VIS polymorphic_allocator { public: typedef _ValueType value_type; @@ -334,7 +334,7 @@ // 8.7.1, memory.resource.adaptor.overview template -class _LIBCPP_TYPE_VIS_ONLY __resource_adaptor_imp +class _LIBCPP_TEMPLATE_VIS __resource_adaptor_imp : public memory_resource { using _CTraits = allocator_traits<_CharAlloc>; Index: include/experimental/optional =================================================================== --- include/experimental/optional +++ include/experimental/optional @@ -894,7 +894,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 @@ -192,7 +192,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; @@ -788,7 +788,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/type_traits =================================================================== --- include/experimental/type_traits +++ include/experimental/type_traits @@ -441,16 +441,16 @@ // 3.3.2, Other type transformations /* template -class _LIBCPP_TYPE_VIS_ONLY raw_invocation_type; +class _LIBCPP_TEMPLATE_VIS raw_invocation_type; template -class _LIBCPP_TYPE_VIS_ONLY raw_invocation_type<_Fn(_Args...)>; +class _LIBCPP_TEMPLATE_VIS raw_invocation_type<_Fn(_Args...)>; template -class _LIBCPP_TYPE_VIS_ONLY invokation_type; +class _LIBCPP_TEMPLATE_VIS invokation_type; template -class _LIBCPP_TYPE_VIS_ONLY invokation_type<_Fn(_Args...)>; +class _LIBCPP_TEMPLATE_VIS invokation_type<_Fn(_Args...)>; template using invokation_type_t = typename invokation_type<_Tp>::type; Index: include/experimental/utility =================================================================== --- include/experimental/utility +++ include/experimental/utility @@ -40,7 +40,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 @@ -364,7 +364,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator +class _LIBCPP_TEMPLATE_VIS __hash_map_iterator { _HashIterator __i_; @@ -401,15 +401,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_; @@ -454,15 +454,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 @@ -736,7 +736,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 @@ -434,7 +434,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 @@ -266,11 +266,11 @@ }; -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 __forward_node_traits<_NodePtr> __traits; typedef typename __traits::__node_pointer __node_pointer; @@ -302,8 +302,8 @@ explicit __forward_list_iterator(__node_pointer __p) _NOEXCEPT : __ptr_(__traits::__as_iter_node(__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; @@ -348,7 +348,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __forward_list_const_iterator +class _LIBCPP_TEMPLATE_VIS __forward_list_const_iterator { static_assert((!is_const::element_type>::value), ""); typedef _NodeConstPtr _NodePtr; @@ -604,7 +604,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: @@ -999,7 +999,7 @@ // basic_ifstream template -class _LIBCPP_TYPE_VIS_ONLY basic_ifstream +class _LIBCPP_TEMPLATE_VIS basic_ifstream : public basic_istream<_CharT, _Traits> { public: @@ -1161,7 +1161,7 @@ // basic_ofstream template -class _LIBCPP_TYPE_VIS_ONLY basic_ofstream +class _LIBCPP_TEMPLATE_VIS basic_ofstream : public basic_ostream<_CharT, _Traits> { public: @@ -1321,7 +1321,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 @@ -499,7 +499,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 @@ -508,7 +508,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 @@ -526,7 +526,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 @@ -535,7 +535,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 @@ -553,7 +553,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 @@ -562,7 +562,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 @@ -580,7 +580,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 @@ -589,7 +589,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 @@ -607,7 +607,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 @@ -616,7 +616,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 @@ -634,7 +634,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 @@ -643,7 +643,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 @@ -661,7 +661,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 @@ -670,7 +670,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 @@ -688,7 +688,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 @@ -697,7 +697,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 @@ -715,7 +715,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 @@ -724,7 +724,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 @@ -744,7 +744,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 @@ -753,7 +753,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 @@ -771,7 +771,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 @@ -780,7 +780,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 @@ -798,7 +798,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 @@ -807,7 +807,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 @@ -825,7 +825,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 @@ -834,7 +834,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 @@ -852,7 +852,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 @@ -861,7 +861,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 @@ -879,7 +879,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 @@ -888,7 +888,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 @@ -906,7 +906,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 @@ -915,7 +915,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 @@ -933,7 +933,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 @@ -942,7 +942,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 @@ -957,7 +957,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 @@ -965,7 +965,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY bit_not +struct _LIBCPP_TEMPLATE_VIS bit_not { template _LIBCPP_CONSTEXPR_AFTER_CXX11 _LIBCPP_INLINE_VISIBILITY @@ -978,7 +978,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY unary_negate +class _LIBCPP_TEMPLATE_VIS unary_negate : public unary_function { _Predicate __pred_; @@ -997,7 +997,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 @@ -1019,7 +1019,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 { @@ -1045,7 +1045,7 @@ {return binder1st<__Operation>(__op, __x);} template -class _LIBCPP_TYPE_VIS_ONLY binder2nd +class _LIBCPP_TEMPLATE_VIS binder2nd : public unary_function { @@ -1071,7 +1071,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); @@ -1089,7 +1089,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); @@ -1107,7 +1107,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: @@ -1118,7 +1118,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: @@ -1141,7 +1141,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: @@ -1152,7 +1152,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: @@ -1175,7 +1175,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: @@ -1186,7 +1186,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: @@ -1209,7 +1209,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: @@ -1220,7 +1220,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; @@ -1399,7 +1399,7 @@ #endif } -template class _LIBCPP_TYPE_VIS_ONLY function; // undefined +template class _LIBCPP_TEMPLATE_VIS function; // undefined namespace __function { @@ -1575,7 +1575,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...)> { @@ -1984,7 +1984,7 @@ //============================================================================== 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> {}; #if _LIBCPP_STD_VER > 14 @@ -1993,7 +1993,7 @@ #endif 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> {}; #if _LIBCPP_STD_VER > 14 @@ -2340,7 +2340,7 @@ #endif // _LIBCPP_HAS_NO_VARIADICS template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2348,7 +2348,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2356,7 +2356,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2364,7 +2364,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2374,7 +2374,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 @@ -2382,7 +2382,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2392,7 +2392,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 @@ -2400,7 +2400,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2408,7 +2408,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2416,7 +2416,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2424,7 +2424,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2432,7 +2432,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2440,7 +2440,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -2448,13 +2448,13 @@ }; 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 { }; @@ -2462,13 +2462,13 @@ #ifndef _LIBCPP_HAS_NO_INT128 template <> -struct _LIBCPP_TYPE_VIS_ONLY hash<__int128_t> +struct _LIBCPP_TEMPLATE_VIS hash<__int128_t> : public __scalar_hash<__int128_t> { }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash<__uint128_t> +struct _LIBCPP_TEMPLATE_VIS hash<__uint128_t> : public __scalar_hash<__uint128_t> { }; @@ -2476,7 +2476,7 @@ #endif template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public __scalar_hash { _LIBCPP_INLINE_VISIBILITY @@ -2490,7 +2490,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public __scalar_hash { _LIBCPP_INLINE_VISIBILITY @@ -2504,7 +2504,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public __scalar_hash { _LIBCPP_INLINE_VISIBILITY @@ -2556,7 +2556,7 @@ #if _LIBCPP_STD_VER > 11 template ::value> -struct _LIBCPP_TYPE_VIS_ONLY __enum_hash +struct _LIBCPP_TEMPLATE_VIS __enum_hash : public unary_function<_Tp, size_t> { _LIBCPP_INLINE_VISIBILITY @@ -2567,14 +2567,14 @@ } }; template -struct _LIBCPP_TYPE_VIS_ONLY __enum_hash<_Tp, false> { +struct _LIBCPP_TEMPLATE_VIS __enum_hash<_Tp, false> { __enum_hash() = delete; __enum_hash(__enum_hash const&) = delete; __enum_hash& operator=(__enum_hash const&) = delete; }; template -struct _LIBCPP_TYPE_VIS_ONLY hash : public __enum_hash<_Tp> +struct _LIBCPP_TEMPLATE_VIS hash : public __enum_hash<_Tp> { }; #endif @@ -2593,7 +2593,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY __not_fn_imp { +class _LIBCPP_TEMPLATE_VIS __not_fn_imp { _DecayFunc __fd; public: Index: include/future =================================================================== --- include/future +++ include/future @@ -391,11 +391,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 @@ -1051,12 +1051,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> @@ -1075,7 +1075,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY future +class _LIBCPP_TEMPLATE_VIS future { __assoc_state<_Rp>* __state_; @@ -1178,7 +1178,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY future<_Rp&> +class _LIBCPP_TEMPLATE_VIS future<_Rp&> { __assoc_state<_Rp&>* __state_; @@ -1359,7 +1359,7 @@ template class packaged_task; template -class _LIBCPP_TYPE_VIS_ONLY promise +class _LIBCPP_TEMPLATE_VIS promise { __assoc_state<_Rp>* __state_; @@ -1526,7 +1526,7 @@ // promise template -class _LIBCPP_TYPE_VIS_ONLY promise<_Rp&> +class _LIBCPP_TEMPLATE_VIS promise<_Rp&> { __assoc_state<_Rp&>* __state_; @@ -1737,7 +1737,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 @@ -1998,7 +1998,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY packaged_task<_Rp(_ArgTypes...)> +class _LIBCPP_TEMPLATE_VIS packaged_task<_Rp(_ArgTypes...)> { public: typedef _Rp result_type; // extension @@ -2127,7 +2127,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY packaged_task +class _LIBCPP_TEMPLATE_VIS packaged_task { public: typedef void result_type; // extension @@ -2266,7 +2266,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> +struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : public true_type {}; template @@ -2367,7 +2367,7 @@ // shared_future template -class _LIBCPP_TYPE_VIS_ONLY shared_future +class _LIBCPP_TEMPLATE_VIS shared_future { __assoc_state<_Rp>* __state_; @@ -2441,7 +2441,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 @@ -393,11 +393,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 @@ -573,7 +573,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 @@ -190,14 +190,14 @@ 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; // Include other forward declarations here template > -class _LIBCPP_TYPE_VIS_ONLY vector; +class _LIBCPP_TEMPLATE_VIS vector; _LIBCPP_END_NAMESPACE_STD Index: include/istream =================================================================== --- include/istream +++ include/istream @@ -171,7 +171,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_; @@ -217,7 +217,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: inline _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY @@ -294,7 +294,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY basic_istream<_CharT, _Traits>::sentry +class _LIBCPP_TEMPLATE_VIS basic_istream<_CharT, _Traits>::sentry { bool __ok_; @@ -1443,7 +1443,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 @@ -431,11 +431,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 @@ -478,11 +478,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; @@ -519,7 +519,7 @@ template -struct _LIBCPP_TYPE_VIS_ONLY iterator +struct _LIBCPP_TEMPLATE_VIS iterator { typedef _Tp value_type; typedef _Distance difference_type; @@ -616,7 +616,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, @@ -755,7 +755,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: @@ -896,7 +896,7 @@ }; template > -class _LIBCPP_TYPE_VIS_ONLY ostream_iterator +class _LIBCPP_TEMPLATE_VIS ostream_iterator : public iterator { public: @@ -925,7 +925,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY istreambuf_iterator +class _LIBCPP_TEMPLATE_VIS istreambuf_iterator : public iterator @@ -996,7 +996,7 @@ {return !__a.equal(__b);} template -class _LIBCPP_TYPE_VIS_ONLY ostreambuf_iterator +class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator : public iterator { public: @@ -1037,7 +1037,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY move_iterator +class _LIBCPP_TEMPLATE_VIS move_iterator { private: _Iter __i; @@ -1383,7 +1383,7 @@ template friend class __wrap_iter; template friend class basic_string; - template friend class _LIBCPP_TYPE_VIS_ONLY vector; + template friend class _LIBCPP_TEMPLATE_VIS vector; template friend Index: include/limits =================================================================== --- include/limits +++ include/limits @@ -438,7 +438,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; @@ -531,7 +531,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; @@ -624,7 +624,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; @@ -717,7 +717,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 @@ -266,12 +266,12 @@ } }; -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 __list_node_pointer_traits<_Tp, _VoidPtr> _NodeTraits; typedef typename _NodeTraits::__link_pointer __link_pointer; @@ -394,7 +394,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __list_const_iterator +class _LIBCPP_TEMPLATE_VIS __list_const_iterator { typedef __list_node_pointer_traits<_Tp, _VoidPtr> _NodeTraits; typedef typename _NodeTraits::__link_pointer __link_pointer; @@ -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 @@ -527,7 +527,7 @@ _LIBCPP_EXTERN_TEMPLATE2(struct _LIBCPP_EXTERN_TEMPLATE_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> { @@ -1197,7 +1197,7 @@ _LIBCPP_EXTERN_TEMPLATE2(struct _LIBCPP_EXTERN_TEMPLATE_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> { @@ -1665,7 +1665,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; @@ -1683,7 +1683,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> @@ -2306,7 +2306,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __time_get_storage +class _LIBCPP_TEMPLATE_VIS __time_get_storage : public __time_get { protected: @@ -2333,7 +2333,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> { @@ -2393,7 +2393,7 @@ }; template > -class _LIBCPP_TYPE_VIS_ONLY time_put +class _LIBCPP_TEMPLATE_VIS time_put : public locale::facet, private __time_put { @@ -2492,7 +2492,7 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_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: @@ -2526,7 +2526,7 @@ // moneypunct template -class _LIBCPP_TYPE_VIS_ONLY moneypunct +class _LIBCPP_TEMPLATE_VIS moneypunct : public locale::facet, public money_base { @@ -2584,7 +2584,7 @@ // moneypunct_byname template -class _LIBCPP_TYPE_VIS_ONLY moneypunct_byname +class _LIBCPP_TEMPLATE_VIS moneypunct_byname : public moneypunct<_CharT, _International> { public: @@ -2696,7 +2696,7 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_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> { @@ -3254,7 +3254,7 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_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> { @@ -3417,7 +3417,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY messages +class _LIBCPP_TEMPLATE_VIS messages : public locale::facet, public messages_base { @@ -3517,7 +3517,7 @@ _LIBCPP_EXTERN_TEMPLATE2(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages) template -class _LIBCPP_TYPE_VIS_ONLY messages_byname +class _LIBCPP_TEMPLATE_VIS messages_byname : public messages<_CharT> { public: @@ -3543,7 +3543,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; @@ -3799,7 +3799,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 @@ -682,7 +682,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __map_iterator +class _LIBCPP_TEMPLATE_VIS __map_iterator { typedef typename _TreeIterator::_NodeTypes _NodeTypes; typedef typename _TreeIterator::__pointer_traits __pointer_traits; @@ -735,13 +735,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 { typedef typename _TreeIterator::_NodeTypes _NodeTypes; typedef typename _TreeIterator::__pointer_traits __pointer_traits; @@ -797,14 +797,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: @@ -820,7 +820,7 @@ static_assert((is_same::value), "Allocator::value_type must be same type as value_type"); - class _LIBCPP_TYPE_VIS_ONLY value_compare + class _LIBCPP_TEMPLATE_VIS value_compare : public binary_function { friend class map; @@ -1529,7 +1529,7 @@ template , class _Allocator = allocator > > -class _LIBCPP_TYPE_VIS_ONLY multimap +class _LIBCPP_TEMPLATE_VIS multimap { public: // types: @@ -1545,7 +1545,7 @@ static_assert((is_same::value), "Allocator::value_type must be same type as value_type"); - 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 @@ -681,7 +681,7 @@ template class allocator; template <> -class _LIBCPP_TYPE_VIS_ONLY allocator +class _LIBCPP_TEMPLATE_VIS allocator { public: typedef void* pointer; @@ -692,7 +692,7 @@ }; template <> -class _LIBCPP_TYPE_VIS_ONLY allocator +class _LIBCPP_TEMPLATE_VIS allocator { public: typedef const void* pointer; @@ -927,7 +927,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; @@ -950,7 +950,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY pointer_traits<_Tp*> +struct _LIBCPP_TEMPLATE_VIS pointer_traits<_Tp*> { typedef _Tp* pointer; typedef _Tp element_type; @@ -1489,7 +1489,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; @@ -1742,7 +1742,7 @@ // allocator template -class _LIBCPP_TYPE_VIS_ONLY allocator +class _LIBCPP_TEMPLATE_VIS allocator { public: typedef size_t size_type; @@ -1840,7 +1840,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY allocator +class _LIBCPP_TEMPLATE_VIS allocator { public: typedef size_t size_type; @@ -1944,7 +1944,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_; @@ -2048,7 +2048,7 @@ }; template <> -class _LIBCPP_TYPE_VIS_ONLY auto_ptr +class _LIBCPP_TEMPLATE_VIS auto_ptr { public: typedef void element_type; @@ -2381,7 +2381,7 @@ // default_delete template -struct _LIBCPP_TYPE_VIS_ONLY default_delete +struct _LIBCPP_TEMPLATE_VIS default_delete { #ifndef _LIBCPP_CXX03_LANG _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR default_delete() _NOEXCEPT = default; @@ -2400,7 +2400,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY default_delete<_Tp[]> +struct _LIBCPP_TEMPLATE_VIS default_delete<_Tp[]> { public: #ifndef _LIBCPP_CXX03_LANG @@ -2423,7 +2423,7 @@ }; template > -class _LIBCPP_TYPE_VIS_ONLY unique_ptr +class _LIBCPP_TEMPLATE_VIS unique_ptr { public: typedef _Tp element_type; @@ -2609,7 +2609,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY unique_ptr<_Tp[], _Dp> +class _LIBCPP_TEMPLATE_VIS unique_ptr<_Tp[], _Dp> { public: typedef _Tp element_type; @@ -3357,7 +3357,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY hash<_Tp*> +struct _LIBCPP_TEMPLATE_VIS hash<_Tp*> : public unary_function<_Tp*, size_t> { _LIBCPP_INLINE_VISIBILITY @@ -3374,7 +3374,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; @@ -3699,7 +3699,7 @@ #endif } -template class _LIBCPP_TYPE_VIS_ONLY weak_ptr; +template class _LIBCPP_TEMPLATE_VIS weak_ptr; class _LIBCPP_TYPE_VIS __shared_count { @@ -3877,10 +3877,10 @@ __a.deallocate(_PTraits::pointer_to(*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; @@ -4156,8 +4156,8 @@ _LIBCPP_INLINE_VISIBILITY void __enable_weak_this(const volatile void*, const volatile 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 @@ -5090,7 +5090,7 @@ #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_TYPE_VIS_ONLY weak_ptr +class _LIBCPP_TEMPLATE_VIS weak_ptr { public: typedef _Tp element_type; @@ -5175,8 +5175,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 @@ -5376,7 +5376,7 @@ #endif template -struct _LIBCPP_TYPE_VIS_ONLY owner_less > +struct _LIBCPP_TEMPLATE_VIS owner_less > : binary_function, shared_ptr<_Tp>, bool> { typedef bool result_type; @@ -5392,7 +5392,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; @@ -5409,7 +5409,7 @@ #if _LIBCPP_STD_VER > 14 template <> -struct _LIBCPP_TYPE_VIS_ONLY owner_less +struct _LIBCPP_TEMPLATE_VIS owner_less { template _LIBCPP_INLINE_VISIBILITY @@ -5432,7 +5432,7 @@ #endif 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: @@ -5467,7 +5467,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 @@ -465,7 +465,7 @@ #endif // !_LIBCPP_HAS_NO_THREADS -struct _LIBCPP_TYPE_VIS_ONLY once_flag; +struct _LIBCPP_TEMPLATE_VIS once_flag; #ifndef _LIBCPP_HAS_NO_VARIADICS @@ -485,7 +485,7 @@ #endif // _LIBCPP_HAS_NO_VARIADICS -struct _LIBCPP_TYPE_VIS_ONLY once_flag +struct _LIBCPP_TEMPLATE_VIS once_flag { _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR @@ -615,7 +615,7 @@ #if defined(_LIBCPP_ABI_VARIADIC_LOCK_GUARD) \ && !defined(_LIBCPP_CXX03_LANG) template <> -class _LIBCPP_TYPE_VIS_ONLY lock_guard<> { +class _LIBCPP_TEMPLATE_VIS lock_guard<> { public: explicit lock_guard() {} ~lock_guard() = default; @@ -628,7 +628,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY lock_guard +class _LIBCPP_TEMPLATE_VIS lock_guard { static_assert(sizeof...(_MArgs) >= 2, "At least 2 lock types required"); typedef tuple<_MArgs&...> _MutexTuple; Index: include/optional =================================================================== --- include/optional +++ include/optional @@ -1295,7 +1295,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > { typedef optional<_Tp> argument_type; typedef size_t result_type; Index: include/ostream =================================================================== --- include/ostream +++ include/ostream @@ -148,7 +148,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: @@ -189,7 +189,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: inline _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY @@ -239,7 +239,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 @@ -178,7 +178,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -template > class _LIBCPP_TYPE_VIS_ONLY queue; +template > class _LIBCPP_TEMPLATE_VIS queue; template _LIBCPP_INLINE_VISIBILITY @@ -191,7 +191,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; @@ -381,14 +381,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; @@ -732,7 +732,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_; @@ -2984,7 +2984,7 @@ // independent_bits_engine template -class _LIBCPP_TYPE_VIS_ONLY independent_bits_engine +class _LIBCPP_TEMPLATE_VIS independent_bits_engine { template class __get_n @@ -3248,7 +3248,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: @@ -3511,7 +3511,7 @@ // seed_seq -class _LIBCPP_TYPE_VIS_ONLY seed_seq +class _LIBCPP_TEMPLATE_VIS seed_seq { public: // types @@ -3688,13 +3688,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_; @@ -3809,13 +3809,13 @@ // bernoulli_distribution -class _LIBCPP_TYPE_VIS_ONLY bernoulli_distribution +class _LIBCPP_TEMPLATE_VIS bernoulli_distribution { public: // types typedef bool result_type; - class _LIBCPP_TYPE_VIS_ONLY param_type + class _LIBCPP_TEMPLATE_VIS param_type { double __p_; public: @@ -3918,13 +3918,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_; @@ -4086,13 +4086,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: @@ -4201,13 +4201,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_; @@ -4369,13 +4369,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: @@ -4494,13 +4494,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_; @@ -4725,13 +4725,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_; @@ -4839,13 +4839,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_; @@ -4960,13 +4960,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_; @@ -5132,13 +5132,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_; @@ -5267,13 +5267,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: @@ -5369,13 +5369,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: @@ -5475,13 +5475,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_; @@ -5598,13 +5598,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_; @@ -5720,13 +5720,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: @@ -5833,13 +5833,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: @@ -6061,13 +6061,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_; @@ -6384,13 +6384,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 @@ -244,7 +244,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"); @@ -308,7 +308,7 @@ #else // _LIBCPP_CXX03_LANG template -struct _LIBCPP_TYPE_VIS_ONLY ratio_multiply +struct _LIBCPP_TEMPLATE_VIS ratio_multiply : public __ratio_multiply<_R1, _R2>::type {}; #endif // _LIBCPP_CXX03_LANG @@ -335,7 +335,7 @@ #else // _LIBCPP_CXX03_LANG template -struct _LIBCPP_TYPE_VIS_ONLY ratio_divide +struct _LIBCPP_TEMPLATE_VIS ratio_divide : public __ratio_divide<_R1, _R2>::type {}; #endif // _LIBCPP_CXX03_LANG @@ -370,7 +370,7 @@ #else // _LIBCPP_CXX03_LANG template -struct _LIBCPP_TYPE_VIS_ONLY ratio_add +struct _LIBCPP_TEMPLATE_VIS ratio_add : public __ratio_add<_R1, _R2>::type {}; #endif // _LIBCPP_CXX03_LANG @@ -405,7 +405,7 @@ #else // _LIBCPP_CXX03_LANG template -struct _LIBCPP_TYPE_VIS_ONLY ratio_subtract +struct _LIBCPP_TEMPLATE_VIS ratio_subtract : public __ratio_subtract<_R1, _R2>::type {}; #endif // _LIBCPP_CXX03_LANG @@ -413,11 +413,11 @@ // ratio_equal template -struct _LIBCPP_TYPE_VIS_ONLY ratio_equal +struct _LIBCPP_TEMPLATE_VIS ratio_equal : public _LIBCPP_BOOL_CONSTANT((_R1::num == _R2::num && _R1::den == _R2::den)) {}; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_not_equal +struct _LIBCPP_TEMPLATE_VIS ratio_not_equal : public _LIBCPP_BOOL_CONSTANT((!ratio_equal<_R1, _R2>::value)) {}; // ratio_less @@ -476,19 +476,19 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_less +struct _LIBCPP_TEMPLATE_VIS ratio_less : public _LIBCPP_BOOL_CONSTANT((__ratio_less<_R1, _R2>::value)) {}; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_less_equal +struct _LIBCPP_TEMPLATE_VIS ratio_less_equal : public _LIBCPP_BOOL_CONSTANT((!ratio_less<_R2, _R1>::value)) {}; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_greater +struct _LIBCPP_TEMPLATE_VIS ratio_greater : public _LIBCPP_BOOL_CONSTANT((ratio_less<_R2, _R1>::value)) {}; template -struct _LIBCPP_TYPE_VIS_ONLY ratio_greater_equal +struct _LIBCPP_TEMPLATE_VIS ratio_greater_equal : public _LIBCPP_BOOL_CONSTANT((!ratio_less<_R1, _R2>::value)) {}; template Index: include/regex =================================================================== --- include/regex +++ include/regex @@ -970,7 +970,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY regex_traits +struct _LIBCPP_TEMPLATE_VIS regex_traits { public: typedef _CharT char_type; @@ -1287,11 +1287,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 @@ -2472,7 +2472,7 @@ template class __lookahead; template > -class _LIBCPP_TYPE_VIS_ONLY basic_regex +class _LIBCPP_TEMPLATE_VIS basic_regex { public: // types: @@ -4765,7 +4765,7 @@ // sub_match template -class _LIBCPP_TYPE_VIS_ONLY sub_match +class _LIBCPP_TEMPLATE_VIS sub_match : public pair<_BidirectionalIterator, _BidirectionalIterator> { public: @@ -5188,7 +5188,7 @@ } template -class _LIBCPP_TYPE_VIS_ONLY match_results +class _LIBCPP_TEMPLATE_VIS match_results { public: typedef _Allocator allocator_type; @@ -6052,7 +6052,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; @@ -6171,7 +6171,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 @@ -384,7 +384,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 @@ -397,7 +397,7 @@ template , class _Allocator = allocator<_Key> > -class _LIBCPP_TYPE_VIS_ONLY set +class _LIBCPP_TEMPLATE_VIS set { public: // types: @@ -810,7 +810,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: @@ -618,7 +618,7 @@ // basic_istringstream template -class _LIBCPP_TYPE_VIS_ONLY basic_istringstream +class _LIBCPP_TEMPLATE_VIS basic_istringstream : public basic_istream<_CharT, _Traits> { public: @@ -735,7 +735,7 @@ // basic_ostringstream template -class _LIBCPP_TYPE_VIS_ONLY basic_ostringstream +class _LIBCPP_TEMPLATE_VIS basic_ostringstream : public basic_ostream<_CharT, _Traits> { public: @@ -854,7 +854,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; @@ -286,7 +286,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 @@ -497,7 +497,7 @@ // fpos template -class _LIBCPP_TYPE_VIS_ONLY fpos +class _LIBCPP_TEMPLATE_VIS fpos { private: _StateT __st_; @@ -555,7 +555,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: _LIBCPP_NORETURN void __throw_length_error() const; @@ -630,7 +630,7 @@ #endif // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT template -class _LIBCPP_TYPE_VIS_ONLY basic_string +class _LIBCPP_TEMPLATE_VIS basic_string : private __basic_string_common { public: @@ -3870,7 +3870,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/string_view =================================================================== --- include/string_view +++ include/string_view @@ -177,7 +177,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD template > -class _LIBCPP_TYPE_VIS_ONLY basic_string_view { +class _LIBCPP_TEMPLATE_VIS basic_string_view { public: // types typedef _Traits traits_type; @@ -735,7 +735,7 @@ // [string.view.hash] template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > : public unary_function, size_t> { size_t operator()(const basic_string_view<_CharT, _Traits> __val) const _NOEXCEPT; Index: include/system_error =================================================================== --- include/system_error +++ include/system_error @@ -240,7 +240,7 @@ // 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 {}; #if _LIBCPP_STD_VER > 14 @@ -251,7 +251,7 @@ // 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 {}; #if _LIBCPP_STD_VER > 14 @@ -363,12 +363,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 @@ -621,7 +621,7 @@ {return !(__x == __y);} template <> -struct _LIBCPP_TYPE_VIS_ONLY hash +struct _LIBCPP_TEMPLATE_VIS hash : public unary_function { _LIBCPP_INLINE_VISIBILITY @@ -632,7 +632,7 @@ }; 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 @@ -211,7 +211,7 @@ template<> struct 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 @@ -254,11 +254,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 @@ -471,7 +471,7 @@ template -class _LIBCPP_TYPE_VIS_ONLY tuple +class _LIBCPP_TEMPLATE_VIS tuple { typedef __tuple_impl::type, _Tp...> base; @@ -908,7 +908,7 @@ }; template <> -class _LIBCPP_TYPE_VIS_ONLY tuple<> +class _LIBCPP_TEMPLATE_VIS tuple<> { public: _LIBCPP_INLINE_VISIBILITY @@ -1340,7 +1340,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY uses_allocator, _Alloc> +struct _LIBCPP_TEMPLATE_VIS uses_allocator, _Alloc> : true_type {}; #endif // _LIBCPP_HAS_NO_VARIADICS Index: include/type_traits =================================================================== --- include/type_traits +++ include/type_traits @@ -392,9 +392,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD -template struct _LIBCPP_TYPE_VIS_ONLY pair; -template class _LIBCPP_TYPE_VIS_ONLY reference_wrapper; -template struct _LIBCPP_TYPE_VIS_ONLY hash; +template struct _LIBCPP_TEMPLATE_VIS pair; +template class _LIBCPP_TEMPLATE_VIS reference_wrapper; +template struct _LIBCPP_TEMPLATE_VIS hash; template struct __void_t { typedef void type; }; @@ -403,22 +403,22 @@ struct __identity { typedef _Tp type; }; template -struct _LIBCPP_TYPE_VIS_ONLY __dependent_type : public _Tp {}; +struct _LIBCPP_TEMPLATE_VIS __dependent_type : public _Tp {}; 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 __lazy_enable_if {}; -template struct _LIBCPP_TYPE_VIS_ONLY __lazy_enable_if {typedef typename _Tp::type type;}; +template struct _LIBCPP_TEMPLATE_VIS __lazy_enable_if {}; +template struct _LIBCPP_TEMPLATE_VIS __lazy_enable_if {typedef typename _Tp::type type;}; -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; @@ -498,7 +498,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; @@ -604,8 +604,8 @@ // 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 {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) template _LIBCPP_CONSTEXPR bool is_const_v @@ -614,8 +614,8 @@ // 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 {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) template _LIBCPP_CONSTEXPR bool is_volatile_v @@ -624,23 +624,23 @@ // 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; @@ -651,7 +651,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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -664,11 +664,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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -702,7 +702,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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -717,7 +717,7 @@ 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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -727,11 +727,11 @@ // 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 {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -744,7 +744,7 @@ 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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -754,18 +754,18 @@ // 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 #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -782,13 +782,13 @@ #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 @@ -802,7 +802,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 @@ -813,7 +813,7 @@ 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 @@ -825,8 +825,8 @@ // 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 {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) template _LIBCPP_CONSTEXPR bool is_same_v @@ -855,7 +855,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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -882,7 +882,7 @@ struct __libcpp_is_member_function_pointer<_Ret _Class::*> : public is_function<_Ret> {}; -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>::type {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -895,7 +895,7 @@ 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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -905,7 +905,7 @@ // 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> {}; @@ -918,12 +918,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 && @@ -944,7 +944,7 @@ // 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> {}; @@ -955,7 +955,7 @@ // 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> {}; @@ -967,14 +967,14 @@ // 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 {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) template _LIBCPP_CONSTEXPR bool is_scalar_v @@ -983,7 +983,7 @@ // 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 || @@ -996,7 +996,7 @@ // is_compound -template struct _LIBCPP_TYPE_VIS_ONLY is_compound +template struct _LIBCPP_TEMPLATE_VIS is_compound : public integral_constant::value> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -1027,7 +1027,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 @@ -1044,7 +1044,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 @@ -1053,7 +1053,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 @@ -1062,10 +1062,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 @@ -1077,7 +1077,7 @@ template ::value> struct __add_lvalue_reference_impl { typedef _Tp type; }; template struct __add_lvalue_reference_impl<_Tp, true> { typedef _Tp& type; }; -template struct _LIBCPP_TYPE_VIS_ONLY add_lvalue_reference +template struct _LIBCPP_TEMPLATE_VIS add_lvalue_reference {typedef typename __add_lvalue_reference_impl<_Tp>::type type;}; #if _LIBCPP_STD_VER > 11 @@ -1089,7 +1089,7 @@ template ::value> struct __add_rvalue_reference_impl { typedef _Tp type; }; template struct __add_rvalue_reference_impl<_Tp, true> { typedef _Tp&& type; }; -template struct _LIBCPP_TYPE_VIS_ONLY add_rvalue_reference +template struct _LIBCPP_TEMPLATE_VIS add_rvalue_reference {typedef typename __add_rvalue_reference_impl<_Tp>::type type;}; #if _LIBCPP_STD_VER > 11 @@ -1145,11 +1145,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; @@ -1165,7 +1165,7 @@ template struct __add_pointer_impl<_Tp, false> {typedef _Tp type;}; -template struct _LIBCPP_TYPE_VIS_ONLY add_pointer +template struct _LIBCPP_TEMPLATE_VIS add_pointer {typedef typename __add_pointer_impl<_Tp>::type type;}; #if _LIBCPP_STD_VER > 11 @@ -1185,7 +1185,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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) template _LIBCPP_CONSTEXPR bool is_signed_v @@ -1205,7 +1205,7 @@ 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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) template _LIBCPP_CONSTEXPR bool is_unsigned_v @@ -1214,11 +1214,11 @@ // 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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -1228,15 +1228,15 @@ // 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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -1246,11 +1246,11 @@ // 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 @@ -1259,11 +1259,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 @@ -1273,7 +1273,7 @@ // decay template -struct _LIBCPP_TYPE_VIS_ONLY decay +struct _LIBCPP_TEMPLATE_VIS decay { private: typedef typename remove_reference<_Tp>::type _Up; @@ -1308,7 +1308,7 @@ 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> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) template _LIBCPP_CONSTEXPR bool is_abstract_v @@ -1318,15 +1318,15 @@ // is_final #if defined(_LIBCPP_HAS_IS_FINAL) -template struct _LIBCPP_TYPE_VIS_ONLY +template struct _LIBCPP_TEMPLATE_VIS __libcpp_is_final : public integral_constant {}; #else -template struct _LIBCPP_TYPE_VIS_ONLY +template struct _LIBCPP_TEMPLATE_VIS __libcpp_is_final : public false_type {}; #endif #if defined(_LIBCPP_HAS_IS_FINAL) && _LIBCPP_STD_VER > 11 -template struct _LIBCPP_TYPE_VIS_ONLY +template struct _LIBCPP_TEMPLATE_VIS is_final : public integral_constant {}; #endif @@ -1340,7 +1340,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 @@ -1364,7 +1364,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> {}; @@ -1379,7 +1379,7 @@ #if __has_feature(is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK) -template struct _LIBCPP_TYPE_VIS_ONLY is_convertible +template struct _LIBCPP_TEMPLATE_VIS is_convertible : public integral_constant::value> {}; @@ -1451,7 +1451,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; @@ -1470,7 +1470,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) @@ -1492,7 +1492,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) @@ -1506,7 +1506,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 @@ -1516,7 +1516,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) @@ -1530,12 +1530,12 @@ #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 @@ -1547,7 +1547,7 @@ // alignment_of -template struct _LIBCPP_TYPE_VIS_ONLY alignment_of +template struct _LIBCPP_TEMPLATE_VIS alignment_of : public integral_constant {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) @@ -1640,7 +1640,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, ""); @@ -1658,7 +1658,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\ {\ @@ -1913,7 +1913,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; }; @@ -1946,7 +1946,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; }; @@ -1958,21 +1958,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, _Vp>::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> { typedef typename decay() : _VSTD::declval<_Up>() @@ -1984,12 +1984,12 @@ // bullet 1 - sizeof...(Tp) == 0 template -struct _LIBCPP_TYPE_VIS_ONLY common_type {}; +struct _LIBCPP_TEMPLATE_VIS common_type {}; // bullet 2 - sizeof...(Tp) == 1 template -struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp> +struct _LIBCPP_TEMPLATE_VIS common_type<_Tp> { typedef typename decay<_Tp>::type type; }; @@ -2021,7 +2021,7 @@ >::type; template -struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, _Up> +struct _LIBCPP_TEMPLATE_VIS common_type<_Tp, _Up> : __common_type2<_Tp, _Up> {}; // bullet 4 - sizeof...(Tp) > 2 @@ -2049,7 +2049,7 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY common_type<_Tp, _Up, _Vp...> +struct _LIBCPP_TEMPLATE_VIS common_type<_Tp, _Up, _Vp...> : __common_type_impl<__common_types<_Tp, _Up, _Vp...> > {}; #if _LIBCPP_STD_VER > 11 @@ -2091,7 +2091,7 @@ // is_copy_assignable -template struct _LIBCPP_TYPE_VIS_ONLY is_copy_assignable +template struct _LIBCPP_TEMPLATE_VIS is_copy_assignable : public is_assignable::type, typename add_lvalue_reference::type>::type> {}; @@ -2102,7 +2102,7 @@ // 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, typename add_rvalue_reference<_Tp>::type> {}; @@ -2869,7 +2869,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>::type>::value, @@ -2879,7 +2879,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>::type>::value, @@ -2889,7 +2889,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>::type>::value, @@ -2899,7 +2899,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>::type>::value, @@ -3035,12 +3035,12 @@ #if __has_feature(is_constructible) template -struct _LIBCPP_TYPE_VIS_ONLY is_constructible +struct _LIBCPP_TEMPLATE_VIS is_constructible : public integral_constant {}; #elif !defined(_LIBCPP_CXX03_LANG) template -struct _LIBCPP_TYPE_VIS_ONLY is_constructible +struct _LIBCPP_TEMPLATE_VIS is_constructible : public __libcpp_is_constructible<_Tp, _Args...>::type {}; #else // template struct is_constructible0; @@ -3154,7 +3154,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 @@ -3164,7 +3164,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, @@ -3172,7 +3172,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 @@ -3226,7 +3226,7 @@ // is_default_constructible template -struct _LIBCPP_TYPE_VIS_ONLY is_default_constructible +struct _LIBCPP_TEMPLATE_VIS is_default_constructible : public is_constructible<_Tp> {}; @@ -3238,7 +3238,7 @@ // is_copy_constructible template -struct _LIBCPP_TYPE_VIS_ONLY is_copy_constructible +struct _LIBCPP_TEMPLATE_VIS is_copy_constructible : public is_constructible<_Tp, typename add_lvalue_reference::type>::type> {}; @@ -3250,7 +3250,7 @@ // 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 @@ -3270,7 +3270,7 @@ #if __has_feature(is_trivially_constructible) || _GNUC_VER >= 501 template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible : integral_constant { }; @@ -3278,13 +3278,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 @@ -3295,22 +3295,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> { }; @@ -3321,7 +3321,7 @@ template -struct _LIBCPP_TYPE_VIS_ONLY is_trivially_constructible +struct _LIBCPP_TEMPLATE_VIS is_trivially_constructible : false_type { }; @@ -3329,28 +3329,28 @@ #if __has_feature(is_trivially_constructible) || _GNUC_VER >= 501 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 { @@ -3359,28 +3359,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> { @@ -3397,7 +3397,7 @@ // 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> {}; @@ -3408,7 +3408,7 @@ // 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> {}; @@ -3419,7 +3419,7 @@ // 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 @@ -3477,7 +3477,7 @@ // 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, typename add_lvalue_reference::type>::type> {}; @@ -3488,7 +3488,7 @@ // 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> @@ -3506,7 +3506,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::value && __has_trivial_destructor(_Tp)> {}; #else @@ -3515,10 +3515,10 @@ : 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> {}; -template struct _LIBCPP_TYPE_VIS_ONLY is_trivially_destructible<_Tp[]> +template struct _LIBCPP_TEMPLATE_VIS is_trivially_destructible<_Tp[]> : public false_type {}; #endif @@ -3532,7 +3532,7 @@ #if 0 template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible : public integral_constant { }; @@ -3567,13 +3567,13 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_constructible +struct _LIBCPP_TEMPLATE_VIS is_nothrow_constructible : __libcpp_is_nothrow_constructible::value, is_reference<_Tp>::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, is_reference<_Tp>::value, _Tp> { }; @@ -3581,13 +3581,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 @@ -3598,9 +3598,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 @@ -3611,7 +3611,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 @@ -3621,7 +3621,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 @@ -3636,13 +3636,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 @@ -3653,7 +3653,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 @@ -3664,7 +3664,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 @@ -3675,7 +3675,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 @@ -3695,7 +3695,7 @@ // 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> {}; @@ -3706,7 +3706,7 @@ // 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, typename add_lvalue_reference::type>::type> {}; @@ -3717,7 +3717,7 @@ // 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 @@ -3749,7 +3749,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> { }; @@ -3757,11 +3757,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 @@ -3769,7 +3769,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 @@ -3777,7 +3777,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 @@ -3805,7 +3805,7 @@ // 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, typename add_lvalue_reference::type>::type> {}; @@ -3816,7 +3816,7 @@ // 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> @@ -3849,19 +3849,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 { }; @@ -3869,7 +3869,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 { }; @@ -3882,11 +3882,11 @@ : 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> {}; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_destructible<_Tp[]> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_destructible<_Tp[]> : public false_type {}; #endif @@ -3900,12 +3900,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 && @@ -3920,7 +3920,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 @@ -3936,7 +3936,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 @@ -3951,7 +3951,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 #elif _GNUC_VER >= 501 @@ -3968,7 +3968,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 @@ -4375,7 +4375,7 @@ // result_of template -class _LIBCPP_TYPE_VIS_ONLY result_of<_Fp(_Args...)> +class _LIBCPP_TEMPLATE_VIS result_of<_Fp(_Args...)> : public __invoke_of<_Fp, _Args...> { }; @@ -4389,10 +4389,10 @@ // is_callable template -struct _LIBCPP_TYPE_VIS_ONLY is_callable; +struct _LIBCPP_TEMPLATE_VIS is_callable; template -struct _LIBCPP_TYPE_VIS_ONLY is_callable<_Fn(_Args...), _Ret> +struct _LIBCPP_TEMPLATE_VIS is_callable<_Fn(_Args...), _Ret> : integral_constant::value> {}; template @@ -4401,10 +4401,10 @@ // is_nothrow_callable template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_callable; +struct _LIBCPP_TEMPLATE_VIS is_nothrow_callable; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_callable<_Fn(_Args...), _Ret> +struct _LIBCPP_TEMPLATE_VIS is_nothrow_callable<_Fn(_Args...), _Ret> : integral_constant::value> {}; @@ -4513,13 +4513,13 @@ #if _LIBCPP_STD_VER > 14 template -struct _LIBCPP_TYPE_VIS_ONLY is_swappable_with +struct _LIBCPP_TEMPLATE_VIS is_swappable_with : public integral_constant::value> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_swappable +struct _LIBCPP_TEMPLATE_VIS is_swappable : public conditional< __is_referenceable<_Tp>::value, is_swappable_with< @@ -4531,13 +4531,13 @@ }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_swappable_with +struct _LIBCPP_TEMPLATE_VIS is_nothrow_swappable_with : public integral_constant::value> { }; template -struct _LIBCPP_TYPE_VIS_ONLY is_nothrow_swappable +struct _LIBCPP_TEMPLATE_VIS is_nothrow_swappable : public conditional< __is_referenceable<_Tp>::value, is_nothrow_swappable_with< Index: include/typeindex =================================================================== --- include/typeindex +++ include/typeindex @@ -55,7 +55,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -class _LIBCPP_TYPE_VIS_ONLY type_index +class _LIBCPP_TEMPLATE_VIS type_index { const type_info* __t_; public: @@ -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 @@ -641,7 +641,7 @@ #endif template -class _LIBCPP_TYPE_VIS_ONLY __hash_map_iterator +class _LIBCPP_TEMPLATE_VIS __hash_map_iterator { _HashIterator __i_; @@ -682,15 +682,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_; @@ -736,15 +736,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 @@ -1513,7 +1513,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 @@ -333,7 +333,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 @@ -873,7 +873,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 @@ -289,7 +289,7 @@ template void as_const(const _Tp&&) = delete; #endif -struct _LIBCPP_TYPE_VIS_ONLY piecewise_construct_t { }; +struct _LIBCPP_TEMPLATE_VIS piecewise_construct_t { }; #if defined(_LIBCPP_HAS_NO_CONSTEXPR) || defined(_LIBCPP_BUILDING_UTILITY) extern const piecewise_construct_t piecewise_construct;// = piecewise_construct_t(); #else @@ -306,7 +306,7 @@ #endif template -struct _LIBCPP_TYPE_VIS_ONLY pair +struct _LIBCPP_TEMPLATE_VIS pair #if defined(_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR) : private __non_trivially_copyable_base #endif @@ -648,18 +648,18 @@ #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_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; @@ -829,7 +829,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 @@ -356,9 +356,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_; @@ -383,11 +383,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 @@ -673,7 +673,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 @@ -788,7 +788,7 @@ struct __is_val_expr > : true_type {}; template -class _LIBCPP_TYPE_VIS_ONLY valarray +class _LIBCPP_TEMPLATE_VIS valarray { public: typedef _Tp value_type; @@ -1028,12 +1028,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; @@ -1147,7 +1147,7 @@ // slice_array template -class _LIBCPP_TYPE_VIS_ONLY slice_array +class _LIBCPP_TEMPLATE_VIS slice_array { public: typedef _Tp value_type; @@ -1531,7 +1531,7 @@ // gslice_array template -class _LIBCPP_TYPE_VIS_ONLY gslice_array +class _LIBCPP_TEMPLATE_VIS gslice_array { public: typedef _Tp value_type; @@ -1869,7 +1869,7 @@ // mask_array template -class _LIBCPP_TYPE_VIS_ONLY mask_array +class _LIBCPP_TEMPLATE_VIS mask_array { public: typedef _Tp value_type; @@ -2227,7 +2227,7 @@ // indirect_array template -class _LIBCPP_TYPE_VIS_ONLY indirect_array +class _LIBCPP_TEMPLATE_VIS indirect_array { public: typedef _Tp value_type; @@ -2591,7 +2591,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/variant =================================================================== --- include/variant +++ include/variant @@ -236,48 +236,48 @@ } template -class _LIBCPP_TYPE_VIS_ONLY variant; +class _LIBCPP_TEMPLATE_VIS variant; template -struct _LIBCPP_TYPE_VIS_ONLY variant_size; +struct _LIBCPP_TEMPLATE_VIS variant_size; template constexpr size_t variant_size_v = variant_size<_Tp>::value; template -struct _LIBCPP_TYPE_VIS_ONLY variant_size : variant_size<_Tp> {}; +struct _LIBCPP_TEMPLATE_VIS variant_size : variant_size<_Tp> {}; template -struct _LIBCPP_TYPE_VIS_ONLY variant_size : variant_size<_Tp> {}; +struct _LIBCPP_TEMPLATE_VIS variant_size : variant_size<_Tp> {}; template -struct _LIBCPP_TYPE_VIS_ONLY variant_size +struct _LIBCPP_TEMPLATE_VIS variant_size : variant_size<_Tp> {}; template -struct _LIBCPP_TYPE_VIS_ONLY variant_size> +struct _LIBCPP_TEMPLATE_VIS variant_size> : integral_constant {}; template -struct _LIBCPP_TYPE_VIS_ONLY variant_alternative; +struct _LIBCPP_TEMPLATE_VIS variant_alternative; template using variant_alternative_t = typename variant_alternative<_Ip, _Tp>::type; template -struct _LIBCPP_TYPE_VIS_ONLY variant_alternative<_Ip, const _Tp> +struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, const _Tp> : add_const> {}; template -struct _LIBCPP_TYPE_VIS_ONLY variant_alternative<_Ip, volatile _Tp> +struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, volatile _Tp> : add_volatile> {}; template -struct _LIBCPP_TYPE_VIS_ONLY variant_alternative<_Ip, const volatile _Tp> +struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, const volatile _Tp> : add_cv> {}; template -struct _LIBCPP_TYPE_VIS_ONLY variant_alternative<_Ip, variant<_Types...>> { +struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, variant<_Types...>> { static_assert(_Ip < sizeof...(_Types)); using type = __type_pack_element<_Ip, _Types...>; }; @@ -591,7 +591,7 @@ } // namespace __visitation template -struct _LIBCPP_TYPE_VIS_ONLY __alt { +struct _LIBCPP_TEMPLATE_VIS __alt { using __value_type = _Tp; template @@ -603,14 +603,14 @@ }; template <_Trait _DestructibleTrait, size_t _Index, class... _Types> -union _LIBCPP_TYPE_VIS_ONLY __union; +union _LIBCPP_TEMPLATE_VIS __union; template <_Trait _DestructibleTrait, size_t _Index> -union _LIBCPP_TYPE_VIS_ONLY __union<_DestructibleTrait, _Index> {}; +union _LIBCPP_TEMPLATE_VIS __union<_DestructibleTrait, _Index> {}; #define _LIBCPP_VARIANT_UNION(destructible_trait, destructor) \ template \ - union _LIBCPP_TYPE_VIS_ONLY __union { \ @@ -651,7 +651,7 @@ #undef _LIBCPP_VARIANT_UNION template <_Trait _DestructibleTrait, class... _Types> -class _LIBCPP_TYPE_VIS_ONLY __base { +class _LIBCPP_TEMPLATE_VIS __base { public: inline _LIBCPP_INLINE_VISIBILITY explicit constexpr __base(__valueless_t tag) noexcept @@ -698,11 +698,11 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __destructor; +class _LIBCPP_TEMPLATE_VIS __destructor; #define _LIBCPP_VARIANT_DESTRUCTOR(destructible_trait, destructor, destroy) \ template \ - class _LIBCPP_TYPE_VIS_ONLY __destructor<__traits<_Types...>, \ + class _LIBCPP_TEMPLATE_VIS __destructor<__traits<_Types...>, \ destructible_trait> \ : public __base { \ using __base_type = __base; \ @@ -750,7 +750,7 @@ #undef _LIBCPP_VARIANT_DESTRUCTOR template -class _LIBCPP_TYPE_VIS_ONLY __constructor : public __destructor<_Traits> { +class _LIBCPP_TEMPLATE_VIS __constructor : public __destructor<_Traits> { using __base_type = __destructor<_Traits>; public: @@ -784,12 +784,12 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __move_constructor; +class _LIBCPP_TEMPLATE_VIS __move_constructor; #define _LIBCPP_VARIANT_MOVE_CONSTRUCTOR(move_constructible_trait, \ move_constructor) \ template \ - class _LIBCPP_TYPE_VIS_ONLY __move_constructor<__traits<_Types...>, \ + class _LIBCPP_TEMPLATE_VIS __move_constructor<__traits<_Types...>, \ move_constructible_trait> \ : public __constructor<__traits<_Types...>> { \ using __base_type = __constructor<__traits<_Types...>>; \ @@ -824,12 +824,12 @@ #undef _LIBCPP_VARIANT_MOVE_CONSTRUCTOR template -class _LIBCPP_TYPE_VIS_ONLY __copy_constructor; +class _LIBCPP_TEMPLATE_VIS __copy_constructor; #define _LIBCPP_VARIANT_COPY_CONSTRUCTOR(copy_constructible_trait, \ copy_constructor) \ template \ - class _LIBCPP_TYPE_VIS_ONLY __copy_constructor<__traits<_Types...>, \ + class _LIBCPP_TEMPLATE_VIS __copy_constructor<__traits<_Types...>, \ copy_constructible_trait> \ : public __move_constructor<__traits<_Types...>> { \ using __base_type = __move_constructor<__traits<_Types...>>; \ @@ -863,7 +863,7 @@ #undef _LIBCPP_VARIANT_COPY_CONSTRUCTOR template -class _LIBCPP_TYPE_VIS_ONLY __assignment : public __copy_constructor<_Traits> { +class _LIBCPP_TEMPLATE_VIS __assignment : public __copy_constructor<_Traits> { using __base_type = __copy_constructor<_Traits>; public: @@ -924,12 +924,12 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY __move_assignment; +class _LIBCPP_TEMPLATE_VIS __move_assignment; #define _LIBCPP_VARIANT_MOVE_ASSIGNMENT(move_assignable_trait, \ move_assignment) \ template \ - class _LIBCPP_TYPE_VIS_ONLY __move_assignment<__traits<_Types...>, \ + class _LIBCPP_TEMPLATE_VIS __move_assignment<__traits<_Types...>, \ move_assignable_trait> \ : public __assignment<__traits<_Types...>> { \ using __base_type = __assignment<__traits<_Types...>>; \ @@ -965,12 +965,12 @@ #undef _LIBCPP_VARIANT_MOVE_ASSIGNMENT template -class _LIBCPP_TYPE_VIS_ONLY __copy_assignment; +class _LIBCPP_TEMPLATE_VIS __copy_assignment; #define _LIBCPP_VARIANT_COPY_ASSIGNMENT(copy_assignable_trait, \ copy_assignment) \ template \ - class _LIBCPP_TYPE_VIS_ONLY __copy_assignment<__traits<_Types...>, \ + class _LIBCPP_TEMPLATE_VIS __copy_assignment<__traits<_Types...>, \ copy_assignable_trait> \ : public __move_assignment<__traits<_Types...>> { \ using __base_type = __move_assignment<__traits<_Types...>>; \ @@ -1004,7 +1004,7 @@ #undef _LIBCPP_VARIANT_COPY_ASSIGNMENT template -class _LIBCPP_TYPE_VIS_ONLY __impl +class _LIBCPP_TEMPLATE_VIS __impl : public __copy_assignment<__traits<_Types...>> { using __base_type = __copy_assignment<__traits<_Types...>>; @@ -1085,7 +1085,7 @@ } // __variant_detail template -class _LIBCPP_TYPE_VIS_ONLY variant +class _LIBCPP_TEMPLATE_VIS variant : private __sfinae_ctor_base< __all...>::value, __all...>::value>, @@ -1500,7 +1500,7 @@ _VSTD::forward<_Vs>(__vs)...); } -struct _LIBCPP_TYPE_VIS_ONLY monostate {}; +struct _LIBCPP_TEMPLATE_VIS monostate {}; inline _LIBCPP_INLINE_VISIBILITY constexpr bool operator<(monostate, monostate) noexcept { return false; } @@ -1529,7 +1529,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY hash> { +struct _LIBCPP_TEMPLATE_VIS hash> { using argument_type = variant<_Types...>; using result_type = size_t; @@ -1551,7 +1551,7 @@ }; template <> -struct _LIBCPP_TYPE_VIS_ONLY hash { +struct _LIBCPP_TEMPLATE_VIS hash { using argument_type = monostate; using result_type = size_t; Index: include/vector =================================================================== --- include/vector +++ include/vector @@ -447,7 +447,7 @@ } template */> -class _LIBCPP_TYPE_VIS_ONLY vector +class _LIBCPP_TEMPLATE_VIS vector : private __vector_base<_Tp, _Allocator> { private: @@ -2133,7 +2133,7 @@ }; template -class _LIBCPP_TYPE_VIS_ONLY vector +class _LIBCPP_TEMPLATE_VIS vector : private __vector_base_common { public: @@ -2472,7 +2472,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 @@ -3275,7 +3275,7 @@ } template -struct _LIBCPP_TYPE_VIS_ONLY hash > +struct _LIBCPP_TEMPLATE_VIS hash > : public unary_function, size_t> { _LIBCPP_INLINE_VISIBILITY Index: src/experimental/memory_resource.cpp =================================================================== --- src/experimental/memory_resource.cpp +++ src/experimental/memory_resource.cpp @@ -23,7 +23,7 @@ // new_delete_resource() -class _LIBCPP_TYPE_VIS_ONLY __new_delete_memory_resource_imp +class _LIBCPP_TYPE_VIS __new_delete_memory_resource_imp : public memory_resource { public: @@ -42,7 +42,7 @@ // null_memory_resource() -class _LIBCPP_TYPE_VIS_ONLY __null_memory_resource_imp +class _LIBCPP_TYPE_VIS __null_memory_resource_imp : public memory_resource { public: @@ -140,4 +140,4 @@ return __default_memory_resource(true, __new_res); } -_LIBCPP_END_NAMESPACE_LFTS_PMR \ No newline at end of file +_LIBCPP_END_NAMESPACE_LFTS_PMR