Lines Matching refs:storage_
220 : storage_(in_place, std::forward<Args>(args)...) {}
225 if (other.storage_.is_populated_) storage_.Init(other.storage_.value_);
230 if (other.storage_.is_populated_)
231 storage_.Init(std::move(other.storage_.value_));
248 if (other.storage_.is_populated_)
249 InitOrAssign(other.storage_.value_);
256 if (other.storage_.is_populated_)
257 InitOrAssign(std::move(other.storage_.value_));
264 if (storage_.is_populated_)
265 storage_.value_ = std::forward<U>(value);
267 storage_.Init(std::forward<U>(value));
271 if (!storage_.is_populated_) return;
272 storage_.value_.~T();
273 storage_.is_populated_ = false;
281 OptionalStorage<T> storage_;
561 DCHECK(storage_.is_populated_);
562 return &storage_.value_;
566 DCHECK(storage_.is_populated_);
567 return &storage_.value_;
571 DCHECK(storage_.is_populated_);
572 return storage_.value_;
576 DCHECK(storage_.is_populated_);
577 return storage_.value_;
581 DCHECK(storage_.is_populated_);
582 return std::move(storage_.value_);
586 DCHECK(storage_.is_populated_);
587 return std::move(storage_.value_);
590 constexpr explicit operator bool() const { return storage_.is_populated_; }
592 constexpr bool has_value() const { return storage_.is_populated_; }
595 CHECK(storage_.is_populated_);
596 return storage_.value_;
600 CHECK(storage_.is_populated_);
601 return storage_.value_;
605 CHECK(storage_.is_populated_);
606 return std::move(storage_.value_);
610 CHECK(storage_.is_populated_);
611 return std::move(storage_.value_);
621 return storage_.is_populated_
622 ? storage_.value_
633 return storage_.is_populated_
634 ? std::move(storage_.value_)
639 if (!storage_.is_populated_ && !other.storage_.is_populated_) return;
641 if (storage_.is_populated_ != other.storage_.is_populated_) {
642 if (storage_.is_populated_) {
643 other.storage_.Init(std::move(storage_.value_));
646 storage_.Init(std::move(other.storage_.value_));
652 DCHECK(storage_.is_populated_ && other.storage_.is_populated_);
662 storage_.Init(std::forward<Args>(args)...);
663 return storage_.value_;
672 storage_.Init(il, std::forward<Args>(args)...);
673 return storage_.value_;
683 using internal::OptionalBase<T>::storage_;