ReferenceCount

from panda3d.core import ReferenceCount
class ReferenceCount

Bases: DTOOL_SUPER_BASE

A base class for all things that want to be reference-counted. ReferenceCount works in conjunction with PointerTo to automatically delete objects when the last pointer to them goes away.

Inheritance diagram

Inheritance diagram of ReferenceCount

__init__(*args, **kwargs)
getClassType()

C++ Interface: get_class_type()

getRefCount()

C++ Interface: get_ref_count(ReferenceCount self)

/**
  • Returns the current reference count.

*/

get_class_type()

C++ Interface: get_class_type()

get_ref_count()

C++ Interface: get_ref_count(ReferenceCount self)

/**
  • Returns the current reference count.

*/

ref()

C++ Interface: ref(ReferenceCount self)

/**
  • Explicitly increments the reference count. User code should avoid using

  • ref() and unref() directly, which can result in missed reference counts.

  • Instead, let a PointerTo object manage the reference counting

  • automatically.

  • This function is const, even though it changes the object, because

  • generally fiddling with an object’s reference count isn’t considered part

  • of fiddling with the object. An object might be const in other ways, but

  • we still need to accurately count the number of references to it.

*/

ref_count

The current reference count.

testRefCountIntegrity()

C++ Interface: test_ref_count_integrity(ReferenceCount self)

/**
  • Does some easy checks to make sure that the reference count isn’t

  • completely bogus. Returns true if ok, false otherwise.

*/

testRefCountNonzero()

C++ Interface: test_ref_count_nonzero(ReferenceCount self)

/**
  • Does some easy checks to make sure that the reference count isn’t zero, or

  • completely bogus. Returns true if ok, false otherwise.

*/

test_ref_count_integrity()

C++ Interface: test_ref_count_integrity(ReferenceCount self)

/**
  • Does some easy checks to make sure that the reference count isn’t

  • completely bogus. Returns true if ok, false otherwise.

*/

test_ref_count_nonzero()

C++ Interface: test_ref_count_nonzero(ReferenceCount self)

/**
  • Does some easy checks to make sure that the reference count isn’t zero, or

  • completely bogus. Returns true if ok, false otherwise.

*/

unref()

C++ Interface: unref(ReferenceCount self)

/**
  • Explicitly decrements the reference count. Note that the object will not

  • be implicitly deleted by unref() simply because the reference count drops

  • to zero. (Having a member function delete itself is problematic.) However,

  • see the helper function unref_delete().

  • User code should avoid using ref() and unref() directly, which can result

  • in missed reference counts. Instead, let a PointerTo object manage the

  • reference counting automatically.

  • This function is const, even though it changes the object, because

  • generally fiddling with an object’s reference count isn’t considered part

  • of fiddling with the object. An object might be const in other ways, but

  • we still need to accurately count the number of references to it.

  • The return value is true if the new reference count is nonzero, false if it

  • is zero.

*/