From Jason Turner

[string.view.synop]

Diff to HTML by rtfpessoa

tmp/tmpskn39q4l/{from.md → to.md} RENAMED
@@ -1,35 +1,35 @@
1
  ### Header `<string_view>` synopsis <a id="string.view.synop">[[string.view.synop]]</a>
2
 
3
  ``` cpp
 
4
  #include <compare> // see [compare.syn]
5
 
6
  namespace std {
7
  // [string.view.template], class template basic_string_view
8
  template<class charT, class traits = char_traits<charT>>
9
- class basic_string_view;
10
 
11
  template<class charT, class traits>
12
- constexpr bool ranges::enable_view<basic_string_view<charT, traits>> = true;
13
  template<class charT, class traits>
14
- constexpr bool ranges::enable_borrowed_range<basic_string_view<charT, traits>> = true;
15
 
16
  // [string.view.comparison], non-member comparison functions
17
  template<class charT, class traits>
18
  constexpr bool operator==(basic_string_view<charT, traits> x,
19
- basic_string_view<charT, traits> y) noexcept;
20
  template<class charT, class traits>
21
  constexpr see below operator<=>(basic_string_view<charT, traits> x,
22
- \itcorr basic_string_view<charT, traits> y) noexcept;
23
-
24
- // see [string.view.comparison], sufficient additional overloads of comparison functions
25
 
26
  // [string.view.io], inserters and extractors
27
  template<class charT, class traits>
28
  basic_ostream<charT, traits>&
29
  operator<<(basic_ostream<charT, traits>& os,
30
- basic_string_view<charT, traits> str);
31
 
32
  // basic_string_view typedef-names
33
  using string_view = basic_string_view<char>;
34
  using u8string_view = basic_string_view<char8_t>;
35
  using u16string_view = basic_string_view<char16_t>;
 
1
  ### Header `<string_view>` synopsis <a id="string.view.synop">[[string.view.synop]]</a>
2
 
3
  ``` cpp
4
+ // mostly freestanding
5
  #include <compare> // see [compare.syn]
6
 
7
  namespace std {
8
  // [string.view.template], class template basic_string_view
9
  template<class charT, class traits = char_traits<charT>>
10
+ class basic_string_view; // partially freestanding
11
 
12
  template<class charT, class traits>
13
+ constexpr bool ranges::\libspec{enable_view}{basic_string_view}<basic_string_view<charT, traits>> = true;
14
  template<class charT, class traits>
15
+ constexpr bool ranges::\libspec{enable_borrowed_range}{basic_string_view}<basic_string_view<charT, traits>> = true;
16
 
17
  // [string.view.comparison], non-member comparison functions
18
  template<class charT, class traits>
19
  constexpr bool operator==(basic_string_view<charT, traits> x,
20
+ type_identity_t<basic_string_view<charT, traits>> y) noexcept;
21
  template<class charT, class traits>
22
  constexpr see below operator<=>(basic_string_view<charT, traits> x,
23
+ \itcorr type_identity_t<basic_string_view<charT,
24
+ \itcorr traits>> y) noexcept;
 
25
 
26
  // [string.view.io], inserters and extractors
27
  template<class charT, class traits>
28
  basic_ostream<charT, traits>&
29
  operator<<(basic_ostream<charT, traits>& os,
30
+ basic_string_view<charT, traits> str); // hosted
31
 
32
  // basic_string_view typedef-names
33
  using string_view = basic_string_view<char>;
34
  using u8string_view = basic_string_view<char8_t>;
35
  using u16string_view = basic_string_view<char16_t>;