7#ifndef PXR_EXEC_VDF_VECTOR_DATA_TYPED_H
8#define PXR_EXEC_VDF_VECTOR_DATA_TYPED_H
12#include "pxr/exec/vdf/api.h"
13#include "pxr/exec/vdf/forEachCommonType.h"
14#include "pxr/exec/vdf/vectorData.h"
16PXR_NAMESPACE_OPEN_SCOPE
27template<
typename TYPE>
31 const std::type_info &GetTypeInfo() const override final
36 void NewEmpty(
size_t size, DataHolder *destData)
const override final
41 void NewSingle(DataHolder *destData)
const override final
47 size_t size,
size_t first,
size_t last,
48 DataHolder *destData)
const override final
53 void NewDense(
size_t size, DataHolder *destData)
const override final
58 size_t EstimateElementMemory()
const override
67#if !defined(ARCH_OS_WINDOWS)
68#define VDF_DECLARE_EXTERN_VECTOR_DATA_TYPED(type) \
69 extern template class VDF_API_TYPE Vdf_VectorDataTyped<type>;
70VDF_FOR_EACH_COMMON_TYPE(VDF_DECLARE_EXTERN_VECTOR_DATA_TYPED)
71#undef VDF_DECLARE_EXTERN_VECTOR_DATA_TYPED
74PXR_NAMESPACE_CLOSE_SCOPE
Abstract base class for storing data in a VdfVector.
Implements a Vdf_VectorData storage that holds a boxed element.
Implements Vdf_VectorData storage that holds a contiguous range of elements, which may be a subrange ...
Implements a Vdf_VectorData storage that is always empty.
Implements a Vdf_VectorData storage that is holds a single element.