From Jason Turner

[vector.syn]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmputlj2zvh/{from.md → to.md} +16 -6
tmp/tmputlj2zvh/{from.md → to.md} RENAMED
@@ -16,26 +16,36 @@ namespace std {
16
 
17
  template<class T, class Allocator>
18
  constexpr void swap(vector<T, Allocator>& x, vector<T, Allocator>& y)
19
  noexcept(noexcept(x.swap(y)));
20
 
 
21
  template<class T, class Allocator, class U>
22
  constexpr typename vector<T, Allocator>::size_type
23
  erase(vector<T, Allocator>& c, const U& value);
24
  template<class T, class Allocator, class Predicate>
25
  constexpr typename vector<T, Allocator>::size_type
26
  erase_if(vector<T, Allocator>& c, Predicate pred);
27
 
28
- // [vector.bool], class vector<bool>
29
- template<class Allocator> class vector<bool, Allocator>;
 
 
 
 
 
 
 
 
 
 
30
 
31
  // hash support
32
  template<class T> struct hash;
33
  template<class Allocator> struct hash<vector<bool, Allocator>>;
34
 
35
- namespace pmr {
36
- template<class T>
37
- using vector = std::vector<T, polymorphic_allocator<T>>;
38
- }
39
  }
40
  ```
41
 
 
16
 
17
  template<class T, class Allocator>
18
  constexpr void swap(vector<T, Allocator>& x, vector<T, Allocator>& y)
19
  noexcept(noexcept(x.swap(y)));
20
 
21
+ // [vector.erasure], erasure
22
  template<class T, class Allocator, class U>
23
  constexpr typename vector<T, Allocator>::size_type
24
  erase(vector<T, Allocator>& c, const U& value);
25
  template<class T, class Allocator, class Predicate>
26
  constexpr typename vector<T, Allocator>::size_type
27
  erase_if(vector<T, Allocator>& c, Predicate pred);
28
 
29
+ namespace pmr {
30
+ template<class T>
31
+ using vector = std::vector<T, polymorphic_allocator<T>>;
32
+ }
33
+
34
+ // [vector.bool], specialization of vector for bool
35
+ // [vector.bool.pspc], partial class template specialization vector<bool, Allocator>
36
+ template<class Allocator>
37
+ class vector<bool, Allocator>;
38
+
39
+ template<class T>
40
+ constexpr bool is-vector-bool-reference = see below; // exposition only
41
 
42
  // hash support
43
  template<class T> struct hash;
44
  template<class Allocator> struct hash<vector<bool, Allocator>>;
45
 
46
+ // [vector.bool.fmt], formatter specialization for vector<bool>
47
+ template<class T, class charT> requires is-vector-bool-reference<T>
48
+ struct formatter<T, charT>;
 
49
  }
50
  ```
51