Lines Matching defs:buffer_
270 MatcherBase() : vtable_(nullptr), buffer_() {}
275 : vtable_(nullptr), buffer_() {
281 MatcherBase(M&& m) : vtable_(nullptr), buffer_() { // NOLINT
286 : vtable_(other.vtable_), buffer_(other.buffer_) {
287 if (IsShared()) buffer_.shared->Ref();
294 buffer_ = other.buffer_;
295 if (IsShared()) buffer_.shared->Ref();
300 : vtable_(other.vtable_), buffer_(other.buffer_) {
308 buffer_ = other.buffer_;
390 if (IsShared() && buffer_.shared->Unref()) {
391 vtable_->shared_destroy(buffer_.shared);
408 static_cast<const M*>(static_cast<const void*>(&m.buffer_));
412 ::new (static_cast<void*>(&m.buffer_)) M(impl);
421 return static_cast<Shared*>(m.buffer_.shared)->value;
425 m.buffer_.shared = new Shared(std::forward<Arg>(arg));
435 return *static_cast<Shared*>(m.buffer_.shared)->value;
438 m.buffer_.shared = new Shared(std::unique_ptr<M>(impl));
453 Buffer buffer_;