CachedTypedWritableReferenceCount
-
class CachedTypedWritableReferenceCount
Bases:
TypedWritableReferenceCount
This is a special extension to
ReferenceCount
that includes dual reference counts: the standard reference count number, which includes all references to the object, and a separate number (the cache reference count) that counts the number of references to the object just within its cache alone. Whenget_ref_count()
==get_cache_ref_count()
, the object is not referenced outside the cache.The cache refs must be explicitly maintained; there is no PointerTo<> class to maintain the cache reference counts automatically. The cache reference count is automatically included in the overall reference count: calling
cache_ref()
andcache_unref()
automatically callsref()
andunref()
.Inheritance diagram
-
void cache_ref(void) const
Explicitly increments the cache reference count and the normal reference count simultaneously.
-
bool cache_unref(void) const
Explicitly decrements the cache reference count and the normal reference count simultaneously.
The return value is true if the new reference count is nonzero, false if it is zero.
-
int get_cache_ref_count(void) const
Returns the current reference count.
-
static TypeHandle get_class_type(void)
-
bool test_ref_count_integrity(void) const
Does some easy checks to make sure that the reference count isn’t completely bogus.
-
void cache_ref(void) const