7#ifndef PXR_BASE_TF_ANY_UNIQUE_PTR_H
8#define PXR_BASE_TF_ANY_UNIQUE_PTR_H
11#include "pxr/base/tf/api.h"
15PXR_NAMESPACE_OPEN_SCOPE
31 static_assert(!std::is_array<T>::value,
"Array types not supported");
37 static_assert(!std::is_array<T>::value,
"Array types not supported");
43 , _delete(other._delete)
55 _delete = other._delete;
69 void const *
Get()
const {
77 , _delete(&_Delete<T>)
81 static void _Delete(
void const *ptr) {
82 delete static_cast<T
const *
>(ptr);
87 void (*_delete)(
void const *);
90PXR_NAMESPACE_CLOSE_SCOPE
A simple type-erased container that provides only destruction, moves and immutable,...
void const * Get() const
Return a pointer to the owned object.