8 #ifndef PXR_BASE_TRACE_COLLECTION_H 
    9 #define PXR_BASE_TRACE_COLLECTION_H 
   18 #include "pxr/base/tf/mallocTag.h" 
   21 #include <unordered_map> 
  106     using KeyTokenCache = 
 
  107         std::unordered_map<TraceKey, TfToken, TraceKey::HashFunctor>;
 
  111     void _Iterate(
Visitor& visitor, 
bool doReverse) 
const;
 
  116     void _IterateEvents(
Visitor&, KeyTokenCache&, 
 
  119     using EventTable = std::map<TraceThreadId, EventListPtr>;
 
  121     EventTable _eventsPerThread;
 
  126 #endif // PXR_BASE_TRACE_COLLECTION_H 
virtual void OnEndCollection()=0
Called at the end of an iteration. 
 
TRACE_API void ReverseIterate(Visitor &visitor) const 
 
TraceCollection()=default
Constructor. 
 
virtual void OnEvent(const TraceThreadId &threadId, const TfToken &key, const TraceEvent &event)=0
 
TF_MALLOC_TAG_NEW("Trace","TraceCollection")
 
virtual TRACE_API ~Visitor()
Destructor. 
 
virtual void OnBeginCollection()=0
Called at the beginning of an iteration. 
 
TRACE_API void Iterate(Visitor &visitor) const 
 
virtual bool AcceptsCategory(TraceCategoryId categoryId)=0
 
TRACE_API void AddToCollection(const TraceThreadId &id, EventListPtr &&events)
 
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
 
#define PXR_NAMESPACE_CLOSE_SCOPE
 
TraceCollection & operator=(TraceCollection &&)=default
Move assignment operator. 
 
virtual void OnEndThread(const TraceThreadId &threadId)=0
 
std::unique_ptr< EventList > EventListPtr
 
uint32_t TraceCategoryId
Categories that a TraceReporter can use to filter events. 
 
virtual void OnBeginThread(const TraceThreadId &threadId)=0