24 #ifndef PXR_BASE_TF_ANY_UNIQUE_PTR_H 25 #define PXR_BASE_TF_ANY_UNIQUE_PTR_H 28 #include "pxr/base/tf/api.h" 30 #include <type_traits> 32 PXR_NAMESPACE_OPEN_SCOPE
48 static_assert(!std::is_array<T>::value,
"Array types not supported");
54 static_assert(!std::is_array<T>::value,
"Array types not supported");
60 , _delete(other._delete)
72 _delete = other._delete;
86 void const *
Get()
const {
94 , _delete(&_Delete<T>)
98 static void _Delete(
void const *ptr) {
99 delete static_cast<T const *>(ptr);
104 void (*_delete)(
void const *);
107 PXR_NAMESPACE_CLOSE_SCOPE
void const * Get() const
Return a pointer to the owned object.
A simple type-erased container that provides only destruction, moves and immutable,...