C++ API Reference for Intel® Data Analytics Acceleration Library 2020 Update 1

identifiers.h
1 /* file: identifiers.h */
2 /*******************************************************************************
3 * Copyright 2014-2020 Intel Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *******************************************************************************/
17 
18 #ifndef __DATA_MANAGEMENT_FEATURES_IDENTIFIERS_H__
19 #define __DATA_MANAGEMENT_FEATURES_IDENTIFIERS_H__
20 
21 #include "services/daal_string.h"
22 #include "services/daal_shared_ptr.h"
23 
24 #include "data_management/features/defines.h"
25 #include "data_management/features/indices.h"
26 
27 namespace daal
28 {
29 namespace data_management
30 {
31 namespace features
32 {
33 namespace interface1
34 {
35 
40 class FeatureIdMappingIface
41 {
42 public:
43  virtual ~FeatureIdMappingIface() { }
44 
49  virtual size_t getNumberOfFeatures() const = 0;
50 
55  virtual bool areKeysAvailable() const = 0;
56 
63  virtual FeatureIndex getIndexByKey(const services::String &key) const = 0;
64 };
65 typedef services::SharedPtr<FeatureIdMappingIface> FeatureIdMappingIfacePtr;
66 
72 class FeatureIdMapping : public Base, public FeatureIdMappingIface { };
73 typedef services::SharedPtr<FeatureIdMapping> FeatureIdMappingPtr;
74 
79 class FeatureIdIface
80 {
81 public:
82  virtual ~FeatureIdIface() { }
83 
91  virtual FeatureIndex mapToIndex(const FeatureIdMappingIface &mapping,
92  services::Status *status = NULL) = 0;
93 };
94 typedef services::SharedPtr<FeatureIdIface> FeatureIdIfacePtr;
95 
101 class FeatureId : public Base, public FeatureIdIface { };
102 typedef services::SharedPtr<FeatureId> FeatureIdPtr;
103 
108 class FeatureIdCollectionIface
109 {
110 public:
111  virtual ~FeatureIdCollectionIface() { }
112 
120  virtual FeatureIndicesIfacePtr mapToFeatureIndices(const FeatureIdMappingIface &mapping,
121  services::Status *status = NULL) = 0;
122 };
123 typedef services::SharedPtr<FeatureIdCollectionIface> FeatureIdCollectionIfacePtr;
124 
130 class FeatureIdCollection : public Base, public FeatureIdCollectionIface { };
131 typedef services::SharedPtr<FeatureIdCollection> FeatureIdCollectionPtr;
132 
133 } // namespace interface1
134 
135 using interface1::FeatureIdMappingIface;
136 using interface1::FeatureIdMappingIfacePtr;
137 using interface1::FeatureIdMapping;
138 using interface1::FeatureIdMappingPtr;
139 
140 using interface1::FeatureIdIface;
141 using interface1::FeatureIdIfacePtr;
142 using interface1::FeatureId;
143 using interface1::FeatureIdPtr;
144 
145 typedef interface1::FeatureIdCollectionIface FeatureIdCollectionIface;
146 typedef services::SharedPtr<interface1::FeatureIdCollectionIface> FeatureIdCollectionIfacePtr;
147 using interface1::FeatureIdCollection;
148 using interface1::FeatureIdCollectionPtr;
149 
150 } // namespace features
151 } // namespace data_management
152 } // namespace daal
153 
154 #endif
daal::data_management::features::interface1::FeatureIdCollectionIface
Abstract class that represents collection of feature ids.
Definition: identifiers.h:108
daal::data_management::features::interface1::FeatureIdMappingIface
Abstract class that defines interface for mapping feature id to feature index.
Definition: identifiers.h:40
daal::Base
Base class for Intel(R) Data Analytics Acceleration Library objects
Definition: base.h:41
daal::data_management::features::interface1::FeatureIdIface::mapToIndex
virtual FeatureIndex mapToIndex(const FeatureIdMappingIface &mapping, services::Status *status=NULL)=0
daal::data_management::features::interface1::FeatureIndex
size_t FeatureIndex
Definition: indices.h:39
daal::data_management::features::interface1::FeatureIdMapping
Base class that partially implements feature mapping interface, intended for inheritance form the use...
Definition: identifiers.h:72
daal::data_management::features::interface1::FeatureIdMappingIface::getIndexByKey
virtual FeatureIndex getIndexByKey(const services::String &key) const =0
daal::data_management::features::interface1::FeatureId
Base class that partially implements abstract feature id, intended for inheritance form user side...
Definition: identifiers.h:101
daal::data_management::features::interface1::FeatureIdCollection
Base class that partially implements abstract feature id collection, intended for inheritance form us...
Definition: identifiers.h:130
daal::data_management::features::interface1::FeatureIdMappingIface::getNumberOfFeatures
virtual size_t getNumberOfFeatures() const =0
daal::data_management::features::interface1::FeatureIdIface
Abstract feature id interface.
Definition: identifiers.h:79
daal::data_management::features::interface1::FeatureIdCollectionIface::mapToFeatureIndices
virtual FeatureIndicesIfacePtr mapToFeatureIndices(const FeatureIdMappingIface &mapping, services::Status *status=NULL)=0
daal::data_management::features::interface1::FeatureIdMappingIface::areKeysAvailable
virtual bool areKeysAvailable() const =0

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