Proposed resolution:
This wording is relative to n4944.
Add the following bullet before [unique.ptr.single.observers] paragraph 1:
constexpr add_lvalue_reference_t<T> operator*() const noexcept(noexcept(*declval<pointer>()));
-1- Preconditions:
get() != nullptr
.-2-
ReturnsEffects: Equivalent to:return
*get();
.
Add the following bullet before [unique.ptr.runtime.observers] paragraph 1:
constexpr T& operator[](size_t i) const;
-1- Preconditions:
get() != nullptr
.i
< the number of elements in the array to which the stored pointer points-2-
ReturnsEffects: Equivalent to:return
get()[i];
.