- da802ce3de569d5af0bfc5888c8a0d823548b544 Removes private method pointer() from optional and adds a... by Abseil Team <absl-team@google.com>
GitOrigin-RevId: da802ce3de569d5af0bfc5888c8a0d823548b544 Change-Id: Ic9c0a0771c90a5484b459655c8b25b36ffd8c3f0
This commit is contained in:
parent
7454bdded7
commit
dd9911a004
1 changed files with 5 additions and 6 deletions
|
@ -776,10 +776,13 @@ class optional : private optional_internal::optional_data<T>,
|
|||
// `optional` is empty, behavior is undefined.
|
||||
//
|
||||
// If you need myOpt->foo in constexpr, use (*myOpt).foo instead.
|
||||
const T* operator->() const { return this->pointer(); }
|
||||
const T* operator->() const {
|
||||
assert(this->engaged_);
|
||||
return std::addressof(this->data_);
|
||||
}
|
||||
T* operator->() {
|
||||
assert(this->engaged_);
|
||||
return this->pointer();
|
||||
return std::addressof(this->data_);
|
||||
}
|
||||
|
||||
// optional::operator*()
|
||||
|
@ -871,10 +874,6 @@ class optional : private optional_internal::optional_data<T>,
|
|||
}
|
||||
|
||||
private:
|
||||
// Private accessors for internal storage viewed as pointer to T.
|
||||
const T* pointer() const { return std::addressof(this->data_); }
|
||||
T* pointer() { return std::addressof(this->data_); }
|
||||
|
||||
// Private accessors for internal storage viewed as reference to T.
|
||||
constexpr const T& reference() const { return this->data_; }
|
||||
T& reference() { return this->data_; }
|
||||
|
|
Loading…
Reference in a new issue