66<section ><sref ref =" [meta.reflection.access.context]" /></section >
77<submitter >Jakub Jelinek</submitter >
88<date >20 Oct 2025</date >
9- <priority >99 </priority >
9+ <priority >2 </priority >
1010
1111<discussion >
1212<p >
@@ -15,6 +15,17 @@ objects, which would make it a consteval-only type. But we don't actually
1515specify any members, so nothing in the current specification says you can't
1616persist one until runtime.
1717</p >
18+
19+ <note >2025-10-23; Reflector poll. Adjust proposed wording.</note >
20+ <p >
21+ Set priority to 2 after reflector poll.
22+ </p >
23+ <p >
24+ Reflector discussion requested that 'non-aggregate' and 'consteval-only' both
25+ be put in paragraph 3, adjacent to 'structural'.
26+ Also added a drive-by editorial change to paragraph 1.
27+ </p >
28+
1829</discussion >
1930
2031<resolution >
@@ -28,11 +39,38 @@ This wording is relative to <paper num="N5014"/>.
2839
2940<blockquote >
3041<p >-1-
31- The access_context class is a non-aggregate<ins >, consteval-only</ins > type
32- that represents a namespace, class, or function from which queries pertaining
42+ The <ins >class</ins > `access_context`
43+ <del >class is a non-aggregate type that</del >
44+ represents a namespace, class, or function from which queries pertaining
3345to access rules may be performed, as well as the designating class
3446(<sref ref =" [class.access.base]" />), if any.
3547</p >
48+ <p >-2-
49+ An `access_context` has an associated scope and designating class.
50+ <blockquote >
51+ <pre >namespace std::meta {
52+ struct access_context {
53+ access_context() = delete;
54+
55+ consteval info scope() const;
56+ consteval info designating_class() const;
57+
58+ static consteval access_context current() noexcept;
59+ static consteval access_context unprivileged() noexcept;
60+ static consteval access_context unchecked() noexcept;
61+ consteval access_context via(info cls) const;
62+ };
63+ }</pre >
64+ </blockquote >
65+ </p >
66+ <p >-3-
67+ `access_context` is a structural<ins >, consteval-only, non-aggregate</ins > type.
68+ Two values `ac1` and `ac2` of type `access_context` are
69+ template-argument-equivalent (<sref ref =" [temp.type]" />) if
70+ `ac1.scope()` and `ac2.scope()` are template-argument-equivalent
71+ and `ac1.designating_class()` and `ac2.designating_class()` are
72+ template-argument-equivalent.
73+ </p >
3674</blockquote >
3775</li >
3876</ol >
0 commit comments