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

modifier.h
1 /* file: modifier.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_SOURCE_MODIFIERS_MODIFIER_H__
17 #define __DATA_SOURCE_MODIFIERS_MODIFIER_H__
18 
19 #include "services/buffer_view.h"
20 #include "data_management/data_source/data_source_dictionary.h"
21 
22 namespace daal
23 {
24 namespace data_management
25 {
29 namespace modifiers
30 {
34 namespace interface1
35 {
48 class ConfigIface
49 {
50 public:
51  virtual ~ConfigIface() { }
52 
57  virtual size_t getNumberOfInputFeatures() const = 0;
58 
64  virtual services::Status setNumberOfOutputFeatures(size_t numberOfOutputFeatures) = 0;
65 
72  virtual services::Status setOutputFeatureType(size_t outputFeatureIndex,
73  features::FeatureType featureType) = 0;
74 
81  virtual services::Status setNumberOfCategories(size_t outputFeatureIndex,
82  size_t numberOfCategories) = 0;
83 
90  virtual services::Status setCategoricalDictionary(size_t outputFeatureIndex,
91  const CategoricalFeatureDictionaryPtr &dictionary) = 0;
92 };
93 
98 class ContextIface
99 {
100 public:
101  virtual ~ContextIface() { }
102 
109  virtual services::BufferView<DAAL_DATA_TYPE> getOutputBuffer() const = 0;
110 };
111 
118 template<typename Config, typename Context>
119 class FeatureModifierIface
120 {
121 public:
122  virtual ~FeatureModifierIface() { }
123 
129  virtual void initialize(Config &config) = 0;
130 
137  virtual void apply(Context &context) = 0;
138 
144  virtual void finalize(Config &config) = 0;
145 };
146 
148 } // namespace interface1
149 
150 using interface1::ConfigIface;
151 using interface1::ContextIface;
152 using interface1::FeatureModifierIface;
153 
154 } // namespace modifiers
155 } // namespace data_management
156 } // namespace daal
157 
158 #endif
daal::data_management::modifiers::interface1::ConfigIface::getNumberOfInputFeatures
virtual size_t getNumberOfInputFeatures() const =0
daal::data_management::modifiers::interface1::FeatureModifierIface
General feature modifier interface.
Definition: modifier.h:119
daal
Definition: algorithm_base_common.h:31
daal::data_management::modifiers::interface1::ConfigIface::setCategoricalDictionary
virtual services::Status setCategoricalDictionary(size_t outputFeatureIndex, const CategoricalFeatureDictionaryPtr &dictionary)=0
daal::data_management::modifiers::interface1::ContextIface
Abstract class that defines interface of modifier context.
Definition: modifier.h:98
daal::data_management::modifiers::interface1::ContextIface::getOutputBuffer
virtual services::BufferView< DAAL_DATA_TYPE > getOutputBuffer() const =0
daal::data_management::modifiers::interface1::FeatureModifierIface::initialize
virtual void initialize(Config &config)=0
daal::data_management::modifiers::interface1::FeatureModifierIface::finalize
virtual void finalize(Config &config)=0
daal::data_management::modifiers::interface1::ConfigIface::setNumberOfOutputFeatures
virtual services::Status setNumberOfOutputFeatures(size_t numberOfOutputFeatures)=0
daal::data_management::modifiers::interface1::ConfigIface
Abstract class that defines interface of modifier configuration.
Definition: modifier.h:48
daal::data_management::modifiers::interface1::ConfigIface::setOutputFeatureType
virtual services::Status setOutputFeatureType(size_t outputFeatureIndex, features::FeatureType featureType)=0
daal::data_management::modifiers::interface1::ConfigIface::setNumberOfCategories
virtual services::Status setNumberOfCategories(size_t outputFeatureIndex, size_t numberOfCategories)=0
daal::data_management::modifiers::interface1::FeatureModifierIface::apply
virtual void apply(Context &context)=0

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