From cfce831e6c3288fd4a8989eb9055faba69b3da3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Kr=C3=BCgler?=
+The complexity requirements for a reversible container (
+This wording is relative to
+[Drafting Note: The proposed wording is similar to the specification in
+
Modify
+++-2- A specialization of basic_string is a contiguous container and reversible container +(
+-3- In all cases, [data(), data() + size()] is a valid range, data() + size() points at +an object with value charT() (a "null terminator"), and size() <= capacity() is true. + +). + +[…] ++namespace std { + template<class charT, class traits = char_traits<charT>, + class Allocator = allocator<charT>> + class basic_string { + […] + //iterators + constexpr iterator begin() noexcept; + constexpr const_iterator begin() const noexcept; + constexpr iterator end() noexcept; + constexpr const_iterator end() const noexcept; + + constexpr reverse_iterator rbegin() noexcept; + constexpr const_reverse_iterator rbegin() const noexcept; + constexpr reverse_iterator rend() noexcept; + constexpr const_reverse_iterator rend() const noexcept; + + constexpr const_iterator cbegin() const noexcept; + constexpr const_iterator cend() const noexcept; + constexpr const_reverse_iterator crbegin() const noexcept; + constexpr const_reverse_iterator crend() const noexcept; + + //, , capacity + […] + }; + […] +} +
Remove subclause
++ ++
+23.4.3.4 Iterator support [string.iterators]+++constexpr iterator begin() noexcept; +constexpr const_iterator begin() const noexcept; +constexpr const_iterator cbegin() const noexcept;+++[…] ++
+-1- Returns: An iterator referring to the first character in the string.+++constexpr reverse_iterator rend() noexcept; +constexpr const_reverse_iterator rend() const noexcept; +constexpr const_reverse_iterator crend() const noexcept;++++
+-4- Returns: An iterator which is semantically equivalent to reverse_iterator(begin()).+