Loading...
Searching...
No Matches
Vdf_VectorImplShared Class Referencefinal

Implements a Vdf_VectorData storage the supports reference counted sharing of other vector implementations. More...

#include <vectorImpl_Shared.h>

+ Inheritance diagram for Vdf_VectorImplShared:

Public Member Functions

VDF_API Vdf_VectorImplShared (DataHolder *srcData)
 
VDF_API Vdf_VectorImplShared (const Vdf_VectorImplShared &o)
 
VDF_API Vdf_VectorImplShared (Vdf_VectorImplShared &&o) noexcept
 
VDF_API const std::type_info & GetTypeInfo () const override
 
VDF_API void NewEmpty (size_t size, DataHolder *destData) const override
 
VDF_API void NewSingle (DataHolder *destData) const override
 
VDF_API void NewSparse (size_t size, size_t first, size_t last, DataHolder *destData) const override
 
VDF_API void NewDense (size_t size, DataHolder *destData) const override
 
VDF_API void MoveInto (Vdf_VectorData::DataHolder *destData) override
 
VDF_API void Clone (Vdf_VectorData::DataHolder *destData) const override
 
VDF_API void CloneSubset (const VdfMask &mask, Vdf_VectorData::DataHolder *destData) const override
 
VDF_API void Box (const VdfMask::Bits &bits, Vdf_VectorData::DataHolder *destData) const override
 
VDF_API void Merge (const VdfMask::Bits &bits, Vdf_VectorData::DataHolder *destData) const override
 
VDF_API void Expand (size_t first, size_t last) override
 
VDF_API size_t GetSize () const override
 
VDF_API size_t GetNumStoredElements () const override
 
VDF_API Vt_ArrayForeignDataSource * GetSharedSource () const override
 
VDF_API Info GetInfo () override
 
VDF_API size_t EstimateElementMemory () const override
 
- Public Member Functions inherited from Vdf_VectorData
 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 void Detach (Vdf_VectorData::DataHolder *data)
 
- Static Public Member Functions inherited from Vdf_VectorData
static VDF_API bool ShouldStoreCompressed (const VdfMask::Bits &bits, int elementSize)
 

Additional Inherited Members

- Public Types inherited from Vdf_VectorData
typedef Vdf_FixedSizePolymorphicHolder< Vdf_VectorData, _DataHolderSize > DataHolder
 
- Static Protected Attributes inherited from Vdf_VectorData
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

Implements a Vdf_VectorData storage the supports reference counted sharing of other vector implementations.

Definition at line 27 of file vectorImpl_Shared.h.

Member Function Documentation

◆ Box()

VDF_API void Box ( const VdfMask::Bits bits,
Vdf_VectorData::DataHolder destData 
) const
overridevirtual

Implements Vdf_VectorData.

◆ Clone()

VDF_API void Clone ( Vdf_VectorData::DataHolder destData) const
overridevirtual

Implements Vdf_VectorData.

◆ CloneSubset()

VDF_API void CloneSubset ( const VdfMask mask,
Vdf_VectorData::DataHolder destData 
) const
overridevirtual

Implements Vdf_VectorData.

◆ EstimateElementMemory()

VDF_API size_t EstimateElementMemory ( ) const
overridevirtual

Implements Vdf_VectorData.

◆ Expand()

VDF_API void Expand ( size_t  first,
size_t  last 
)
overridevirtual

Reimplemented from Vdf_VectorData.

◆ GetInfo()

VDF_API Info GetInfo ( )
overridevirtual

Implements Vdf_VectorData.

◆ GetNumStoredElements()

VDF_API size_t GetNumStoredElements ( ) const
overridevirtual

Implements Vdf_VectorData.

◆ GetSharedSource()

VDF_API Vt_ArrayForeignDataSource * GetSharedSource ( ) const
overridevirtual

Reimplemented from Vdf_VectorData.

◆ GetSize()

VDF_API size_t GetSize ( ) const
overridevirtual

Implements Vdf_VectorData.

◆ GetTypeInfo()

VDF_API const std::type_info & GetTypeInfo ( ) const
overridevirtual

Implements Vdf_VectorData.

◆ Merge()

VDF_API void Merge ( const VdfMask::Bits bits,
Vdf_VectorData::DataHolder destData 
) const
overridevirtual

Implements Vdf_VectorData.

◆ MoveInto()

VDF_API void MoveInto ( Vdf_VectorData::DataHolder destData)
overridevirtual

Implements Vdf_VectorData.

◆ NewDense()

VDF_API void NewDense ( size_t  size,
DataHolder destData 
) const
overridevirtual

Implements Vdf_VectorData.

◆ NewEmpty()

VDF_API void NewEmpty ( size_t  size,
DataHolder destData 
) const
overridevirtual

Implements Vdf_VectorData.

◆ NewSingle()

VDF_API void NewSingle ( DataHolder destData) const
overridevirtual

Implements Vdf_VectorData.

◆ NewSparse()

VDF_API void NewSparse ( size_t  size,
size_t  first,
size_t  last,
DataHolder destData 
) const
overridevirtual

Implements Vdf_VectorData.


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