Loading...
Searching...
No Matches
Vdf_VectorImplBoxed< T > Class Template Reference

Implements a Vdf_VectorData storage that holds a boxed element. More...

#include <vectorImpl_Boxed.h>

Inherits Vdf_VectorDataTyped< TYPE >.

Public Member Functions

 Vdf_VectorImplBoxed (const Vdf_BoxedContainer< T > &box)
 
 Vdf_VectorImplBoxed (Vdf_BoxedContainer< T > &&box)
 
 Vdf_VectorImplBoxed (const Vdf_VectorImplBoxed &o)
 
 Vdf_VectorImplBoxed (Vdf_VectorImplBoxed &&o)
 
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
 
size_t GetSize () const override
 The size of a boxed vector is always 1, since that's the size of the mask used to represent data held in a boxed vector.
 
size_t GetNumStoredElements () const override
 The number of elements stored in a boxed vector is eiter 0 (if the box is empty) or 1.
 
bool IsSharable () const override
 
size_t EstimateElementMemory () const override
 
Vdf_VectorData::Info GetInfo () override
 

Detailed Description

template<typename T>
class Vdf_VectorImplBoxed< T >

Implements a Vdf_VectorData storage that holds a boxed element.

Definition at line 27 of file vectorImpl_Boxed.h.

Constructor & Destructor Documentation

◆ Vdf_VectorImplBoxed() [1/4]

Vdf_VectorImplBoxed ( const Vdf_BoxedContainer< T > &  box)
inlineexplicit

Definition at line 32 of file vectorImpl_Boxed.h.

◆ Vdf_VectorImplBoxed() [2/4]

Vdf_VectorImplBoxed ( Vdf_BoxedContainer< T > &&  box)
inlineexplicit

Definition at line 36 of file vectorImpl_Boxed.h.

◆ Vdf_VectorImplBoxed() [3/4]

Vdf_VectorImplBoxed ( const Vdf_VectorImplBoxed< T > &  o)
inline

Definition at line 40 of file vectorImpl_Boxed.h.

◆ Vdf_VectorImplBoxed() [4/4]

Definition at line 44 of file vectorImpl_Boxed.h.

Member Function Documentation

◆ Box()

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

Implements Vdf_VectorData.

Definition at line 70 of file vectorImpl_Boxed.h.

◆ Clone()

void Clone ( Vdf_VectorData::DataHolder destData) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 56 of file vectorImpl_Boxed.h.

◆ CloneSubset()

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

Implements Vdf_VectorData.

Definition at line 62 of file vectorImpl_Boxed.h.

◆ EstimateElementMemory()

size_t EstimateElementMemory ( ) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 110 of file vectorImpl_Boxed.h.

◆ GetInfo()

Vdf_VectorData::Info GetInfo ( )
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 123 of file vectorImpl_Boxed.h.

◆ GetNumStoredElements()

size_t GetNumStoredElements ( ) const
inlineoverridevirtual

The number of elements stored in a boxed vector is eiter 0 (if the box is empty) or 1.

We don't return the size of the box because the number of stored elements is the same as the number of bits set in a corresponding mask.

Implements Vdf_VectorData.

Definition at line 102 of file vectorImpl_Boxed.h.

◆ GetSize()

size_t GetSize ( ) const
inlineoverridevirtual

The size of a boxed vector is always 1, since that's the size of the mask used to represent data held in a boxed vector.

Implements Vdf_VectorData.

Definition at line 94 of file vectorImpl_Boxed.h.

◆ IsSharable()

bool IsSharable ( ) const
inlineoverridevirtual

Reimplemented from Vdf_VectorData.

Definition at line 106 of file vectorImpl_Boxed.h.

◆ Merge()

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

Implements Vdf_VectorData.

Definition at line 83 of file vectorImpl_Boxed.h.

◆ MoveInto()

void MoveInto ( Vdf_VectorData::DataHolder destData)
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 50 of file vectorImpl_Boxed.h.


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