7#ifndef PXR_EXEC_VDF_VECTOR_IMPL_EMPTY_H
8#define PXR_EXEC_VDF_VECTOR_IMPL_EMPTY_H
12#include "pxr/exec/vdf/api.h"
13#include "pxr/exec/vdf/boxedContainerTraits.h"
14#include "pxr/exec/vdf/forEachCommonType.h"
15#include "pxr/exec/vdf/vectorDataTyped.h"
17PXR_NAMESPACE_OPEN_SCOPE
25template<
typename TYPE>
27 :
public Vdf_VectorDataTyped<TYPE>
30 !Vdf_IsBoxedContainer<TYPE>,
31 "Only Vdf_VectorImplBoxed may hold boxed values");
38 _size(sourceData._size)
53 void CloneSubset(
const VdfMask &mask,
72 size_t GetSize()
const override
77 size_t GetNumStoredElements()
const override
82 Vdf_VectorData::Info GetInfo()
override
84 return Vdf_VectorData::Info(
95#define VDF_DECLARE_EXTERN_VECTOR_IMPL_EMPTY(type) \
96 extern template class VDF_API_TYPE Vdf_VectorImplEmpty<type>;
97VDF_FOR_EACH_COMMON_TYPE(VDF_DECLARE_EXTERN_VECTOR_IMPL_EMPTY)
98#undef VDF_DECLARE_EXTERN_VECTOR_IMPL_EMPTY
100PXR_NAMESPACE_CLOSE_SCOPE
Fast, compressed bit array which is capable of performing logical operations without first decompress...
void New(Args &&... args)
Creates an instance.
void Destroy()
Destroys a held instance.
Implements a Vdf_VectorData storage that is always empty.
A VdfMask is placed on connections to specify the data flowing through them.