From Jason Turner

[template.bitset.general]

Diff to HTML by rtfpessoa

tmp/tmphv4qvri_/{from.md → to.md} RENAMED
@@ -4,13 +4,10 @@
4
  namespace std {
5
  template<size_t N> class bitset {
6
  public:
7
  // bit reference
8
  class reference {
9
- friend class bitset;
10
- constexpr reference() noexcept;
11
-
12
  public:
13
  constexpr reference(const reference&) = default;
14
  constexpr ~reference();
15
  constexpr reference& operator=(bool x) noexcept; // for b[i] = x;
16
  constexpr reference& operator=(const reference&) noexcept; // for b[i] = b[j];
@@ -28,14 +25,22 @@ namespace std {
28
  typename basic_string<charT, traits, Allocator>::size_type pos = 0,
29
  typename basic_string<charT, traits, Allocator>::size_type n
30
  = basic_string<charT, traits, Allocator>::npos,
31
  charT zero = charT('0'),
32
  charT one = charT('1'));
 
 
 
 
 
 
 
 
33
  template<class charT>
34
  constexpr explicit bitset(
35
  const charT* str,
36
- typename basic_string<charT>::size_type n = basic_string<charT>::npos,
37
  charT zero = charT('0'),
38
  charT one = charT('1'));
39
 
40
  // [bitset.members], bitset operations
41
  constexpr bitset& operator&=(const bitset& rhs) noexcept;
 
4
  namespace std {
5
  template<size_t N> class bitset {
6
  public:
7
  // bit reference
8
  class reference {
 
 
 
9
  public:
10
  constexpr reference(const reference&) = default;
11
  constexpr ~reference();
12
  constexpr reference& operator=(bool x) noexcept; // for b[i] = x;
13
  constexpr reference& operator=(const reference&) noexcept; // for b[i] = b[j];
 
25
  typename basic_string<charT, traits, Allocator>::size_type pos = 0,
26
  typename basic_string<charT, traits, Allocator>::size_type n
27
  = basic_string<charT, traits, Allocator>::npos,
28
  charT zero = charT('0'),
29
  charT one = charT('1'));
30
+ template<class charT, class traits>
31
+ constexpr explicit bitset(
32
+ basic_string_view<charT, traits> str,
33
+ typename basic_string_view<charT, traits>::size_type pos = 0,
34
+ typename basic_string_view<charT, traits>::size_type n
35
+ = basic_string_view<charT, traits>::npos,
36
+ charT zero = charT('0'),
37
+ charT one = charT('1'));
38
  template<class charT>
39
  constexpr explicit bitset(
40
  const charT* str,
41
+ typename basic_string_view<charT>::size_type n = basic_string_view<charT>::npos,
42
  charT zero = charT('0'),
43
  charT one = charT('1'));
44
 
45
  // [bitset.members], bitset operations
46
  constexpr bitset& operator&=(const bitset& rhs) noexcept;