15 #ifndef CACHEDTYPEDWRITABLEREFERENCECOUNT_H
16 #define CACHEDTYPEDWRITABLEREFERENCECOUNT_H
18 #include "pandabase.h"
20 #include "typedWritableReferenceCount.h"
43 INLINE CachedTypedWritableReferenceCount(
const CachedTypedWritableReferenceCount ©);
44 INLINE
void operator = (
const CachedTypedWritableReferenceCount ©);
45 INLINE ~CachedTypedWritableReferenceCount();
48 INLINE
int get_cache_ref_count()
const;
49 INLINE
void cache_ref()
const;
50 INLINE
bool cache_unref()
const;
54 INLINE
void cache_unref_only()
const;
55 bool do_test_ref_count_integrity()
const;
58 AtomicAdjust::Integer _cache_ref_count;
65 static void init_type() {
66 TypedWritableReferenceCount::init_type();
67 register_type(_type_handle,
"CachedTypedWritableReferenceCount",
68 TypedWritableReferenceCount::get_class_type());
75 template<
class RefCountType>
76 INLINE
void cache_unref_delete(RefCountType *ptr);
78 #include "cachedTypedWritableReferenceCount.I"
bool test_ref_count_integrity() const
Does some easy checks to make sure that the reference count isn't completely bogus.
This is a special extension to ReferenceCount that includes dual reference counts: the standard refer...
A base class for things which need to inherit from both TypedWritable and from ReferenceCount.
TypeHandle is the identifier used to differentiate C++ class types.