diff options
Diffstat (limited to 'libcxx/include/string')
| -rw-r--r-- | libcxx/include/string | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/libcxx/include/string b/libcxx/include/string index 4e6d7cd5c78..47aed108070 100644 --- a/libcxx/include/string +++ b/libcxx/include/string @@ -442,7 +442,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD // fpos template <class _StateT> -class fpos +class _LIBCPP_VISIBLE fpos { private: _StateT __st_; @@ -628,7 +628,7 @@ struct _LIBCPP_VISIBLE char_traits<char> // char_traits<wchar_t> template <> -struct char_traits<wchar_t> +struct _LIBCPP_VISIBLE char_traits<wchar_t> { typedef wchar_t char_type; typedef wint_t int_type; @@ -665,7 +665,7 @@ struct char_traits<wchar_t> #ifndef _LIBCPP_HAS_NO_UNICODE_CHARS template <> -struct char_traits<char16_t> +struct _LIBCPP_VISIBLE char_traits<char16_t> { typedef char16_t char_type; typedef uint_least16_t int_type; @@ -771,7 +771,7 @@ char_traits<char16_t>::assign(char_type* __s, size_t __n, char_type __a) } template <> -struct char_traits<char32_t> +struct _LIBCPP_VISIBLE char_traits<char32_t> { typedef char32_t char_type; typedef uint_least32_t int_type; @@ -1058,6 +1058,7 @@ public: #endif _LIBCPP_INLINE_VISIBILITY basic_string& operator=(const_pointer __s) {return assign(__s);} basic_string& operator=(value_type __c); + _LIBCPP_INLINE_VISIBILITY basic_string& operator=(initializer_list<value_type> __il) {return assign(__il.begin(), __il.size());} #ifndef _LIBCPP_DEBUG @@ -1092,6 +1093,7 @@ public: _LIBCPP_INLINE_VISIBILITY void resize(size_type __n) {resize(__n, value_type());} void reserve(size_type res_arg = 0); + _LIBCPP_INLINE_VISIBILITY void shrink_to_fit() {reserve();} void clear(); _LIBCPP_INLINE_VISIBILITY bool empty() const {return size() == 0;} @@ -1127,6 +1129,7 @@ public: basic_string& >::type append(_ForwardIterator __first, _ForwardIterator __last); + _LIBCPP_INLINE_VISIBILITY basic_string& append(initializer_list<value_type> __il) {return append(__il.begin(), __il.size());} void push_back(value_type __c); @@ -1156,6 +1159,7 @@ public: basic_string& >::type assign(_ForwardIterator __first, _ForwardIterator __last); + _LIBCPP_INLINE_VISIBILITY basic_string& assign(initializer_list<value_type> __il) {return assign(__il.begin(), __il.size());} basic_string& insert(size_type __pos1, const basic_string& __str); @@ -1180,6 +1184,7 @@ public: iterator >::type insert(const_iterator __pos, _ForwardIterator __first, _ForwardIterator __last); + _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator __pos, initializer_list<value_type> __il) {return insert(__pos, __il.begin(), __il.end());} @@ -1203,6 +1208,7 @@ public: basic_string& >::type replace(iterator __i1, iterator __i2, _InputIterator __j1, _InputIterator __j2); + _LIBCPP_INLINE_VISIBILITY basic_string& replace(iterator __i1, iterator __i2, initializer_list<value_type> __il) {return replace(__i1, __i2, __il.begin(), __il.end());} @@ -3551,7 +3557,7 @@ template<class _CharT, class _Traits, class _Allocator> basic_string<_CharT, _Traits, _Allocator>::npos; template<class _CharT, class _Traits, class _Allocator> -struct hash<basic_string<_CharT, _Traits, _Allocator> > +struct _LIBCPP_VISIBLE hash<basic_string<_CharT, _Traits, _Allocator> > : public unary_function<basic_string<_CharT, _Traits, _Allocator>, size_t> { size_t |

