HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 ~Vdf_VectorImplShared () override
 
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 VDF_API ~Vdf_VectorData ()
 
virtual VDF_API bool IsSharable () const
 
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
 
- Protected Member Functions inherited from Vdf_VectorData
 Vdf_VectorData ()=default
 
- 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.

Constructor & Destructor Documentation

VDF_API Vdf_VectorImplShared::Vdf_VectorImplShared ( DataHolder srcData)
explicit
VDF_API Vdf_VectorImplShared::Vdf_VectorImplShared ( const Vdf_VectorImplShared o)
VDF_API Vdf_VectorImplShared::Vdf_VectorImplShared ( Vdf_VectorImplShared &&  o)
noexcept
VDF_API Vdf_VectorImplShared::~Vdf_VectorImplShared ( )
override

Member Function Documentation

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

Implements Vdf_VectorData.

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

Implements Vdf_VectorData.

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

Implements Vdf_VectorData.

static VDF_API void Vdf_VectorImplShared::Detach ( Vdf_VectorData::DataHolder data)
static
VDF_API size_t Vdf_VectorImplShared::EstimateElementMemory ( ) const
overridevirtual

Implements Vdf_VectorData.

VDF_API void Vdf_VectorImplShared::Expand ( size_t  first,
size_t  last 
)
overridevirtual

Reimplemented from Vdf_VectorData.

VDF_API Info Vdf_VectorImplShared::GetInfo ( )
overridevirtual

Implements Vdf_VectorData.

VDF_API size_t Vdf_VectorImplShared::GetNumStoredElements ( ) const
overridevirtual

Implements Vdf_VectorData.

VDF_API Vt_ArrayForeignDataSource* Vdf_VectorImplShared::GetSharedSource ( ) const
overridevirtual

Reimplemented from Vdf_VectorData.

VDF_API size_t Vdf_VectorImplShared::GetSize ( ) const
overridevirtual

Implements Vdf_VectorData.

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

Implements Vdf_VectorData.

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

Implements Vdf_VectorData.

VDF_API void Vdf_VectorImplShared::MoveInto ( Vdf_VectorData::DataHolder destData)
overridevirtual

Implements Vdf_VectorData.

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

Implements Vdf_VectorData.

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

Implements Vdf_VectorData.

VDF_API void Vdf_VectorImplShared::NewSingle ( DataHolder destData) const
overridevirtual

Implements Vdf_VectorData.

VDF_API void Vdf_VectorImplShared::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: