Lines Matching refs:Persistent
103 template <class T> class Persistent;
133 typedef void (*WeakReferenceCallback)(Persistent<Value> object,
156 * There are two types of handles: local and persistent handles.
158 * local operations. They are managed by HandleScopes. Persistent
301 * allocated, a Persistent handle remains valid until it is explicitly
304 * A persistent handle contains a reference to a storage cell within
307 * cell can be created using Persistent::New and existing handles can
308 * be disposed using Persistent::Dispose. Since persistent handles
309 * are passed by value you may have many persistent handle objects
311 * persistent handle as an argument to a function you will not get two
315 template <class T> class Persistent : public Handle<T> {
318 * Creates an empty persistent handle that doesn't point to any
321 inline Persistent();
324 * Creates a persistent handle for the same storage cell as the
325 * specified handle. This constructor allows you to pass persistent
326 * handles as arguments by value and to assign between persistent
328 * persistent handles, for instance from a Persistent<String> to a
329 * Persistent<Number> will cause a compile-time error. Assigning
330 * between compatible persistent handles, for instance assigning a
331 * Persistent<String> to a variable declared as Persistent<Value>,
334 template <class S> inline Persistent(Persistent<S> that)
344 template <class S> inline Persistent(S* that) : Handle<T>(that) { }
347 * "Casts" a plain handle which is known to be a persistent handle
348 * to a persistent handle.
350 template <class S> explicit inline Persistent(Handle<S> that)
353 template <class S> static inline Persistent<T> Cast(Persistent<S> that) {
357 if (that.IsEmpty()) return Persistent<T>();
359 return Persistent<T>(T::Cast(*that));
362 template <class S> inline Persistent<S> As() {
363 return Persistent<S>::Cast(*this);
367 * Creates a new persistent handle for an existing local or
368 * persistent handle.
370 inline static Persistent<T> New(Handle<T> that);
373 * Releases the storage cell referenced by this persistent handle.
3107 static void AddObjectGroup(Persistent<Value>* objects,
3118 static void AddImplicitReferences(Persistent<Object> parent,
3119 Persistent<Value>* children,
3306 template <class T> friend class Persistent;
3481 * Returns a persistent handle to the newly allocated context. This
3482 * persistent handle has to be disposed when the context is no
3497 static Persistent<Context> New(
3961 Persistent<T> Persistent<T>::New(Handle<T> that) {
3962 if (that.IsEmpty()) return Persistent<T>();
3964 return Persistent<T>(reinterpret_cast<T*>(V8::GlobalizeReference(p)));
3969 bool Persistent<T>::IsNearDeath() const {
3976 bool Persistent<T>::IsWeak() const {
3983 void Persistent<T>::Dispose() {
3990 Persistent<T>::Persistent() : Handle<T>() { }
3993 void Persistent<T>::MakeWeak(void* parameters, WeakReferenceCallback callback) {
4000 void Persistent<T>::ClearWeak() {
4005 void Persistent<T>::MarkIndependent() {
4010 void Persistent<T>::SetWrapperClassId(uint16_t class_id) {