From Jason Turner

[support.srcloc]

Diff to HTML by rtfpessoa

tmp/tmppmzcgvgx/{from.md → to.md} RENAMED
@@ -4,17 +4,20 @@
4
 
5
  The header `<source_location>` defines the class `source_location` that
6
  provides a means to obtain source location information.
7
 
8
  ``` cpp
 
9
  namespace std {
10
  struct source_location;
11
  }
12
  ```
13
 
14
  ### Class `source_location` <a id="support.srcloc.class">[[support.srcloc.class]]</a>
15
 
 
 
16
  ``` cpp
17
  namespace std {
18
  struct source_location {
19
  // source location construction
20
  static consteval source_location current() noexcept;
@@ -34,13 +37,13 @@ namespace std {
34
  };
35
  }
36
  ```
37
 
38
  The type `source_location` meets the *Cpp17DefaultConstructible*,
39
- *Cpp17CopyConstructible*, *Cpp17CopyAssignable*, and *Cpp17Destructible*
40
- requirements [[utility.arg.requirements]]. Lvalues of type
41
- `source_location` are swappable [[swappable.requirements]]. All of the
42
  following conditions are `true`:
43
 
44
  - `is_nothrow_move_constructible_v<source_location>`
45
  - `is_nothrow_move_assignable_v<source_location>`
46
  - `is_nothrow_swappable_v<source_location>`
@@ -73,11 +76,11 @@ static consteval source_location current() noexcept;
73
 
74
  *Returns:*
75
 
76
  - When invoked by a function call whose *postfix-expression* is a
77
  (possibly parenthesized) *id-expression* naming `current`, returns a
78
- `source_location` with an implementation-defined value. The value
79
  should be affected by `#line` [[cpp.line]] in the same manner as for
80
  \_\_LINE\_\_ and \_\_FILE\_\_. The values of the exposition-only data
81
  members of the returned `source_location` object are indicated in
82
  [[support.srcloc.current]].
83
  - Otherwise, when invoked in some other way, returns a `source_location`
@@ -122,11 +125,12 @@ void g() {
122
 
123
  ``` cpp
124
  constexpr source_location() noexcept;
125
  ```
126
 
127
- The data members are initialized with valid but unspecified values.
 
128
 
129
  #### Observers <a id="support.srcloc.obs">[[support.srcloc.obs]]</a>
130
 
131
  ``` cpp
132
  constexpr uint_least32_t line() const noexcept;
 
4
 
5
  The header `<source_location>` defines the class `source_location` that
6
  provides a means to obtain source location information.
7
 
8
  ``` cpp
9
+ // all freestanding
10
  namespace std {
11
  struct source_location;
12
  }
13
  ```
14
 
15
  ### Class `source_location` <a id="support.srcloc.class">[[support.srcloc.class]]</a>
16
 
17
+ #### General <a id="support.srcloc.class.general">[[support.srcloc.class.general]]</a>
18
+
19
  ``` cpp
20
  namespace std {
21
  struct source_location {
22
  // source location construction
23
  static consteval source_location current() noexcept;
 
37
  };
38
  }
39
  ```
40
 
41
  The type `source_location` meets the *Cpp17DefaultConstructible*,
42
+ *Cpp17CopyConstructible*, *Cpp17CopyAssignable*, *Cpp17Swappable*, and
43
+ *Cpp17Destructible* requirements
44
+ [[utility.arg.requirements]], [[swappable.requirements]]. All of the
45
  following conditions are `true`:
46
 
47
  - `is_nothrow_move_constructible_v<source_location>`
48
  - `is_nothrow_move_assignable_v<source_location>`
49
  - `is_nothrow_swappable_v<source_location>`
 
76
 
77
  *Returns:*
78
 
79
  - When invoked by a function call whose *postfix-expression* is a
80
  (possibly parenthesized) *id-expression* naming `current`, returns a
81
+ `source_location` with an *implementation-defined* value. The value
82
  should be affected by `#line` [[cpp.line]] in the same manner as for
83
  \_\_LINE\_\_ and \_\_FILE\_\_. The values of the exposition-only data
84
  members of the returned `source_location` object are indicated in
85
  [[support.srcloc.current]].
86
  - Otherwise, when invoked in some other way, returns a `source_location`
 
125
 
126
  ``` cpp
127
  constexpr source_location() noexcept;
128
  ```
129
 
130
+ *Effects:* The data members are initialized with valid but unspecified
131
+ values.
132
 
133
  #### Observers <a id="support.srcloc.obs">[[support.srcloc.obs]]</a>
134
 
135
  ``` cpp
136
  constexpr uint_least32_t line() const noexcept;