File index_vector_partial.hpp

class PartialIndexVector : public ResizableVectorDecorator<DenseVectorDecorator<ResizableVector<uint32>>>, public IIndexVector
#include <index_vector_partial.hpp>

Provides random access to a fixed number of indices stored in a C-contiguous array.

Public Functions

PartialIndexVector(uint32 numElements, bool init = false)
Parameters:
  • numElements – The number of elements in the vector

  • init – True, if all elements in the vector should be value-initialized, false otherwise

virtual uint32 getNumElements() const override

Returns the number of indices.

Returns:

The number of indices

virtual bool isPartial() const override

Returns whether the indices are partial, i.e., some indices in the range [0, getNumElements()) are missing, or not.

Returns:

True, if the indices are partial, false otherwise

virtual uint32 getIndex(uint32 pos) const override

Returns the index at a specific position.

Parameters:

pos – The position of the index. Must be in [0, getNumElements())

Returns:

The index at the given position

virtual void visit(PartialIndexVectorVisitor partialIndexVectorVisitor, CompleteIndexVectorVisitor completeIndexVectorVisitor) const override

Invokes one of the given visitor functions, depending on which one is able to handle this particular type of vector.

Parameters:
  • partialIndexVectorVisitor – The visitor function for handling objects of the type PartialIndexVector

  • completeIndexVectorVisitor – The visitor function for handling objects of the type CompleteIndexVector