File index_vector_complete.hpp

class CompleteIndexVector : public IIndexVector
#include <index_vector_complete.hpp>

Provides random access to all indices within a continuous range [0, numIndices).

Public Types

typedef IndexIterator const_iterator

An iterator that provides read-only access to the indices in the vector.

Public Functions

CompleteIndexVector(uint32 numElements)
Parameters:

numElements – The number of indices, the vector provides access to

const_iterator cbegin() const

Returns a const_iterator to the beginning of the indices.

Returns:

A const_iterator to the beginning

const_iterator cend() const

Returns a const_iterator to the end of the indices.

Returns:

A const_iterator to the end

void setNumElements(uint32 numElements, bool freeMemory)

Sets the number of indices.

Parameters:
  • numElements – The number of indices to be set

  • freeMemory – True, if unused memory should be freed, if possible, 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 std::unique_ptr<IRuleRefinement> createRuleRefinement(IFeatureSubspace &featureSubspace, uint32 featureIndex) const override

Creates and return a new instance of type IRuleRefinement that allows to search for the best refinement of an existing rule that predicts only for the labels whose indices are stored in this vector.

Parameters:
  • featureSubspace – A reference to an object of type IFeatureSubspace that should be to search for the refinement

  • featureIndex – The index of the feature that should be considered when searching for the refinement

Returns:

An unique pointer to an object of type IRuleRefinement that has been created

Private Members

uint32 numElements_