C++ API Reference for Intel® Data Analytics Acceleration Library 2019 Update 4

identifiers.h
1 /* file: identifiers.h */
2 /*******************************************************************************
3 * Copyright 2014-2019 Intel Corporation.
4 *
5 * This software and the related documents are Intel copyrighted materials, and
6 * your use of them is governed by the express license under which they were
7 * provided to you (License). Unless the License provides otherwise, you may not
8 * use, modify, copy, publish, distribute, disclose or transmit this software or
9 * the related documents without Intel's prior written permission.
10 *
11 * This software and the related documents are provided as is, with no express
12 * or implied warranties, other than those that are expressly stated in the
13 * License.
14 *******************************************************************************/
15 
16 #ifndef __DATA_MANAGEMENT_FEATURES_IDENTIFIERS_H__
17 #define __DATA_MANAGEMENT_FEATURES_IDENTIFIERS_H__
18 
19 #include "services/daal_string.h"
20 #include "services/daal_shared_ptr.h"
21 
22 #include "data_management/features/defines.h"
23 #include "data_management/features/indices.h"
24 
25 namespace daal
26 {
27 namespace data_management
28 {
29 namespace features
30 {
31 namespace interface1
32 {
33 
38 class FeatureIdMappingIface
39 {
40 public:
41  virtual ~FeatureIdMappingIface() { }
42 
47  virtual size_t getNumberOfFeatures() const = 0;
48 
53  virtual bool areKeysAvailable() const = 0;
54 
61  virtual FeatureIndex getIndexByKey(const services::String &key) const = 0;
62 };
63 typedef services::SharedPtr<FeatureIdMappingIface> FeatureIdMappingIfacePtr;
64 
70 class FeatureIdMapping : public Base, public FeatureIdMappingIface { };
71 typedef services::SharedPtr<FeatureIdMapping> FeatureIdMappingPtr;
72 
77 class FeatureIdIface
78 {
79 public:
80  virtual ~FeatureIdIface() { }
81 
89  virtual FeatureIndex mapToIndex(const FeatureIdMappingIface &mapping,
90  services::Status *status = NULL) = 0;
91 };
92 typedef services::SharedPtr<FeatureIdIface> FeatureIdIfacePtr;
93 
99 class FeatureId : public Base, public FeatureIdIface { };
100 typedef services::SharedPtr<FeatureId> FeatureIdPtr;
101 
106 class FeatureIdCollectionIface
107 {
108 public:
109  virtual ~FeatureIdCollectionIface() { }
110 
118  virtual FeatureIndicesIfacePtr mapToFeatureIndices(const FeatureIdMappingIface &mapping,
119  services::Status *status = NULL) = 0;
120 };
121 typedef services::SharedPtr<FeatureIdCollectionIface> FeatureIdCollectionIfacePtr;
122 
128 class FeatureIdCollection : public Base, public FeatureIdCollectionIface { };
129 typedef services::SharedPtr<FeatureIdCollection> FeatureIdCollectionPtr;
130 
131 } // namespace interface1
132 
133 using interface1::FeatureIdMappingIface;
134 using interface1::FeatureIdMappingIfacePtr;
135 using interface1::FeatureIdMapping;
136 using interface1::FeatureIdMappingPtr;
137 
138 using interface1::FeatureIdIface;
139 using interface1::FeatureIdIfacePtr;
140 using interface1::FeatureId;
141 using interface1::FeatureIdPtr;
142 
143 typedef interface1::FeatureIdCollectionIface FeatureIdCollectionIface;
144 typedef services::SharedPtr<interface1::FeatureIdCollectionIface> FeatureIdCollectionIfacePtr;
145 using interface1::FeatureIdCollection;
146 using interface1::FeatureIdCollectionPtr;
147 
148 } // namespace features
149 } // namespace data_management
150 } // namespace daal
151 
152 #endif
daal::data_management::features::interface1::FeatureIndex
size_t FeatureIndex
Definition: indices.h:37
daal
Definition: algorithm_base_common.h:31
daal::data_management::features::interface1::FeatureIdMappingIface
Abstract class that defines interface for mapping feature id to feature index.
Definition: identifiers.h:38
daal::data_management::features::interface1::FeatureIdCollectionIface::mapToFeatureIndices
virtual FeatureIndicesIfacePtr mapToFeatureIndices(const FeatureIdMappingIface &mapping, services::Status *status=NULL)=0
daal::data_management::features::interface1::FeatureIdCollectionIface
Abstract class that represents collection of feature ids.
Definition: identifiers.h:106
daal::data_management::features::interface1::FeatureIdCollection
Base class that partially implements abstract feature id collection, intended for inheritance form us...
Definition: identifiers.h:128
daal::data_management::features::interface1::FeatureId
Base class that partially implements abstract feature id, intended for inheritance form user side...
Definition: identifiers.h:99
daal::data_management::features::interface1::FeatureIdMappingIface::getIndexByKey
virtual FeatureIndex getIndexByKey(const services::String &key) const =0
daal::data_management::features::interface1::FeatureIdMappingIface::getNumberOfFeatures
virtual size_t getNumberOfFeatures() const =0
daal::data_management::features::interface1::FeatureIdMappingIface::areKeysAvailable
virtual bool areKeysAvailable() const =0
daal::data_management::features::interface1::FeatureIdMapping
Base class that partially implements feature mapping interface, intended for inheritance form the use...
Definition: identifiers.h:70
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:39
daal::data_management::features::interface1::FeatureIdIface::mapToIndex
virtual FeatureIndex mapToIndex(const FeatureIdMappingIface &mapping, services::Status *status=NULL)=0
daal::data_management::features::interface1::FeatureIdIface
Abstract feature id interface.
Definition: identifiers.h:77

For more complete information about compiler optimizations, see our Optimization Notice.