7 #ifndef PXR_BASE_TF_SCOPED_H
8 #define PXR_BASE_TF_SCOPED_H
33 template <
typename T = std::function<
void ()> >
48 static void *
operator new(::std::size_t
size);
65 _obj(obj), _onExit(leave) { }
71 static void *
operator new(::std::size_t
size);
89 _obj(obj), _onExit(leave) { }
95 static void *
operator new(::std::size_t
size);
115 template <
typename T>
135 static void *
operator new(::std::size_t
size);
171 template <
typename T>
180 template <
typename T>
181 static void _Set(
T*
x,
const T&
val)
187 static void *
operator new(::std::size_t
size);
195 #endif // PXR_BASE_TF_SCOPED_H
TfScoped(const Procedure &leave, T *obj)
Execute leave, passing obj, when this object goes out of scope.
TfScoped(T *obj, const Procedure &leave)
Execute leave on obj when this object goes out of scope.
T Procedure
The type of the function executed on destruction.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
LeafData & operator=(const LeafData &)=delete
#define PXR_NAMESPACE_CLOSE_SCOPE
TfScopedVar(T &x, const T &val)
TfScoped(const Procedure &leave)
Execute leave when this object goes out of scope.
TfScopedAutoVar(T &x, const T &val)