Skip to content

Commit 92d78bd

Browse files
committed
Revise wording for proxy_view and related facilities
1 parent bcbe0c7 commit 92d78bd

3 files changed

Lines changed: 3 additions & 3 deletions

File tree

docs/spec/make_proxy_view.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ template <facade F, class T>
1212
proxy_view<F> make_proxy_view(T& value) noexcept;
1313
```
1414
15-
Creates a `proxy_view<F>` object containing a value `p` of type `observer-ptr<T>`, where `*p` is direct-non-list-initialized with `&value`. If [`proxiable_target<T, F>`](proxiable_target.md) is `false`, the program is ill-formed and diagnostic messages are generated.
15+
Creates a `proxy_view<F>` object containing a value `p` of type `observer-ptr<T>`, where `*p` is direct-non-list-initialized with `std::addressof(value)`. If [`proxiable_target<T, F>`](proxiable_target.md) is `false`, the program is ill-formed and diagnostic messages are generated.
1616
1717
## Return Value
1818

docs/spec/proxiable_target.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
88
```cpp
99
template <class T, class F>
10-
concept proxiable_target = proxiable<observer-ptr<T>, F>;
10+
concept proxiable_target = proxiable<observer-ptr<T>, observer_facade<F>>;
1111
```
1212
1313
See [`make_proxy_view`](make_proxy_view.md) for the definition of the exposition-only class template *observer-ptr*.

docs/spec/skills_as_view.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ using as_view = /* see below */;
1212

1313
The alias template `as_view` modifies a specialization of [`basic_facade_builder`](basic_facade_builder/README.md) to allow implicit conversion from [`proxy`](proxy/README.md)`<F>` to [`proxy_view`](proxy_view.md)`<F>`, where `F` is a built [facade](facade.md) type.
1414

15-
Let `p` be a value of type `proxy<F>`, `ptr` be the contained value of `p` (if any), the conversion from type `proxy<F>&` to type `proxy_view<F>` is equivalent to `return observer-ptr{std::addressof(*ptr)}` if `p` contains a value, or otherwise equivalent to `return nullptr`. `observer-ptr` is an exposition-only type that `*observer-ptr`, `*std::as_const(observer-ptr)`, `*std::move(observer-ptr)` and `*std::move(std::as_const(observer-ptr))` are equivalent to `*ptr`, `*std::as_const(ptr)`, `*std::move(ptr)` and `*std::move(std::as_const(ptr))`, respectively.
15+
Let `p` be a value of type `proxy<F>`, `ptr` be the contained value of `p` (if any), the conversion from type `proxy<F>&` to type `proxy_view<F>` is equivalent to `return make_proxy_view<F>(*ptr)` if `p` contains a value, or otherwise equivalent to `return nullptr`.
1616

1717
## Notes
1818

0 commit comments

Comments
 (0)