| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2012 The WebRTC Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 scoped_ptr& operator=(std::nullptr_t) { | 367 scoped_ptr& operator=(std::nullptr_t) { |
| 368 reset(); | 368 reset(); |
| 369 return *this; | 369 return *this; |
| 370 } | 370 } |
| 371 | 371 |
| 372 // Deleted copy constructor and copy assignment, to make the type move-only. | 372 // Deleted copy constructor and copy assignment, to make the type move-only. |
| 373 scoped_ptr(const scoped_ptr& other) = delete; | 373 scoped_ptr(const scoped_ptr& other) = delete; |
| 374 scoped_ptr& operator=(const scoped_ptr& other) = delete; | 374 scoped_ptr& operator=(const scoped_ptr& other) = delete; |
| 375 | 375 |
| 376 // Get an rvalue reference. (sp.Pass() does the same thing as std::move(sp).) | 376 // Get an rvalue reference. (sp.Pass() does the same thing as std::move(sp).) |
| 377 scoped_ptr&& Pass() { return static_cast<scoped_ptr&&>(*this); } | 377 scoped_ptr&& Pass() { return std::move(*this); } |
| 378 | 378 |
| 379 // Reset. Deletes the currently owned object, if any. | 379 // Reset. Deletes the currently owned object, if any. |
| 380 // Then takes ownership of a new object, if given. | 380 // Then takes ownership of a new object, if given. |
| 381 void reset(element_type* p = nullptr) { impl_.reset(p); } | 381 void reset(element_type* p = nullptr) { impl_.reset(p); } |
| 382 | 382 |
| 383 // Accessors to get the owned object. | 383 // Accessors to get the owned object. |
| 384 // operator* and operator-> will assert() if there is no current object. | 384 // operator* and operator-> will assert() if there is no current object. |
| 385 element_type& operator*() const { | 385 element_type& operator*() const { |
| 386 assert(impl_.get() != nullptr); | 386 assert(impl_.get() != nullptr); |
| 387 return *impl_.get(); | 387 return *impl_.get(); |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 500 scoped_ptr& operator=(std::nullptr_t) { | 500 scoped_ptr& operator=(std::nullptr_t) { |
| 501 reset(); | 501 reset(); |
| 502 return *this; | 502 return *this; |
| 503 } | 503 } |
| 504 | 504 |
| 505 // Deleted copy constructor and copy assignment, to make the type move-only. | 505 // Deleted copy constructor and copy assignment, to make the type move-only. |
| 506 scoped_ptr(const scoped_ptr& other) = delete; | 506 scoped_ptr(const scoped_ptr& other) = delete; |
| 507 scoped_ptr& operator=(const scoped_ptr& other) = delete; | 507 scoped_ptr& operator=(const scoped_ptr& other) = delete; |
| 508 | 508 |
| 509 // Get an rvalue reference. (sp.Pass() does the same thing as std::move(sp).) | 509 // Get an rvalue reference. (sp.Pass() does the same thing as std::move(sp).) |
| 510 scoped_ptr&& Pass() { return static_cast<scoped_ptr&&>(*this); } | 510 scoped_ptr&& Pass() { return std::move(*this); } |
| 511 | 511 |
| 512 // Reset. Deletes the currently owned array, if any. | 512 // Reset. Deletes the currently owned array, if any. |
| 513 // Then takes ownership of a new object, if given. | 513 // Then takes ownership of a new object, if given. |
| 514 void reset(element_type* array = nullptr) { impl_.reset(array); } | 514 void reset(element_type* array = nullptr) { impl_.reset(array); } |
| 515 | 515 |
| 516 // Accessors to get the owned array. | 516 // Accessors to get the owned array. |
| 517 element_type& operator[](size_t i) const { | 517 element_type& operator[](size_t i) const { |
| 518 assert(impl_.get() != nullptr); | 518 assert(impl_.get() != nullptr); |
| 519 return impl_.get()[i]; | 519 return impl_.get()[i]; |
| 520 } | 520 } |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 612 | 612 |
| 613 // A function to convert T* into scoped_ptr<T> | 613 // A function to convert T* into scoped_ptr<T> |
| 614 // Doing e.g. make_scoped_ptr(new FooBarBaz<type>(arg)) is a shorter notation | 614 // Doing e.g. make_scoped_ptr(new FooBarBaz<type>(arg)) is a shorter notation |
| 615 // for scoped_ptr<FooBarBaz<type> >(new FooBarBaz<type>(arg)) | 615 // for scoped_ptr<FooBarBaz<type> >(new FooBarBaz<type>(arg)) |
| 616 template <typename T> | 616 template <typename T> |
| 617 rtc::scoped_ptr<T> rtc_make_scoped_ptr(T* ptr) { | 617 rtc::scoped_ptr<T> rtc_make_scoped_ptr(T* ptr) { |
| 618 return rtc::scoped_ptr<T>(ptr); | 618 return rtc::scoped_ptr<T>(ptr); |
| 619 } | 619 } |
| 620 | 620 |
| 621 #endif // #ifndef WEBRTC_BASE_SCOPED_PTR_H__ | 621 #endif // #ifndef WEBRTC_BASE_SCOPED_PTR_H__ |
| OLD | NEW |