From Jason Turner

[basic.align]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpms8chabv/{from.md → to.md} +12 -12
tmp/tmpms8chabv/{from.md → to.md} RENAMED
@@ -1,20 +1,20 @@
1
  ### Alignment <a id="basic.align">[[basic.align]]</a>
2
 
3
- Object types have *alignment requirements* ([[basic.fundamental]],
4
- [[basic.compound]]) which place restrictions on the addresses at which
5
- an object of that type may be allocated. An *alignment* is an
6
- *implementation-defined* integer value representing the number of bytes
7
- between successive addresses at which a given object can be allocated.
8
- An object type imposes an alignment requirement on every object of that
9
- type; stricter alignment can be requested using the alignment specifier
10
- [[dcl.align]].
11
 
12
  A *fundamental alignment* is represented by an alignment less than or
13
  equal to the greatest alignment supported by the implementation in all
14
  contexts, which is equal to `alignof(std::max_align_t)`
15
- [[support.types]]. The alignment required for a type might be different
16
  when it is used as the type of a complete object and when it is used as
17
  the type of a subobject.
18
 
19
  [*Example 1*:
20
 
@@ -72,12 +72,12 @@ Comparing alignments is meaningful and provides the obvious results:
72
  - Two alignments are different when their numeric values are not equal.
73
  - When an alignment is larger than another it represents a stricter
74
  alignment.
75
 
76
  [*Note 3*: The runtime pointer alignment function [[ptr.align]] can be
77
- used to obtain an aligned pointer within a buffer; the aligned-storage
78
- templates in the library [[meta.trans.other]] can be used to obtain
79
- aligned storage. — *end note*]
80
 
81
  If a request for a specific extended alignment in a specific context is
82
  not supported by an implementation, the program is ill-formed.
83
 
 
1
  ### Alignment <a id="basic.align">[[basic.align]]</a>
2
 
3
+ Object types have *alignment requirements*
4
+ [[basic.fundamental]], [[basic.compound]] which place restrictions on
5
+ the addresses at which an object of that type may be allocated. An
6
+ *alignment* is an *implementation-defined* integer value representing
7
+ the number of bytes between successive addresses at which a given object
8
+ can be allocated. An object type imposes an alignment requirement on
9
+ every object of that type; stricter alignment can be requested using the
10
+ alignment specifier [[dcl.align]].
11
 
12
  A *fundamental alignment* is represented by an alignment less than or
13
  equal to the greatest alignment supported by the implementation in all
14
  contexts, which is equal to `alignof(std::max_align_t)`
15
+ [[support.types]]. The alignment required for a type may be different
16
  when it is used as the type of a complete object and when it is used as
17
  the type of a subobject.
18
 
19
  [*Example 1*:
20
 
 
72
  - Two alignments are different when their numeric values are not equal.
73
  - When an alignment is larger than another it represents a stricter
74
  alignment.
75
 
76
  [*Note 3*: The runtime pointer alignment function [[ptr.align]] can be
77
+ used to obtain an aligned pointer within a buffer; an
78
+ *alignment-specifier* [[dcl.align]] can be used to align storage
79
+ explicitly. — *end note*]
80
 
81
  If a request for a specific extended alignment in a specific context is
82
  not supported by an implementation, the program is ill-formed.
83