From Jason Turner

[span.objectrep]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpdfz3t0fg/{from.md → to.md} +217 -0
tmp/tmpdfz3t0fg/{from.md → to.md} RENAMED
@@ -0,0 +1,217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Views of object representation <a id="span.objectrep">[[span.objectrep]]</a>
2
+
3
+ ``` cpp
4
+ template<class ElementType, size_t Extent>
5
+ span<const byte, Extent == dynamic_extent ? dynamic_extent : sizeof(ElementType) * Extent>
6
+ as_bytes(span<ElementType, Extent> s) noexcept;
7
+ ```
8
+
9
+ *Effects:* Equivalent to:
10
+ `return R{reinterpret_cast<const byte*>(s.data()), s.size_bytes()};`
11
+ where `R` is the return type.
12
+
13
+ ``` cpp
14
+ template<class ElementType, size_t Extent>
15
+ span<byte, Extent == dynamic_extent ? dynamic_extent : sizeof(ElementType) * Extent>
16
+ as_writable_bytes(span<ElementType, Extent> s) noexcept;
17
+ ```
18
+
19
+ *Constraints:* `is_const_v<ElementType>` is `false`.
20
+
21
+ *Effects:* Equivalent to:
22
+ `return R{reinterpret_cast<byte*>(s.data()), s.size_bytes()};` where `R`
23
+ is the return type.
24
+
25
+ <!-- Link reference definitions -->
26
+ [alg.sorting]: algorithms.md#alg.sorting
27
+ [algorithm.stable]: library.md#algorithm.stable
28
+ [algorithms]: algorithms.md#algorithms
29
+ [algorithms.requirements]: algorithms.md#algorithms.requirements
30
+ [allocator.requirements]: library.md#allocator.requirements
31
+ [allocator.requirements.completeness]: library.md#allocator.requirements.completeness
32
+ [allocator.traits.members]: utilities.md#allocator.traits.members
33
+ [array]: #array
34
+ [array.cons]: #array.cons
35
+ [array.creation]: #array.creation
36
+ [array.members]: #array.members
37
+ [array.overview]: #array.overview
38
+ [array.special]: #array.special
39
+ [array.syn]: #array.syn
40
+ [array.tuple]: #array.tuple
41
+ [array.zero]: #array.zero
42
+ [associative]: #associative
43
+ [associative.general]: #associative.general
44
+ [associative.map.syn]: #associative.map.syn
45
+ [associative.reqmts]: #associative.reqmts
46
+ [associative.reqmts.except]: #associative.reqmts.except
47
+ [associative.set.syn]: #associative.set.syn
48
+ [basic.string]: strings.md#basic.string
49
+ [class.copy.ctor]: class.md#class.copy.ctor
50
+ [class.default.ctor]: class.md#class.default.ctor
51
+ [class.dtor]: class.md#class.dtor
52
+ [container.adaptors]: #container.adaptors
53
+ [container.adaptors.general]: #container.adaptors.general
54
+ [container.alloc.req]: #container.alloc.req
55
+ [container.assoc.req]: #container.assoc.req
56
+ [container.hash.req]: #container.hash.req
57
+ [container.insert.return]: #container.insert.return
58
+ [container.node]: #container.node
59
+ [container.node.compat]: #container.node.compat
60
+ [container.node.cons]: #container.node.cons
61
+ [container.node.dtor]: #container.node.dtor
62
+ [container.node.modifiers]: #container.node.modifiers
63
+ [container.node.observers]: #container.node.observers
64
+ [container.node.overview]: #container.node.overview
65
+ [container.opt]: #container.opt
66
+ [container.req]: #container.req
67
+ [container.requirements]: #container.requirements
68
+ [container.requirements.dataraces]: #container.requirements.dataraces
69
+ [container.requirements.general]: #container.requirements.general
70
+ [container.rev.req]: #container.rev.req
71
+ [container.seq.opt]: #container.seq.opt
72
+ [container.seq.req]: #container.seq.req
73
+ [containers]: #containers
74
+ [containers.general]: #containers.general
75
+ [containers.summary]: #containers.summary
76
+ [dcl.init.aggr]: dcl.md#dcl.init.aggr
77
+ [deque]: #deque
78
+ [deque.capacity]: #deque.capacity
79
+ [deque.cons]: #deque.cons
80
+ [deque.erasure]: #deque.erasure
81
+ [deque.modifiers]: #deque.modifiers
82
+ [deque.overview]: #deque.overview
83
+ [deque.syn]: #deque.syn
84
+ [forward.list.erasure]: #forward.list.erasure
85
+ [forward.list.syn]: #forward.list.syn
86
+ [forwardlist]: #forwardlist
87
+ [forwardlist.access]: #forwardlist.access
88
+ [forwardlist.cons]: #forwardlist.cons
89
+ [forwardlist.iter]: #forwardlist.iter
90
+ [forwardlist.modifiers]: #forwardlist.modifiers
91
+ [forwardlist.ops]: #forwardlist.ops
92
+ [forwardlist.overview]: #forwardlist.overview
93
+ [hash.requirements]: library.md#hash.requirements
94
+ [iterator.concept.contiguous]: iterators.md#iterator.concept.contiguous
95
+ [iterator.requirements]: iterators.md#iterator.requirements
96
+ [iterator.requirements.general]: iterators.md#iterator.requirements.general
97
+ [list]: #list
98
+ [list.capacity]: #list.capacity
99
+ [list.cons]: #list.cons
100
+ [list.erasure]: #list.erasure
101
+ [list.modifiers]: #list.modifiers
102
+ [list.ops]: #list.ops
103
+ [list.overview]: #list.overview
104
+ [list.syn]: #list.syn
105
+ [map]: #map
106
+ [map.access]: #map.access
107
+ [map.cons]: #map.cons
108
+ [map.erasure]: #map.erasure
109
+ [map.modifiers]: #map.modifiers
110
+ [map.overview]: #map.overview
111
+ [multimap]: #multimap
112
+ [multimap.cons]: #multimap.cons
113
+ [multimap.erasure]: #multimap.erasure
114
+ [multimap.modifiers]: #multimap.modifiers
115
+ [multimap.overview]: #multimap.overview
116
+ [multiset]: #multiset
117
+ [multiset.cons]: #multiset.cons
118
+ [multiset.erasure]: #multiset.erasure
119
+ [multiset.overview]: #multiset.overview
120
+ [priority.queue]: #priority.queue
121
+ [priqueue.cons]: #priqueue.cons
122
+ [priqueue.cons.alloc]: #priqueue.cons.alloc
123
+ [priqueue.members]: #priqueue.members
124
+ [priqueue.overview]: #priqueue.overview
125
+ [priqueue.special]: #priqueue.special
126
+ [queue]: #queue
127
+ [queue.cons]: #queue.cons
128
+ [queue.cons.alloc]: #queue.cons.alloc
129
+ [queue.defn]: #queue.defn
130
+ [queue.ops]: #queue.ops
131
+ [queue.special]: #queue.special
132
+ [queue.syn]: #queue.syn
133
+ [random.access.iterators]: iterators.md#random.access.iterators
134
+ [res.on.data.races]: library.md#res.on.data.races
135
+ [sequence.reqmts]: #sequence.reqmts
136
+ [sequences]: #sequences
137
+ [sequences.general]: #sequences.general
138
+ [set]: #set
139
+ [set.cons]: #set.cons
140
+ [set.erasure]: #set.erasure
141
+ [set.overview]: #set.overview
142
+ [span.cons]: #span.cons
143
+ [span.deduct]: #span.deduct
144
+ [span.elem]: #span.elem
145
+ [span.iterators]: #span.iterators
146
+ [span.objectrep]: #span.objectrep
147
+ [span.obs]: #span.obs
148
+ [span.overview]: #span.overview
149
+ [span.sub]: #span.sub
150
+ [span.syn]: #span.syn
151
+ [stack]: #stack
152
+ [stack.cons]: #stack.cons
153
+ [stack.cons.alloc]: #stack.cons.alloc
154
+ [stack.defn]: #stack.defn
155
+ [stack.ops]: #stack.ops
156
+ [stack.special]: #stack.special
157
+ [stack.syn]: #stack.syn
158
+ [strings]: strings.md#strings
159
+ [swappable.requirements]: library.md#swappable.requirements
160
+ [tab:container.opt]: #tab:container.opt
161
+ [tab:container.req]: #tab:container.req
162
+ [tab:container.rev.req]: #tab:container.rev.req
163
+ [tab:container.seq.opt]: #tab:container.seq.opt
164
+ [tab:container.seq.req]: #tab:container.seq.req
165
+ [temp.deduct]: temp.md#temp.deduct
166
+ [temp.param]: temp.md#temp.param
167
+ [temp.type]: temp.md#temp.type
168
+ [unord]: #unord
169
+ [unord.general]: #unord.general
170
+ [unord.hash]: utilities.md#unord.hash
171
+ [unord.map]: #unord.map
172
+ [unord.map.cnstr]: #unord.map.cnstr
173
+ [unord.map.elem]: #unord.map.elem
174
+ [unord.map.erasure]: #unord.map.erasure
175
+ [unord.map.modifiers]: #unord.map.modifiers
176
+ [unord.map.overview]: #unord.map.overview
177
+ [unord.map.syn]: #unord.map.syn
178
+ [unord.multimap]: #unord.multimap
179
+ [unord.multimap.cnstr]: #unord.multimap.cnstr
180
+ [unord.multimap.erasure]: #unord.multimap.erasure
181
+ [unord.multimap.modifiers]: #unord.multimap.modifiers
182
+ [unord.multimap.overview]: #unord.multimap.overview
183
+ [unord.multiset]: #unord.multiset
184
+ [unord.multiset.cnstr]: #unord.multiset.cnstr
185
+ [unord.multiset.erasure]: #unord.multiset.erasure
186
+ [unord.multiset.overview]: #unord.multiset.overview
187
+ [unord.req]: #unord.req
188
+ [unord.req.except]: #unord.req.except
189
+ [unord.set]: #unord.set
190
+ [unord.set.cnstr]: #unord.set.cnstr
191
+ [unord.set.erasure]: #unord.set.erasure
192
+ [unord.set.overview]: #unord.set.overview
193
+ [unord.set.syn]: #unord.set.syn
194
+ [vector]: #vector
195
+ [vector.bool]: #vector.bool
196
+ [vector.capacity]: #vector.capacity
197
+ [vector.cons]: #vector.cons
198
+ [vector.data]: #vector.data
199
+ [vector.erasure]: #vector.erasure
200
+ [vector.modifiers]: #vector.modifiers
201
+ [vector.overview]: #vector.overview
202
+ [vector.syn]: #vector.syn
203
+ [views]: #views
204
+ [views.general]: #views.general
205
+ [views.span]: #views.span
206
+
207
+ [^1]: Equality comparison is a refinement of partitioning if no two
208
+ objects that compare equal fall into different partitions.
209
+
210
+ [^2]: These member functions are only provided by containers whose
211
+ iterators are random access iterators.
212
+
213
+ [^3]: As specified in  [[allocator.requirements]], the requirements in
214
+ this Clause apply only to lists whose allocators compare equal.
215
+
216
+ [^4]: `reserve()` uses `Allocator::allocate()` which may throw an
217
+ appropriate exception.