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>

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]

template<typename T >
Vdf_VectorImplBoxed ( const Vdf_BoxedContainer< T > & box)
inlineexplicit

Definition at line 32 of file vectorImpl_Boxed.h.

◆ Vdf_VectorImplBoxed() [2/4]

template<typename T >
Vdf_VectorImplBoxed ( Vdf_BoxedContainer< T > && box)
inlineexplicit

Definition at line 36 of file vectorImpl_Boxed.h.

◆ Vdf_VectorImplBoxed() [3/4]

template<typename T >
Vdf_VectorImplBoxed ( const Vdf_VectorImplBoxed< T > & o)
inline

Definition at line 40 of file vectorImpl_Boxed.h.

◆ Vdf_VectorImplBoxed() [4/4]

template<typename T >
Vdf_VectorImplBoxed ( Vdf_VectorImplBoxed< T > && o)
inline

Definition at line 44 of file vectorImpl_Boxed.h.

Member Function Documentation

◆ Box()

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

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

Implements Vdf_VectorData.

Definition at line 56 of file vectorImpl_Boxed.h.

◆ CloneSubset()

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

Implements Vdf_VectorData.

Definition at line 62 of file vectorImpl_Boxed.h.

◆ EstimateElementMemory()

template<typename T >
size_t EstimateElementMemory ( ) const
inlineoverridevirtual

Implements Vdf_VectorData.

Definition at line 110 of file vectorImpl_Boxed.h.

◆ GetInfo()

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

Implements Vdf_VectorData.

Definition at line 123 of file vectorImpl_Boxed.h.

◆ GetNumStoredElements()

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

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

template<typename T >
bool IsSharable ( ) const
inlineoverridevirtual

Reimplemented from Vdf_VectorData.

Definition at line 106 of file vectorImpl_Boxed.h.

◆ Merge()

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

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