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

modifier.h
1 /* file: modifier.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_SOURCE_MODIFIERS_MODIFIER_H__
19 #define __DATA_SOURCE_MODIFIERS_MODIFIER_H__
20 
21 #include "services/buffer_view.h"
22 #include "data_management/data_source/data_source_dictionary.h"
23 
24 namespace daal
25 {
26 namespace data_management
27 {
31 namespace modifiers
32 {
36 namespace interface1
37 {
50 class ConfigIface
51 {
52 public:
53  virtual ~ConfigIface() { }
54 
59  virtual size_t getNumberOfInputFeatures() const = 0;
60 
66  virtual services::Status setNumberOfOutputFeatures(size_t numberOfOutputFeatures) = 0;
67 
74  virtual services::Status setOutputFeatureType(size_t outputFeatureIndex,
75  features::FeatureType featureType) = 0;
76 
83  virtual services::Status setNumberOfCategories(size_t outputFeatureIndex,
84  size_t numberOfCategories) = 0;
85 
92  virtual services::Status setCategoricalDictionary(size_t outputFeatureIndex,
93  const CategoricalFeatureDictionaryPtr &dictionary) = 0;
94 };
95 
100 class ContextIface
101 {
102 public:
103  virtual ~ContextIface() { }
104 
111  virtual services::BufferView<DAAL_DATA_TYPE> getOutputBuffer() const = 0;
112 };
113 
120 template<typename Config, typename Context>
121 class FeatureModifierIface
122 {
123 public:
124  virtual ~FeatureModifierIface() { }
125 
131  virtual void initialize(Config &config) = 0;
132 
139  virtual void apply(Context &context) = 0;
140 
146  virtual void finalize(Config &config) = 0;
147 };
148 
150 } // namespace interface1
151 
152 using interface1::ConfigIface;
153 using interface1::ContextIface;
154 using interface1::FeatureModifierIface;
155 
156 } // namespace modifiers
157 } // namespace data_management
158 } // namespace daal
159 
160 #endif
daal::data_management::modifiers::interface1::FeatureModifierIface::initialize
virtual void initialize(Config &config)=0
daal::data_management::modifiers::interface1::ConfigIface::getNumberOfInputFeatures
virtual size_t getNumberOfInputFeatures() const =0
daal::data_management::modifiers::interface1::ConfigIface::setNumberOfCategories
virtual services::Status setNumberOfCategories(size_t outputFeatureIndex, size_t numberOfCategories)=0
daal::data_management::modifiers::interface1::ContextIface::getOutputBuffer
virtual services::BufferView< DAAL_DATA_TYPE > getOutputBuffer() const =0
daal::data_management::modifiers::interface1::ConfigIface::setNumberOfOutputFeatures
virtual services::Status setNumberOfOutputFeatures(size_t numberOfOutputFeatures)=0
daal::data_management::modifiers::interface1::FeatureModifierIface
General feature modifier interface.
Definition: modifier.h:121
daal::data_management::modifiers::interface1::ContextIface
Abstract class that defines interface of modifier context.
Definition: modifier.h:100
daal::data_management::modifiers::interface1::ConfigIface::setCategoricalDictionary
virtual services::Status setCategoricalDictionary(size_t outputFeatureIndex, const CategoricalFeatureDictionaryPtr &dictionary)=0
daal::data_management::modifiers::interface1::FeatureModifierIface::finalize
virtual void finalize(Config &config)=0
daal::data_management::modifiers::interface1::FeatureModifierIface::apply
virtual void apply(Context &context)=0
daal::data_management::modifiers::interface1::ConfigIface::setOutputFeatureType
virtual services::Status setOutputFeatureType(size_t outputFeatureIndex, features::FeatureType featureType)=0
daal::data_management::modifiers::interface1::ConfigIface
Abstract class that defines interface of modifier configuration.
Definition: modifier.h:50

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