diff --git a/include/iosfwd b/include/iosfwd index a4d3f38b..f9ca1a6a 100644 --- a/include/iosfwd +++ b/include/iosfwd @@ -92,8 +92,8 @@ typedef fpos<char_traits<wchar_t>::state_type> wstreampos; _LIBCPP_BEGIN_NAMESPACE_STD -template<class _CharT> struct char_traits; -template<class _Tp> class allocator; +template<class _CharT> struct _LIBCPP_VISIBLE char_traits; +template<class _Tp> class _LIBCPP_VISIBLE allocator; template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ios; @@ -164,7 +164,7 @@ typedef long long streamoff; // for char_traits in <string> template <class _CharT, // for <stdexcept> class _Traits = char_traits<_CharT>, - class _Allocator = allocator<_CharT> > class basic_string; + class _Allocator = allocator<_CharT> > class _LIBCPP_VISIBLE basic_string; typedef basic_string<char, char_traits<char>, allocator<char> > string; typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring; diff --git a/include/memory b/include/memory index 5b2b41dc..b4875ce7 100644 --- a/include/memory +++ b/include/memory @@ -1471,7 +1471,7 @@ struct __uses_alloc_ctor // allocator template <class _Tp> -class allocator +class _LIBCPP_VISIBLE allocator { public: typedef size_t size_type; diff --git a/include/string b/include/string index fc15bc8a..4e6d7cd5 100644 --- a/include/string +++ b/include/string @@ -479,7 +479,7 @@ bool operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y) // char_traits template <class _CharT> -struct char_traits +struct _LIBCPP_VISIBLE char_traits { typedef _CharT char_type; typedef int int_type; @@ -591,7 +591,7 @@ char_traits<_CharT>::assign(char_type* __s, size_t __n, char_type __a) // char_traits<char> template <> -struct char_traits<char> +struct _LIBCPP_VISIBLE char_traits<char> { typedef char char_type; typedef int int_type; @@ -933,7 +933,7 @@ __basic_string_common<__b>::__throw_out_of_range() const extern template class __basic_string_common<true>; template<class _CharT, class _Traits, class _Allocator> -class basic_string +class _LIBCPP_VISIBLE basic_string : private __basic_string_common<true> { public: diff --git a/include/vector b/include/vector index 7441cd01..f985a0e2 100644 --- a/include/vector +++ b/include/vector @@ -419,7 +419,7 @@ __vector_base<_Tp, _Allocator>::~__vector_base() } template <class _Tp, class _Allocator = allocator<_Tp> > -class vector +class _LIBCPP_VISIBLE vector : private __vector_base<_Tp, _Allocator> { private: @@ -1682,7 +1682,7 @@ template <class _Allocator> class vector<bool, _Allocator>; template <class _Allocator> struct hash<vector<bool, _Allocator> >; template <class _Allocator> -class vector<bool, _Allocator> +class _LIBCPP_VISIBLE vector<bool, _Allocator> : private __vector_base_common<true> { public: