24 #ifndef PXR_BASE_TF_SCOPE_DESCRIPTION_H
25 #define PXR_BASE_TF_SCOPE_DESCRIPTION_H
34 #include <hboost/optional.hpp>
35 #include <hboost/preprocessor/if.hpp>
76 TfScopeDescription(
char const *description,
98 friend inline TfScopeDescription *
102 friend inline char const *
104 return d->_description;
112 inline void _Pop()
const;
114 hboost::optional<std::string> _ownedString;
115 char const *_description;
118 TfScopeDescription *_prev;
125 TF_API std::vector<std::string>
131 TF_API std::vector<std::string>
136 #define TF_DESCRIBE_SCOPE(fmt, ...) \
137 TfScopeDescription __scope_description__ \
138 (HBOOST_PP_IF(TF_NUM_ARGS(__VA_ARGS__), \
139 TfStringPrintf(fmt, __VA_ARGS__), fmt), TF_CALL_CONTEXT)
143 #endif // PXR_BASE_TF_SCOPE_DESCRIPTION_H
TF_API void SetDescription(std::string const &description)
friend TfScopeDescription * Tf_GetPreviousScopeDescription(TfScopeDescription *d)
TF_API ~TfScopeDescription()
friend TfCallContext const & Tf_GetScopeDescriptionContext(TfScopeDescription *d)
TF_API std::vector< std::string > TfGetCurrentScopeDescriptionStack()
friend char const * Tf_GetScopeDescriptionText(TfScopeDescription *d)
GLsizei const GLchar *const * string
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
TF_API std::vector< std::string > TfGetThisThreadScopeDescriptionStack()
#define PXR_NAMESPACE_CLOSE_SCOPE