HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
refPtrTracker.h File Reference
#include "pxr/pxr.h"
#include "pxr/base/tf/api.h"
#include "pxr/base/tf/hash.h"
#include "pxr/base/tf/hashmap.h"
#include "pxr/base/tf/weakBase.h"
#include "pxr/base/tf/singleton.h"
#include <iosfwd>
#include <mutex>
#include <vector>
+ Include dependency graph for refPtrTracker.h:

Go to the source code of this file.

Classes

class  TfRefPtr< T >
 
class  TfRefPtrTracker
 
struct  TfRefPtrTracker::Trace
 A track trace. More...
 
class  Tf_RefPtrTrackerUtil
 

Macros

#define TF_DECLARE_REFPTR_TRACK(T)
 
#define TF_DEFINE_REFPTR_TRACK(T, COND)
 

Functions

 TF_API_TEMPLATE_CLASS (TfSingleton< TfRefPtrTracker >)
 

Macro Definition Documentation

#define TF_DECLARE_REFPTR_TRACK (   T)
Value:
inline void Tf_RefPtrTracker_FirstRef(const void*, T* obj); \
inline void Tf_RefPtrTracker_LastRef(const void*, T* obj); \
inline void Tf_RefPtrTracker_New(const void* owner, T* obj); \
inline void Tf_RefPtrTracker_Delete(const void* owner, T* obj); \
inline void Tf_RefPtrTracker_Assign(const void* owner, T* obj, T* oldObj);
void Tf_RefPtrTracker_LastRef(const void *, const void *)
Definition: refPtr.h:469
void Tf_RefPtrTracker_Delete(const void *, const void *)
Definition: refPtr.h:471
void Tf_RefPtrTracker_New(const void *, const void *)
Definition: refPtr.h:470
void Tf_RefPtrTracker_FirstRef(const void *, const void *)
Definition: refPtr.h:468
void Tf_RefPtrTracker_Assign(const void *, const void *, const void *)
Definition: refPtr.h:472

Definition at line 236 of file refPtrTracker.h.

#define TF_DEFINE_REFPTR_TRACK (   T,
  COND 
)
Value:
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) { \
} \
inline void Tf_RefPtrTracker_New(const void* owner, T* obj) { \
} \
inline void Tf_RefPtrTracker_Delete(const void* owner, T* obj) { \
} \
inline void Tf_RefPtrTracker_Assign(const void* owner, T* obj, T* oldObj) { \
if (oldObj != obj) { \
} \
}
static void AddTrace(const void *owner, const TfRefBase *obj, TfRefPtrTracker::TraceType type=TfRefPtrTracker::Add)
void Tf_RefPtrTracker_LastRef(const void *, const void *)
Definition: refPtr.h:469
void Tf_RefPtrTracker_Delete(const void *, const void *)
Definition: refPtr.h:471
static void Unwatch(const TfRefBase *obj)
Stop watching obj. Existing traces for obj are kept.
void Tf_RefPtrTracker_New(const void *, const void *)
Definition: refPtr.h:470
void Tf_RefPtrTracker_FirstRef(const void *, const void *)
Definition: refPtr.h:468
static void RemoveTraces(const void *owner)
Remove traces for owner owner.
if(num_boxed_items<=0)
Definition: UT_RTreeImpl.h:697
void Tf_RefPtrTracker_Assign(const void *, const void *, const void *)
Definition: refPtr.h:472

Definition at line 243 of file refPtrTracker.h.

Function Documentation

TF_API_TEMPLATE_CLASS ( TfSingleton< TfRefPtrTracker )