18 #ifndef __DATA_MANAGEMENT__FEATURES_INDICES_H__
19 #define __DATA_MANAGEMENT__FEATURES_INDICES_H__
23 #include "services/daal_string.h"
24 #include "services/buffer_view.h"
25 #include "services/daal_shared_ptr.h"
29 namespace data_management
39 typedef size_t FeatureIndex;
45 class FeatureIndexTraits
51 static FeatureIndex invalid()
53 return (std::numeric_limits<FeatureIndex>::max)();
59 static FeatureIndex maxIndex()
61 return (std::numeric_limits<FeatureIndex>::max)() - 1;
72 class FeatureIndicesIface
75 virtual ~FeatureIndicesIface() { }
80 virtual size_t size()
const = 0;
87 virtual bool isPlainRange()
const = 0;
93 virtual bool areRawFeatureIndicesAvailable()
const = 0;
100 virtual FeatureIndex getFirst()
const = 0;
107 virtual FeatureIndex getLast()
const = 0;
113 virtual services::BufferView<FeatureIndex> getRawFeatureIndices() = 0;
115 typedef services::SharedPtr<FeatureIndicesIface> FeatureIndicesIfacePtr;
122 class FeatureIndices :
public Base,
public FeatureIndicesIface { };
123 typedef services::SharedPtr<FeatureIndices> FeatureIndicesPtr;
127 using interface1::FeatureIndex;
128 using interface1::FeatureIndexTraits;
129 using interface1::FeatureIndicesIface;
130 using interface1::FeatureIndicesIfacePtr;
131 using interface1::FeatureIndices;
132 using interface1::FeatureIndicesPtr;
daal::data_management::features::interface1::FeatureIndicesIface::isPlainRange
virtual bool isPlainRange() const =0
daal::data_management::features::interface1::FeatureIndicesIface::areRawFeatureIndicesAvailable
virtual bool areRawFeatureIndicesAvailable() const =0
daal::data_management::features::interface1::FeatureIndexTraits
Static class that contains auxiliary methods for FeatureIndex.
Definition: indices.h:45
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:41
daal::data_management::features::interface1::FeatureIndicesIface::getRawFeatureIndices
virtual services::BufferView< FeatureIndex > getRawFeatureIndices()=0
daal::data_management::features::interface1::FeatureIndices
Base class that represents the collection of feature indices, intended for inheritance from the user ...
Definition: indices.h:122
daal::data_management::features::interface1::FeatureIndicesIface
Abstract class that defines interface for feature indices collection.
Definition: indices.h:72
daal::data_management::features::interface1::FeatureIndex
size_t FeatureIndex
Definition: indices.h:39
daal::data_management::features::interface1::FeatureIndicesIface::getFirst
virtual FeatureIndex getFirst() const =0
daal::data_management::features::interface1::FeatureIndicesIface::getLast
virtual FeatureIndex getLast() const =0
daal::data_management::features::interface1::FeatureIndicesIface::size
virtual size_t size() const =0
daal::data_management::features::interface1::FeatureIndexTraits::invalid
static FeatureIndex invalid()
Definition: indices.h:51
daal::data_management::features::interface1::FeatureIndexTraits::maxIndex
static FeatureIndex maxIndex()
Definition: indices.h:59