15 #ifndef NODECACHEDREFERENCECOUNT_H 16 #define NODECACHEDREFERENCECOUNT_H 18 #include "pandabase.h" 20 #include "cachedTypedWritableReferenceCount.h" 21 #include "nodeReferenceCount.h" 64 INLINE NodeCachedReferenceCount(
const NodeCachedReferenceCount ©);
65 INLINE
void operator = (
const NodeCachedReferenceCount ©);
66 INLINE ~NodeCachedReferenceCount();
69 INLINE
int get_node_ref_count()
const;
70 INLINE
void node_ref()
const;
71 INLINE
bool node_unref()
const;
79 INLINE
int get_referenced_bits()
const;
82 INLINE
void node_unref_only()
const;
83 bool do_test_ref_count_integrity()
const;
86 AtomicAdjust::Integer _node_ref_count;
93 static void init_type() {
94 CachedTypedWritableReferenceCount::init_type();
95 register_type(_type_handle,
"NodeCachedReferenceCount",
96 CachedTypedWritableReferenceCount::get_class_type());
103 #include "nodeCachedReferenceCount.I" bool test_ref_count_integrity() const
Does some easy checks to make sure that the reference count isn't completely bogus.
This class further specializes CachedTypedWritableReferenceCount to also add a node_ref_count, for the purposes of counting the number of times the object is referenced by a "node", presumably a PandaNode.
This is a special extension to ReferenceCount that includes dual reference counts: the standard refer...
TypeHandle is the identifier used to differentiate C++ class types.