inline void Tf_RefPtrTracker_FirstRef(const void*, T* obj) { \
if (obj && COND(obj)) Tf_RefPtrTrackerUtil::Watch(obj); \
} \
inline void Tf_RefPtrTracker_LastRef(const void*, T* obj) { \
Tf_RefPtrTrackerUtil::Unwatch(obj); \
} \
inline void Tf_RefPtrTracker_New(const void* owner, T* obj) { \
Tf_RefPtrTrackerUtil::AddTrace(owner, obj); \
} \
inline void Tf_RefPtrTracker_Delete(const void* owner, T* obj) { \
Tf_RefPtrTrackerUtil::RemoveTraces(owner); \
} \
inline void Tf_RefPtrTracker_Assign(const void* owner, T* obj, T* oldObj) { \
if (oldObj != obj) { \
Tf_RefPtrTrackerUtil::AddTrace(owner, obj, TfRefPtrTracker::Assign);\
} \
}