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>

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]

template<typename TYPE >
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]

template<typename TYPE >
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]

template<typename TYPE >
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]

template<typename TYPE >
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]

template<typename TYPE >
Vdf_VectorImplContiguous ( const Vdf_VectorImplContiguous< TYPE > & rhs)
inline

Definition at line 93 of file vectorImpl_Contiguous.h.

◆ Vdf_VectorImplContiguous() [6/6]

template<typename TYPE >
Vdf_VectorImplContiguous ( Vdf_VectorImplContiguous< TYPE > && sourceData)
inline

Definition at line 109 of file vectorImpl_Contiguous.h.

◆ ~Vdf_VectorImplContiguous()

template<typename TYPE >
~Vdf_VectorImplContiguous ( )
inlineoverride

Definition at line 121 of file vectorImpl_Contiguous.h.

Member Function Documentation

◆ Box()

template<typename TYPE >
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()

template<typename TYPE >
void Clone ( Vdf_VectorData::DataHolder * destData) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 133 of file vectorImpl_Contiguous.h.

◆ CloneSubset()

template<typename TYPE >
void CloneSubset ( const VdfMask & mask,
Vdf_VectorData::DataHolder * destData ) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 140 of file vectorImpl_Contiguous.h.

◆ Expand()

template<typename TYPE >
void Expand ( size_t first,
size_t last )
inlineoverridevirtual

Reimplemented from Vdf_VectorData.

Definition at line 237 of file vectorImpl_Contiguous.h.

◆ GetInfo()

template<typename TYPE >
Vdf_VectorData::Info GetInfo ( )
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 288 of file vectorImpl_Contiguous.h.

◆ GetNumStoredElements()

template<typename TYPE >
size_t GetNumStoredElements ( ) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 275 of file vectorImpl_Contiguous.h.

◆ GetSize()

template<typename TYPE >
size_t GetSize ( ) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 270 of file vectorImpl_Contiguous.h.

◆ IsSharable()

template<typename TYPE >
bool IsSharable ( ) const
inlineoverridevirtual

Reimplemented from Vdf_VectorData.

Definition at line 283 of file vectorImpl_Contiguous.h.

◆ Merge()

template<typename TYPE >
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()

template<typename TYPE >
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: