Lines Matching full:since
56 using comparison_category = strong_ordering; // Since C++20 only for the specializations
105 noexcept(is_nothrow_default_constructible<allocator_type>::value); // constexpr since C++20
106 explicit basic_string(const allocator_type& a); // constexpr since C++20
107 basic_string(const basic_string& str); // constexpr since C++20
109 noexcept(is_nothrow_move_constructible<allocator_type>::value); // constexpr since C++20
111 const allocator_type& a = allocator_type()); // constexpr since C++20
113 const Allocator& a = Allocator()); // constexpr since C++20
115 basic_string&& str, size_type pos, const Allocator& a = Allocator()); // since C++23
117 basic_string&& str, size_type pos, size_type n, const Allocator& a = Allocator()); // since C++23
119 basic_string(const T& t, size_type pos, size_type n, const Allocator& a = Allocator()); // C++17, constexpr since C++20
121 explicit basic_string(const T& t, const Allocator& a = Allocator()); // C++17, constexpr since C++20
122 basic_string(const value_type* s, const allocator_type& a = allocator_type()); // constexpr since C++20
123 basic_string(const value_type* s, size_type n, const allocator_type& a = allocator_type()); // constexpr since C++20
125 basic_string(size_type n, value_type c, const allocator_type& a = allocator_type()); // constexpr since C++20
128 const allocator_type& a = allocator_type()); // constexpr since C++20
130 constexpr basic_string(from_range_t, R&& rg, const Allocator& a = Allocator()); // since C++23
131 basic_string(initializer_list<value_type>, const Allocator& = Allocator()); // constexpr since C++20
132 basic_string(const basic_string&, const Allocator&); // constexpr since C++20
133 basic_string(basic_string&&, const Allocator&); // constexpr since C++20
135 ~basic_string(); // constexpr since C++20
137 operator basic_string_view<charT, traits>() const noexcept; // constexpr since C++20
139 basic_string& operator=(const basic_string& str); // constexpr since C++20
141 basic_string& operator=(const T& t); // C++17, constexpr since C++20
145 allocator_type::is_always_equal::value ); // C++17, constexpr since C++20
146 basic_string& operator=(const value_type* s); // constexpr since C++20
148 basic_string& operator=(value_type c); // constexpr since C++20
149 basic_string& operator=(initializer_list<value_type>); // constexpr since C++20
151 iterator begin() noexcept; // constexpr since C++20
152 const_iterator begin() const noexcept; // constexpr since C++20
153 iterator end() noexcept; // constexpr since C++20
154 const_iterator end() const noexcept; // constexpr since C++20
156 reverse_iterator rbegin() noexcept; // constexpr since C++20
157 const_reverse_iterator rbegin() const noexcept; // constexpr since C++20
158 reverse_iterator rend() noexcept; // constexpr since C++20
159 const_reverse_iterator rend() const noexcept; // constexpr since C++20
161 const_iterator cbegin() const noexcept; // constexpr since C++20
162 const_iterator cend() const noexcept; // constexpr since C++20
163 const_reverse_iterator crbegin() const noexcept; // constexpr since C++20
164 const_reverse_iterator crend() const noexcept; // constexpr since C++20
166 size_type size() const noexcept; // constexpr since C++20
167 size_type length() const noexcept; // constexpr since C++20
168 size_type max_size() const noexcept; // constexpr since C++20
169 size_type capacity() const noexcept; // constexpr since C++20
171 void resize(size_type n, value_type c); // constexpr since C++20
172 void resize(size_type n); // constexpr since C++20
175 constexpr void resize_and_overwrite(size_type n, Operation op); // since C++23
177 void reserve(size_type res_arg); // constexpr since C++20
179 void shrink_to_fit(); // constexpr since C++20
180 void clear() noexcept; // constexpr since C++20
181 bool empty() const noexcept; // constexpr since C++20
183 const_reference operator[](size_type pos) const; // constexpr since C++20
184 reference operator[](size_type pos); // constexpr since C++20
186 const_reference at(size_type n) const; // constexpr since C++20
187 reference at(size_type n); // constexpr since C++20
189 basic_string& operator+=(const basic_string& str); // constexpr since C++20
191 basic_string& operator+=(const T& t); // C++17, constexpr since C++20
192 basic_string& operator+=(const value_type* s); // constexpr since C++20
193 basic_string& operator+=(value_type c); // constexpr since C++20
194 basic_string& operator+=(initializer_list<value_type>); // constexpr since C++20
196 basic_string& append(const basic_string& str); // constexpr since C++20
198 basic_string& append(const T& t); // C++17, constexpr since C++20
199 basic_string& append(const basic_string& str, size_type pos, size_type n=npos); // C++14, constexpr since C++20
201 basic_string& append(const T& t, size_type pos, size_type n=npos); // C++17, constexpr since C++20
202 basic_string& append(const value_type* s, size_type n); // constexpr since C++20
203 basic_string& append(const value_type* s); // constexpr since C++20
204 basic_string& append(size_type n, value_type c); // constexpr since C++20
206 basic_string& append(InputIterator first, InputIterator last); // constexpr since C++20
209 basic_string& append(initializer_list<value_type>); // constexpr since C++20
211 void push_back(value_type c); // constexpr since C++20
212 void pop_back(); // constexpr since C++20
213 reference front(); // constexpr since C++20
214 const_reference front() const; // constexpr since C++20
215 reference back(); // constexpr since C++20
216 const_reference back() const; // constexpr since C++20
218 basic_string& assign(const basic_string& str); // constexpr since C++20
220 basic_string& assign(const T& t); // C++17, constexpr since C++20
221 basic_string& assign(basic_string&& str); // constexpr since C++20
222 basic_string& assign(const basic_string& str, size_type pos, size_type n=npos); // C++14, constexpr since C++20
224 basic_string& assign(const T& t, size_type pos, size_type n=npos); // C++17, constexpr since C++20
225 basic_string& assign(const value_type* s, size_type n); // constexpr since C++20
226 basic_string& assign(const value_type* s); // constexpr since C++20
227 basic_string& assign(size_type n, value_type c); // constexpr since C++20
229 basic_string& assign(InputIterator first, InputIterator last); // constexpr since C++20
232 basic_string& assign(initializer_list<value_type>); // constexpr since C++20
234 basic_string& insert(size_type pos1, const basic_string& str); // constexpr since C++20
236 basic_string& insert(size_type pos1, const T& t); // constexpr since C++20
238 size_type pos2, size_type n); // constexpr since C++20
240 basic_string& insert(size_type pos1, const T& t, size_type pos2, size_type n); // C++17, constexpr since C++20
241 basic_string& insert(size_type pos, const value_type* s, size_type n=npos); // C++14, constexpr since C++20
242 basic_string& insert(size_type pos, const value_type* s); // constexpr since C++20
243 basic_string& insert(size_type pos, size_type n, value_type c); // constexpr since C++20
244 iterator insert(const_iterator p, value_type c); // constexpr since C++20
245 iterator insert(const_iterator p, size_type n, value_type c); // constexpr since C++20
247 iterator insert(const_iterator p, InputIterator first, InputIterator last); // constexpr since C++20
250 iterator insert(const_iterator p, initializer_list<value_type>); // constexpr since C++20
252 basic_string& erase(size_type pos = 0, size_type n = npos); // constexpr since C++20
253 iterator erase(const_iterator position); // constexpr since C++20
254 iterator erase(const_iterator first, const_iterator last); // constexpr since C++20
256 basic_string& replace(size_type pos1, size_type n1, const basic_string& str); // constexpr since C++20
258 basic_string& replace(size_type pos1, size_type n1, const T& t); // C++17, constexpr since C++20
260 size_type pos2, size_type n2=npos); // C++14, constexpr since C++20
263 size_type pos2, size_type n); // C++17, constexpr since C++20
264 basic_string& replace(size_type pos, size_type n1, const value_type* s, size_type n2); // constexpr since C++20
265 basic_string& replace(size_type pos, size_type n1, const value_type* s); // constexpr since C++20
266 basic_string& replace(size_type pos, size_type n1, size_type n2, value_type c); // constexpr since C++20
267 basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str); // constexpr since C++20
269 basic_string& replace(const_iterator i1, const_iterator i2, const T& t); // C++17, constexpr since C++20
270 basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s, size_type n); // constexpr since C++20
271 basic_string& replace(const_iterator i1, const_iterator i2, const value_type* s); // constexpr since C++20
272 basic_string& replace(const_iterator i1, const_iterator i2, size_type n, value_type c); // constexpr since C++20
274 basic_string& replace(const_iterator i1, const_iterator i2, InputIterator j1, InputIterator j2); // constexpr since C++20
277 basic_string& replace(const_iterator i1, const_iterator i2, initializer_list<value_type>); // constexpr since C++20
279 size_type copy(value_type* s, size_type n, size_type pos = 0) const; // constexpr since C++20
281 basic_string substr(size_type pos = 0, size_type n = npos) const&; // since C++23
282 constexpr basic_string substr(size_type pos = 0, size_type n = npos) &&; // since C++23
285 allocator_traits<allocator_type>::is_always_equal::value); // C++17, constexpr since C++20
287 const value_type* c_str() const noexcept; // constexpr since C++20
288 const value_type* data() const noexcept; // constexpr since C++20
289 value_type* data() noexcept; // C++17, constexpr since C++20
291 allocator_type get_allocator() const noexcept; // constexpr since C++20
293 size_type find(const basic_string& str, size_type pos = 0) const noexcept; // constexpr since C++20
295 size_type find(const T& t, size_type pos = 0) const noexcept; // C++17, noexcept as an extension, constexpr since C++20
296 size_type find(const value_type* s, size_type pos, size_type n) const noexcept; // constexpr since C++20
297 size_type find(const value_type* s, size_type pos = 0) const noexcept; // constexpr since C++20
298 size_type find(value_type c, size_type pos = 0) const noexcept; // constexpr since C++20
300 size_type rfind(const basic_string& str, size_type pos = npos) const noexcept; // constexpr since C++20
302 size_type rfind(const T& t, size_type pos = npos) const noexcept; // C++17, noexcept as an extension, constexpr since C++20
303 size_type rfind(const value_type* s, size_type pos, size_type n) const noexcept; // constexpr since C++20
304 size_type rfind(const value_type* s, size_type pos = npos) const noexcept; // constexpr since C++20
305 size_type rfind(value_type c, size_type pos = npos) const noexcept; // constexpr since C++20
307 size_type find_first_of(const basic_string& str, size_type pos = 0) const noexcept; // constexpr since C++20
309 size_type find_first_of(const T& t, size_type pos = 0) const noexcept; // C++17, noexcept as an extension, constexpr since C++20
310 size_type find_first_of(const value_type* s, size_type pos, size_type n) const noexcept; // constexpr since C++20
311 size_type find_first_of(const value_type* s, size_type pos = 0) const noexcept; // constexpr since C++20
312 size_type find_first_of(value_type c, size_type pos = 0) const noexcept; // constexpr since C++20
314 size_type find_last_of(const basic_string& str, size_type pos = npos) const noexcept; // constexpr since C++20
316 size_type find_last_of(const T& t, size_type pos = npos) const noexcept noexcept; // C++17, noexcept as an extension, constexpr since C++20
317 size_type find_last_of(const value_type* s, size_type pos, size_type n) const noexcept; // constexpr since C++20
318 size_type find_last_of(const value_type* s, size_type pos = npos) const noexcept; // constexpr since C++20
319 size_type find_last_of(value_type c, size_type pos = npos) const noexcept; // constexpr since C++20
321 size_type find_first_not_of(const basic_string& str, size_type pos = 0) const noexcept; // constexpr since C++20
323 size_type find_first_not_of(const T& t, size_type pos = 0) const noexcept; // C++17, noexcept as an extension, constexpr since C++20
324 size_type find_first_not_of(const value_type* s, size_type pos, size_type n) const noexcept; // constexpr since C++20
325 size_type find_first_not_of(const value_type* s, size_type pos = 0) const noexcept; // constexpr since C++20
326 size_type find_first_not_of(value_type c, size_type pos = 0) const noexcept; // constexpr since C++20
328 size_type find_last_not_of(const basic_string& str, size_type pos = npos) const noexcept; // constexpr since C++20
330 size_type find_last_not_of(const T& t, size_type pos = npos) const noexcept; // C++17, noexcept as an extension, constexpr since C++20
331 size_type find_last_not_of(const value_type* s, size_type pos, size_type n) const noexcept; // constexpr since C++20
332 size_type find_last_not_of(const value_type* s, size_type pos = npos) const noexcept; // constexpr since C++20
333 size_type find_last_not_of(value_type c, size_type pos = npos) const noexcept; // constexpr since C++20
335 int compare(const basic_string& str) const noexcept; // constexpr since C++20
337 int compare(const T& t) const noexcept; // C++17, noexcept as an extension, constexpr since C++20
338 int compare(size_type pos1, size_type n1, const basic_string& str) const; // constexpr since C++20
340 int compare(size_type pos1, size_type n1, const T& t) const; // C++17, constexpr since C++20
342 size_type pos2, size_type n2=npos) const; // C++14, constexpr since C++20
345 size_type pos2, size_type n2=npos) const; // C++17, constexpr since C++20
346 int compare(const value_type* s) const noexcept; // constexpr since C++20
347 int compare(size_type pos1, size_type n1, const value_type* s) const; // constexpr since C++20
348 int compare(size_type pos1, size_type n1, const value_type* s, size_type n2) const; // constexpr since C++20
392 const basic_string<charT, traits, Allocator>& rhs); // constexpr since C++20
396 operator+(const charT* lhs , const basic_string<charT,traits,Allocator>&rhs); // constexpr since C++20
400 operator+(charT lhs, const basic_string<charT,traits,Allocator>& rhs); // constexpr since C++20
404 operator+(const basic_string<charT, traits, Allocator>& lhs, const charT* rhs); // constexpr since C++20
408 operator+(const basic_string<charT, traits, Allocator>& lhs, charT rhs); // constexpr since C++20
413 type_identity_t<basic_string_view<charT, traits>> rhs); // Since C++26
417 type_identity_t<basic_string_view<charT, traits>> rhs); // Since C++26
421 const basic_string<charT, traits, Allocator>& rhs); // Since C++26
425 basic_string<charT, traits, Allocator>&& rhs); // Since C++26
430 const basic_string<charT, traits, Allocator>& rhs) noexcept; // constexpr since C++20
436 bool operator==(const basic_string<charT,traits,Allocator>& lhs, const charT* rhs) noexcept; // constexpr since C++20
488 template<class charT, class traits, class Allocator> // since C++20
492 template<class charT, class traits, class Allocator> // since C++20
499 noexcept(noexcept(lhs.swap(rhs))); // constexpr since C++20
577 basic_string<char> operator""s( const char *str, size_t len ); // C++14, constexpr since C++20
578 basic_string<wchar_t> operator""s( const wchar_t *str, size_t len ); // C++14, constexpr since C++20
580 basic_string<char16_t> operator""s( const char16_t *str, size_t len ); // C++14, constexpr since C++20
581 basic_string<char32_t> operator""s( const char32_t *str, size_t len ); // C++14, constexpr since C++20
772 // - size_type: is always trivially relocatable, since it has to be an integral type
773 // - value_type: is always trivially relocatable, since it has to be trivial
870 // This does not impact the short string representation, since we never need the MSB
957 // a stricter check, since correct code can never rely on being able to access newly-added elements via an existing
3323 // and later (since P0966R1), however we provide consistent behavior in all Standard