OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** \mainpage V8 API Reference Guide | 5 /** \mainpage V8 API Reference Guide |
6 * | 6 * |
7 * V8 is Google's open source JavaScript engine. | 7 * V8 is Google's open source JavaScript engine. |
8 * | 8 * |
9 * This set of documents provides reference material generated from the | 9 * This set of documents provides reference material generated from the |
10 * V8 header file, include/v8.h. | 10 * V8 header file, include/v8.h. |
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
608 * description in v8-profiler.h for details. | 608 * description in v8-profiler.h for details. |
609 */ | 609 */ |
610 V8_INLINE void SetWrapperClassId(uint16_t class_id); | 610 V8_INLINE void SetWrapperClassId(uint16_t class_id); |
611 | 611 |
612 /** | 612 /** |
613 * Returns the class ID previously assigned to this handle or 0 if no class ID | 613 * Returns the class ID previously assigned to this handle or 0 if no class ID |
614 * was previously assigned. | 614 * was previously assigned. |
615 */ | 615 */ |
616 V8_INLINE uint16_t WrapperClassId() const; | 616 V8_INLINE uint16_t WrapperClassId() const; |
617 | 617 |
| 618 PersistentBase(const PersistentBase& other) = delete; // NOLINT |
| 619 void operator=(const PersistentBase&) = delete; |
| 620 |
618 private: | 621 private: |
619 friend class Isolate; | 622 friend class Isolate; |
620 friend class Utils; | 623 friend class Utils; |
621 template<class F> friend class Local; | 624 template<class F> friend class Local; |
622 template<class F1, class F2> friend class Persistent; | 625 template<class F1, class F2> friend class Persistent; |
623 template <class F> | 626 template <class F> |
624 friend class Global; | 627 friend class Global; |
625 template<class F> friend class PersistentBase; | 628 template<class F> friend class PersistentBase; |
626 template<class F> friend class ReturnValue; | 629 template<class F> friend class ReturnValue; |
627 template <class F1, class F2, class F3> | 630 template <class F1, class F2, class F3> |
628 friend class PersistentValueMapBase; | 631 friend class PersistentValueMapBase; |
629 template<class F1, class F2> friend class PersistentValueVector; | 632 template<class F1, class F2> friend class PersistentValueVector; |
630 friend class Object; | 633 friend class Object; |
631 | 634 |
632 explicit V8_INLINE PersistentBase(T* val) : val_(val) {} | 635 explicit V8_INLINE PersistentBase(T* val) : val_(val) {} |
633 PersistentBase(const PersistentBase& other) = delete; // NOLINT | |
634 void operator=(const PersistentBase&) = delete; | |
635 V8_INLINE static T* New(Isolate* isolate, T* that); | 636 V8_INLINE static T* New(Isolate* isolate, T* that); |
636 | 637 |
637 T* val_; | 638 T* val_; |
638 }; | 639 }; |
639 | 640 |
640 | 641 |
641 /** | 642 /** |
642 * Default traits for Persistent. This class does not allow | 643 * Default traits for Persistent. This class does not allow |
643 * use of the copy constructor or assignment operator. | 644 * use of the copy constructor or assignment operator. |
644 * At present kResetInDestructor is not set, but that will change in a future | 645 * At present kResetInDestructor is not set, but that will change in a future |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
828 /** | 829 /** |
829 * Pass allows returning uniques from functions, etc. | 830 * Pass allows returning uniques from functions, etc. |
830 */ | 831 */ |
831 Global Pass() { return static_cast<Global&&>(*this); } // NOLINT | 832 Global Pass() { return static_cast<Global&&>(*this); } // NOLINT |
832 | 833 |
833 /* | 834 /* |
834 * For compatibility with Chromium's base::Bind (base::Passed). | 835 * For compatibility with Chromium's base::Bind (base::Passed). |
835 */ | 836 */ |
836 typedef void MoveOnlyTypeForCPP03; | 837 typedef void MoveOnlyTypeForCPP03; |
837 | 838 |
| 839 Global(const Global&) = delete; |
| 840 void operator=(const Global&) = delete; |
| 841 |
838 private: | 842 private: |
839 template <class F> | 843 template <class F> |
840 friend class ReturnValue; | 844 friend class ReturnValue; |
841 Global(const Global&) = delete; | |
842 void operator=(const Global&) = delete; | |
843 V8_INLINE T* operator*() const { return this->val_; } | 845 V8_INLINE T* operator*() const { return this->val_; } |
844 }; | 846 }; |
845 | 847 |
846 | 848 |
847 // UniquePersistent is an alias for Global for historical reason. | 849 // UniquePersistent is an alias for Global for historical reason. |
848 template <class T> | 850 template <class T> |
849 using UniquePersistent = Global<T>; | 851 using UniquePersistent = Global<T>; |
850 | 852 |
851 | 853 |
852 /** | 854 /** |
(...skipping 8133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8986 */ | 8988 */ |
8987 | 8989 |
8988 | 8990 |
8989 } // namespace v8 | 8991 } // namespace v8 |
8990 | 8992 |
8991 | 8993 |
8992 #undef TYPE_CHECK | 8994 #undef TYPE_CHECK |
8993 | 8995 |
8994 | 8996 |
8995 #endif // INCLUDE_V8_H_ | 8997 #endif // INCLUDE_V8_H_ |
OLD | NEW |