24 #ifndef PXR_BASE_TF_SCOPE_DESCRIPTION_H
25 #define PXR_BASE_TF_SCOPE_DESCRIPTION_H
34 #include <hboost/optional.hpp>
75 TfScopeDescription(
char const *description,
97 friend inline TfScopeDescription *
101 friend inline char const *
103 return d->_description;
111 inline void _Pop()
const;
113 hboost::optional<std::string> _ownedString;
114 char const *_description;
117 TfScopeDescription *_prev;
124 TF_API std::vector<std::string>
130 TF_API std::vector<std::string>
135 #define TF_DESCRIBE_SCOPE(...) \
136 TfScopeDescription __scope_description__ \
137 (Tf_DescribeScopeFormat(__VA_ARGS__), TF_CALL_CONTEXT); \
139 template <
typename... Args>
159 #endif // PXR_BASE_TF_SCOPE_DESCRIPTION_H
TF_API std::string TfStringPrintf(const char *fmt,...)
TF_API void SetDescription(std::string const &description)
friend TfScopeDescription * Tf_GetPreviousScopeDescription(TfScopeDescription *d)
TF_API ~TfScopeDescription()
GLsizei const GLchar *const * string
friend TfCallContext const & Tf_GetScopeDescriptionContext(TfScopeDescription *d)
TF_API std::vector< std::string > TfGetCurrentScopeDescriptionStack()
friend char const * Tf_GetScopeDescriptionText(TfScopeDescription *d)
std::string Tf_DescribeScopeFormat(const char *fmt, Args &&...args)
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
TF_API std::vector< std::string > TfGetThisThreadScopeDescriptionStack()
#define PXR_NAMESPACE_CLOSE_SCOPE
**If you just want to fire and args