7 #ifndef PXR_EXEC_VDF_VECTOR_IMPL_BOXED_H
8 #define PXR_EXEC_VDF_VECTOR_IMPL_BOXED_H
20 #include "pxr/base/tf/mallocTag.h"
37 : _box(std::move(box))
112 _box.GetRanges().GetNumRanges();
132 #define VDF_DECLARE_EXTERN_VECTOR_IMPL_BOXED(type) \
133 extern template class VDF_API_TYPE Vdf_VectorImplBoxed<type>;
135 #undef VDF_DECLARE_EXTERN_VECTOR_IMPL_BOXED
Vdf_VectorImplBoxed(Vdf_BoxedContainer< T > &&box)
void Box(const VdfMask::Bits &bits, Vdf_VectorData::DataHolder *destData) const override
size_t GetNumStoredElements() const override
void Merge(const VdfMask::Bits &bits, Vdf_VectorData::DataHolder *destData) const override
#define VDF_DECLARE_EXTERN_VECTOR_IMPL_BOXED(type)
void Clone(Vdf_VectorData::DataHolder *destData) const override
#define PXR_NAMESPACE_OPEN_SCOPE
#define VDF_FOR_EACH_COMMON_TYPE(macro)
VDF_FOR_EACH_COMMON_TYPE expands macro for each common type.
A VdfMask is placed on connections to specify the data flowing through them.
Fast, compressed bit array which is capable of performing logical operations without first decompress...
void MoveInto(Vdf_VectorData::DataHolder *destData) override
void CloneSubset(const VdfMask &mask, Vdf_VectorData::DataHolder *destData) const override
bool IsSharable() const override
static constexpr size_t _VectorSharingSize
size_t GetSize() const override
Vdf_VectorImplBoxed(const Vdf_VectorImplBoxed &o)
virtual void Clone(DataHolder *destData) const =0
#define __ARCH_PRETTY_FUNCTION__
PXR_NAMESPACE_OPEN_SCOPE size_t VdfEstimateSize(const T &)
Vdf_VectorImplBoxed(Vdf_VectorImplBoxed &&o)
Vdf_VectorImplBoxed(const Vdf_BoxedContainer< T > &box)
Implements a Vdf_VectorData storage that holds a boxed element.
Implements a Vdf_VectorData storage that is always empty.
#define PXR_NAMESPACE_CLOSE_SCOPE
size_t EstimateElementMemory() const override
Vdf_VectorData::Info GetInfo() override