Loading...
Searching...
No Matches
Vdf_VectorImplContiguous< TYPE > Class Template Reference

Implements Vdf_VectorData storage that holds a contiguous range of elements, which may be a subrange of the logical vector size. More...

#include <vectorImpl_Contiguous.h>

Inherits Vdf_VectorDataTyped< TYPE >.

Public Member Functions

 Vdf_VectorImplContiguous (size_t size)
 Dense vector constructor.
 
 Vdf_VectorImplContiguous (size_t size, size_t first, size_t last)
 Sparse vector constructor.
 
 Vdf_VectorImplContiguous (const VdfMask::Bits &bits)
 Sparse vector constructor.
 
 Vdf_VectorImplContiguous (const TYPE *data, const VdfMask::Bits &bits)
 Sparse vector constructor.
 
 Vdf_VectorImplContiguous (const Vdf_VectorImplContiguous &rhs)
 
 Vdf_VectorImplContiguous (Vdf_VectorImplContiguous &&sourceData)
 
void MoveInto (Vdf_VectorData::DataHolder *destData) override
 
void Clone (Vdf_VectorData::DataHolder *destData) const override
 
void CloneSubset (const VdfMask &mask, Vdf_VectorData::DataHolder *destData) const override
 
void Box (const VdfMask::Bits &bits, Vdf_VectorData::DataHolder *destData) const override
 
void Merge (const VdfMask::Bits &bits, Vdf_VectorData::DataHolder *destData) const override
 
void Expand (size_t first, size_t last) override
 
size_t GetSize () const override
 
size_t GetNumStoredElements () const override
 
bool IsSharable () const override
 
Vdf_VectorData::Info GetInfo () override
 

Detailed Description

template<typename TYPE>
class Vdf_VectorImplContiguous< TYPE >

Implements Vdf_VectorData storage that holds a contiguous range of elements, which may be a subrange of the logical vector size.

Definition at line 29 of file vectorImpl_Contiguous.h.

Constructor & Destructor Documentation

◆ Vdf_VectorImplContiguous() [1/6]

Vdf_VectorImplContiguous ( size_t  size)
inlineexplicit

Dense vector constructor.

Constructs a vector of whose size is size. Storage is allocated for the range [0, size-1].

Definition at line 43 of file vectorImpl_Contiguous.h.

◆ Vdf_VectorImplContiguous() [2/6]

Vdf_VectorImplContiguous ( size_t  size,
size_t  first,
size_t  last 
)
inline

Sparse vector constructor.

Constructs a vector whose size is size. Storage is allocated for the range [first, last].

Definition at line 56 of file vectorImpl_Contiguous.h.

◆ Vdf_VectorImplContiguous() [3/6]

Vdf_VectorImplContiguous ( const VdfMask::Bits bits)
inlineexplicit

Sparse vector constructor.

Constructs a vector whose size is the width of bits. Storage is allocated for the range [bits.GetFirstSet(), bits.GetLastSet()].

Definition at line 66 of file vectorImpl_Contiguous.h.

◆ Vdf_VectorImplContiguous() [4/6]

Vdf_VectorImplContiguous ( const TYPE *  data,
const VdfMask::Bits bits 
)
inline

Sparse vector constructor.

Constructs a vector whose size is size. Storage is allocated for the range [bits.GetFirstSet(), bits.GetLastSet()]. Elements are copied from data for each set bit in bits.

Note that the block of memory allocated is contiguous even if the mask contains holes. Only the elements specified by the mask will be copied, all other elements will remain uninitialized.

Definition at line 81 of file vectorImpl_Contiguous.h.

◆ Vdf_VectorImplContiguous() [5/6]

Vdf_VectorImplContiguous ( const Vdf_VectorImplContiguous< TYPE > &  rhs)
inline

Definition at line 93 of file vectorImpl_Contiguous.h.

◆ Vdf_VectorImplContiguous() [6/6]

Vdf_VectorImplContiguous ( Vdf_VectorImplContiguous< TYPE > &&  sourceData)
inline

Definition at line 109 of file vectorImpl_Contiguous.h.

◆ ~Vdf_VectorImplContiguous()

~Vdf_VectorImplContiguous ( )
inlineoverride

Definition at line 121 of file vectorImpl_Contiguous.h.

Member Function Documentation

◆ Box()

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

Implements Vdf_VectorData.

Definition at line 193 of file vectorImpl_Contiguous.h.

◆ Clone()

void Clone ( Vdf_VectorData::DataHolder destData) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 133 of file vectorImpl_Contiguous.h.

◆ CloneSubset()

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

Implements Vdf_VectorData.

Definition at line 140 of file vectorImpl_Contiguous.h.

◆ Expand()

void Expand ( size_t  first,
size_t  last 
)
inlineoverridevirtual

Reimplemented from Vdf_VectorData.

Definition at line 237 of file vectorImpl_Contiguous.h.

◆ GetInfo()

Vdf_VectorData::Info GetInfo ( )
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 288 of file vectorImpl_Contiguous.h.

◆ GetNumStoredElements()

size_t GetNumStoredElements ( ) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 275 of file vectorImpl_Contiguous.h.

◆ GetSize()

size_t GetSize ( ) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 270 of file vectorImpl_Contiguous.h.

◆ IsSharable()

bool IsSharable ( ) const
inlineoverridevirtual

Reimplemented from Vdf_VectorData.

Definition at line 283 of file vectorImpl_Contiguous.h.

◆ Merge()

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

Implements Vdf_VectorData.

Definition at line 217 of file vectorImpl_Contiguous.h.

◆ MoveInto()

void MoveInto ( Vdf_VectorData::DataHolder destData)
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 126 of file vectorImpl_Contiguous.h.


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