The class access_context
represents a namespace, class, or function
from which queries pertaining to access rules may be performed,
as well as the designating class ([class.access.base]), if any.
The type access_context is a structural, consteval-only, non-aggregate type.
Two values ac1 and ac2 of type access_context
are template-argument-equivalent ([temp.type])
if ac1.scope() and ac2.scope() are template-argument-equivalent
and ac1.designating_class() and ac2.designating_class()
are template-argument-equivalent.
Returns: An access_context whose designating class is the null reflection
and whose scope is CURRENT-SCOPE(P),
where P is the point at which the invocation of current lexically appears.
Remarks: current is not an addressable function ([namespace.std]).
An invocation of current that appears at a program point P
is value-dependent ([temp.dep.constexpr])
if eval-point(P) is enclosed by a scope
corresponding to a templated entity.