diff options
author | Howard Hinnant <hhinnant@apple.com> | 2010-12-17 14:46:43 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2010-12-17 14:46:43 +0000 |
commit | 2d72b1e393e35d61917d6d0ce069482ab11e96d1 (patch) | |
tree | cd09e48e86246a173f74b7e7e52ed969169352ad /include/string | |
parent | e48e36623b011f4c9036b9a774e4016d1a476440 (diff) | |
download | external_libcxx-2d72b1e393e35d61917d6d0ce069482ab11e96d1.tar.gz external_libcxx-2d72b1e393e35d61917d6d0ce069482ab11e96d1.tar.bz2 external_libcxx-2d72b1e393e35d61917d6d0ce069482ab11e96d1.zip |
Effort to reduce the number of exported symbols
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@122057 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/string')
-rw-r--r-- | include/string | 70 |
1 files changed, 58 insertions, 12 deletions
diff --git a/include/string b/include/string index 3056a6bbe..92f0ed19f 100644 --- a/include/string +++ b/include/string @@ -1028,33 +1028,43 @@ private: public: static const size_type npos = -1; - basic_string(); - explicit basic_string(const allocator_type& __a); + _LIBCPP_INLINE_VISIBILITY basic_string(); + _LIBCPP_INLINE_VISIBILITY explicit basic_string(const allocator_type& __a); basic_string(const basic_string& __str); basic_string(const basic_string& __str, const allocator_type& __a); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES basic_string(basic_string&& __str); basic_string(basic_string&& __str, const allocator_type& __a); #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES - basic_string(const_pointer __s); + _LIBCPP_INLINE_VISIBILITY basic_string(const_pointer __s); + _LIBCPP_INLINE_VISIBILITY basic_string(const_pointer __s, const allocator_type& __a); + _LIBCPP_INLINE_VISIBILITY basic_string(const_pointer __s, size_type __n); + _LIBCPP_INLINE_VISIBILITY basic_string(const_pointer __s, size_type __n, const allocator_type& __a); + _LIBCPP_INLINE_VISIBILITY basic_string(size_type __n, value_type __c); + _LIBCPP_INLINE_VISIBILITY basic_string(size_type __n, value_type __c, const allocator_type& __a); basic_string(const basic_string& __str, size_type __pos, size_type __n = npos, const allocator_type& __a = allocator_type()); template<class _InputIterator> + _LIBCPP_INLINE_VISIBILITY basic_string(_InputIterator __first, _InputIterator __last); template<class _InputIterator> + _LIBCPP_INLINE_VISIBILITY basic_string(_InputIterator __first, _InputIterator __last, const allocator_type& __a); + _LIBCPP_INLINE_VISIBILITY basic_string(initializer_list<value_type> __il); + _LIBCPP_INLINE_VISIBILITY basic_string(initializer_list<value_type> __il, const allocator_type& __a); ~basic_string(); basic_string& operator=(const basic_string& __str); #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY basic_string& operator=(basic_string&& __str); #endif _LIBCPP_INLINE_VISIBILITY basic_string& operator=(const_pointer __s) {return assign(__s);} @@ -1086,7 +1096,7 @@ public: _LIBCPP_INLINE_VISIBILITY size_type size() const {return __is_long() ? __get_long_size() : __get_short_size();} _LIBCPP_INLINE_VISIBILITY size_type length() const {return size();} - size_type max_size() const; + _LIBCPP_INLINE_VISIBILITY size_type max_size() const; _LIBCPP_INLINE_VISIBILITY size_type capacity() const {return (__is_long() ? __get_long_cap() : __min_cap) - 1;} @@ -1096,6 +1106,7 @@ public: void reserve(size_type res_arg = 0); _LIBCPP_INLINE_VISIBILITY void shrink_to_fit() {reserve();} + _LIBCPP_INLINE_VISIBILITY void clear(); _LIBCPP_INLINE_VISIBILITY bool empty() const {return size() == 0;} @@ -1110,6 +1121,7 @@ public: _LIBCPP_INLINE_VISIBILITY basic_string& operator+=(value_type __c) {push_back(__c); return *this;} _LIBCPP_INLINE_VISIBILITY basic_string& operator+=(initializer_list<value_type> __il) {return append(__il);} + _LIBCPP_INLINE_VISIBILITY basic_string& append(const basic_string& __str); basic_string& append(const basic_string& __str, size_type __pos, size_type __n); basic_string& append(const_pointer __s, size_type __n); @@ -1134,12 +1146,14 @@ public: basic_string& append(initializer_list<value_type> __il) {return append(__il.begin(), __il.size());} void push_back(value_type __c); + _LIBCPP_INLINE_VISIBILITY void pop_back(); - reference front(); - const_reference front() const; - reference back(); - const_reference back() const; + _LIBCPP_INLINE_VISIBILITY reference front(); + _LIBCPP_INLINE_VISIBILITY const_reference front() const; + _LIBCPP_INLINE_VISIBILITY reference back(); + _LIBCPP_INLINE_VISIBILITY const_reference back() const; + _LIBCPP_INLINE_VISIBILITY basic_string& assign(const basic_string& __str); basic_string& assign(const basic_string& __str, size_type __pos, size_type __n); basic_string& assign(const_pointer __s, size_type __n); @@ -1163,12 +1177,14 @@ public: _LIBCPP_INLINE_VISIBILITY basic_string& assign(initializer_list<value_type> __il) {return assign(__il.begin(), __il.size());} + _LIBCPP_INLINE_VISIBILITY basic_string& insert(size_type __pos1, const basic_string& __str); basic_string& insert(size_type __pos1, const basic_string& __str, size_type __pos2, size_type __n); basic_string& insert(size_type __pos, const_pointer __s, size_type __n); basic_string& insert(size_type __pos, const_pointer __s); basic_string& insert(size_type __pos, size_type __n, value_type __c); iterator insert(const_iterator __pos, value_type __c); + _LIBCPP_INLINE_VISIBILITY iterator insert(const_iterator __pos, size_type __n, value_type __c); template<class _InputIterator> typename enable_if @@ -1190,17 +1206,24 @@ public: {return insert(__pos, __il.begin(), __il.end());} basic_string& erase(size_type __pos = 0, size_type __n = npos); + _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __pos); + _LIBCPP_INLINE_VISIBILITY iterator erase(const_iterator __first, const_iterator __last); + _LIBCPP_INLINE_VISIBILITY basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str); basic_string& replace(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2); basic_string& replace(size_type __pos, size_type __n1, const_pointer __s, size_type __n2); basic_string& replace(size_type __pos, size_type __n1, const_pointer __s); basic_string& replace(size_type __pos, size_type __n1, size_type __n2, value_type __c); + _LIBCPP_INLINE_VISIBILITY basic_string& replace(const_iterator __i1, const_iterator __i2, const basic_string& __str); + _LIBCPP_INLINE_VISIBILITY basic_string& replace(const_iterator __i1, const_iterator __i2, const_pointer __s, size_type __n); + _LIBCPP_INLINE_VISIBILITY basic_string& replace(const_iterator __i1, const_iterator __i2, const_pointer __s); + _LIBCPP_INLINE_VISIBILITY basic_string& replace(const_iterator __i1, const_iterator __i2, size_type __n, value_type __c); template<class _InputIterator> typename enable_if @@ -1214,8 +1237,10 @@ public: {return replace(__i1, __i2, __il.begin(), __il.end());} size_type copy(pointer __s, size_type __n, size_type __pos = 0) const; + _LIBCPP_INLINE_VISIBILITY basic_string substr(size_type __pos = 0, size_type __n = npos) const; + _LIBCPP_INLINE_VISIBILITY void swap(basic_string& __str); _LIBCPP_INLINE_VISIBILITY const_pointer c_str() const {return data();} @@ -1223,44 +1248,62 @@ public: _LIBCPP_INLINE_VISIBILITY allocator_type get_allocator() const {return __alloc();} + _LIBCPP_INLINE_VISIBILITY size_type find(const basic_string& __str, size_type __pos = 0) const; size_type find(const_pointer __s, size_type __pos, size_type __n) const; + _LIBCPP_INLINE_VISIBILITY size_type find(const_pointer __s, size_type __pos = 0) const; size_type find(value_type __c, size_type __pos = 0) const; + _LIBCPP_INLINE_VISIBILITY size_type rfind(const basic_string& __str, size_type __pos = npos) const; size_type rfind(const_pointer __s, size_type __pos, size_type __n) const; + _LIBCPP_INLINE_VISIBILITY size_type rfind(const_pointer __s, size_type __pos = npos) const; size_type rfind(value_type __c, size_type __pos = npos) const; + _LIBCPP_INLINE_VISIBILITY size_type find_first_of(const basic_string& __str, size_type __pos = 0) const; size_type find_first_of(const_pointer __s, size_type __pos, size_type __n) const; + _LIBCPP_INLINE_VISIBILITY size_type find_first_of(const_pointer __s, size_type __pos = 0) const; + _LIBCPP_INLINE_VISIBILITY size_type find_first_of(value_type __c, size_type __pos = 0) const; + _LIBCPP_INLINE_VISIBILITY size_type find_last_of(const basic_string& __str, size_type __pos = npos) const; size_type find_last_of(const_pointer __s, size_type __pos, size_type __n) const; + _LIBCPP_INLINE_VISIBILITY size_type find_last_of(const_pointer __s, size_type __pos = npos) const; + _LIBCPP_INLINE_VISIBILITY size_type find_last_of(value_type __c, size_type __pos = npos) const; + _LIBCPP_INLINE_VISIBILITY size_type find_first_not_of(const basic_string& __str, size_type __pos = 0) const; size_type find_first_not_of(const_pointer __s, size_type __pos, size_type __n) const; + _LIBCPP_INLINE_VISIBILITY size_type find_first_not_of(const_pointer __s, size_type __pos = 0) const; + _LIBCPP_INLINE_VISIBILITY size_type find_first_not_of(value_type __c, size_type __pos = 0) const; + _LIBCPP_INLINE_VISIBILITY size_type find_last_not_of(const basic_string& __str, size_type __pos = npos) const; size_type find_last_not_of(const_pointer __s, size_type __pos, size_type __n) const; + _LIBCPP_INLINE_VISIBILITY size_type find_last_not_of(const_pointer __s, size_type __pos = npos) const; + _LIBCPP_INLINE_VISIBILITY size_type find_last_not_of(value_type __c, size_type __pos = npos) const; + _LIBCPP_INLINE_VISIBILITY int compare(const basic_string& __str) const; + _LIBCPP_INLINE_VISIBILITY int compare(size_type __pos1, size_type __n1, const basic_string& __str) const; int compare(size_type __pos1, size_type __n1, const basic_string& __str, size_type __pos2, size_type __n2) const; int compare(const_pointer __s) const; int compare(size_type __pos1, size_type __n1, const_pointer __s) const; int compare(size_type __pos1, size_type __n1, const_pointer __s, size_type __n2) const; - bool __invariants() const; + _LIBCPP_INLINE_VISIBILITY bool __invariants() const; private: _LIBCPP_INLINE_VISIBILITY allocator_type& __alloc() {return __r_.second();} _LIBCPP_INLINE_VISIBILITY const allocator_type& __alloc() const {return __r_.second();} @@ -1338,6 +1381,7 @@ private: size_type __n_copy, size_type __n_del, size_type __n_add, const_pointer __p_new_stuff); + _LIBCPP_INLINE_VISIBILITY void __erase_to_end(size_type __pos); _LIBCPP_INLINE_VISIBILITY @@ -1361,7 +1405,9 @@ private: {} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + _LIBCPP_INLINE_VISIBILITY void __move_assign(basic_string& __str, false_type); + _LIBCPP_INLINE_VISIBILITY void __move_assign(basic_string& __str, true_type); #endif @@ -1380,8 +1426,8 @@ private: static void __swap_alloc(allocator_type& __x, allocator_type& __y, false_type) {} - void __invalidate_all_iterators(); - void __invalidate_iterators_past(size_type); + _LIBCPP_INLINE_VISIBILITY void __invalidate_all_iterators(); + _LIBCPP_INLINE_VISIBILITY void __invalidate_iterators_past(size_type); friend basic_string operator+<>(const basic_string&, const basic_string&); friend basic_string operator+<>(const value_type*, const basic_string&); @@ -1741,7 +1787,6 @@ basic_string<_CharT, _Traits, _Allocator>::basic_string(initializer_list<value_t } template <class _CharT, class _Traits, class _Allocator> -_LIBCPP_INLINE_VISIBILITY inline basic_string<_CharT, _Traits, _Allocator>::~basic_string() { __invalidate_all_iterators(); @@ -3204,6 +3249,7 @@ basic_string<_CharT, _Traits, _Allocator>::compare(size_type __pos1, size_type _ // __invariants template<class _CharT, class _Traits, class _Allocator> +_LIBCPP_INLINE_VISIBILITY inline bool basic_string<_CharT, _Traits, _Allocator>::__invariants() const { |