Loading...
Searching...
No Matches
Vdf_VectorData Class Referenceabstract

Abstract base class for storing data in a VdfVector. More...

#include <vectorData.h>

+ Inheritance diagram for Vdf_VectorData:

Public Types

typedef Vdf_FixedSizePolymorphicHolder< Vdf_VectorData, _DataHolderSize > DataHolder
 

Public Member Functions

 Vdf_VectorData (const Vdf_VectorData &)=delete
 
Vdf_VectorDataoperator= (const Vdf_VectorData &)=delete
 
 Vdf_VectorData (Vdf_VectorData &&)=delete
 
Vdf_VectorDataoperator= (Vdf_VectorData &&)=delete
 
virtual const std::type_info & GetTypeInfo () const =0
 
virtual void NewEmpty (size_t size, DataHolder *destData) const =0
 
virtual void NewSingle (DataHolder *destData) const =0
 
virtual void NewSparse (size_t size, size_t first, size_t last, DataHolder *destData) const =0
 
virtual void NewDense (size_t size, DataHolder *destData) const =0
 
virtual void MoveInto (DataHolder *destData)=0
 
virtual void Clone (DataHolder *destData) const =0
 
virtual void CloneSubset (const VdfMask &mask, DataHolder *destData) const =0
 
virtual void Box (const VdfMask::Bits &bits, DataHolder *destData) const =0
 
virtual void Merge (const VdfMask::Bits &bits, DataHolder *destData) const =0
 
virtual VDF_API void Expand (size_t first, size_t last)
 
virtual size_t GetSize () const =0
 
virtual size_t GetNumStoredElements () const =0
 
virtual VDF_API Vt_ArrayForeignDataSource * GetSharedSource () const
 
virtual VDF_API bool IsSharable () const
 
virtual Info GetInfo ()=0
 
virtual size_t EstimateElementMemory () const =0
 
VDF_API void DebugPrint (const VdfMask &mask, std::ostream *o) const
 

Static Public Member Functions

static VDF_API bool ShouldStoreCompressed (const VdfMask::Bits &bits, int elementSize)
 

Static Protected Attributes

static const size_t _SmallBufferSize = sizeof(size_t)*3 + sizeof(void *)
 
static const size_t _DataHolderSize = _SmallBufferSize + sizeof(void*)
 
static constexpr size_t _VectorSharingSize = 5000
 

Detailed Description

Abstract base class for storing data in a VdfVector.

Definition at line 26 of file vectorData.h.

Member Typedef Documentation

◆ DataHolder

Definition at line 49 of file vectorData.h.

Member Data Documentation

◆ _DataHolderSize

const size_t _DataHolderSize = _SmallBufferSize + sizeof(void*)
staticprotected

Definition at line 39 of file vectorData.h.

◆ _SmallBufferSize

const size_t _SmallBufferSize = sizeof(size_t)*3 + sizeof(void *)
staticprotected

Definition at line 36 of file vectorData.h.

◆ _VectorSharingSize

constexpr size_t _VectorSharingSize = 5000
staticconstexprprotected

Definition at line 42 of file vectorData.h.


The documentation for this class was generated from the following file: