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

algorithm_quality_metric_set_types.h
1 /* file: algorithm_quality_metric_set_types.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 /*
17 //++
18 // Interface for the quality metric set.
19 //--
20 */
21 
22 #ifndef __ALGORITHM_QUALITY_METRIC_SET_TYPES_H__
23 #define __ALGORITHM_QUALITY_METRIC_SET_TYPES_H__
24 
25 #include "data_management/data/input_collection.h"
26 #include "algorithms/algorithm_quality_metric_batch.h"
27 
28 namespace daal
29 {
30 namespace algorithms
31 {
32 namespace quality_metric_set
33 {
34 
38 namespace interface1
39 {
48 class DAAL_EXPORT InputAlgorithmsCollection
49 {
50 public:
55  InputAlgorithmsCollection(size_t n = 0);
56 
57  virtual ~InputAlgorithmsCollection();
58 
64  const services::SharedPtr<quality_metric::Batch>& operator[](size_t k) const;
65 
72  services::SharedPtr<quality_metric::Batch>& operator[](size_t k);
73 
78  size_t size() const;
79 
83  void clear();
84 
90  size_t getKeyByIndex(int idx);
91 
92 protected:
93  services::Collection<services::SharedPtr<quality_metric::Batch> > _qualityMetrics;
94  services::Collection<size_t> _keys;
95  services::SharedPtr<quality_metric::Batch> *nullPtr;
96 };
97 
102 class DAAL_EXPORT InputDataCollection : public data_management::KeyValueInputCollection
103 {
104 public:
105  InputDataCollection();
106 
112  void add(size_t k, const algorithms::InputPtr& ptr);
113 
119  algorithms::InputPtr getInput(size_t key) const;
120 
121  virtual ~InputDataCollection() {}
122 };
123 typedef services::SharedPtr<InputDataCollection> InputDataCollectionPtr;
124 
129 class DAAL_EXPORT ResultCollection : public data_management::KeyValueDataCollection
130 {
131 public:
132  ResultCollection();
133 
134  void add(size_t key, const algorithms::ResultPtr& ptr);
135 
136  algorithms::ResultPtr getResult(size_t key) const;
137 
138  virtual ~ResultCollection() {}
139 };
140 typedef services::SharedPtr<ResultCollection> ResultCollectionPtr;
142 } // namespace interface1
143 using interface1::InputAlgorithmsCollection;
144 using interface1::InputDataCollection;
145 using interface1::InputDataCollectionPtr;
146 using interface1::ResultCollection;
147 using interface1::ResultCollectionPtr;
148 
149 } // namespace quality_metric_set
150 } // namespace algorithms
151 } // namespace daal
152 #endif
daal
Definition: algorithm_base_common.h:31
daal::algorithms::quality_metric_set::interface1::InputDataCollection
Class that implements functionality of the collection of input objects of the quality metrics algorit...
Definition: algorithm_quality_metric_set_types.h:102
daal::algorithms::quality_metric_set::interface1::InputAlgorithmsCollection
Class that implements functionality of the collection of quality metrics algorithms.
Definition: algorithm_quality_metric_set_types.h:48
daal::algorithms::quality_metric_set::interface1::ResultCollection
Class that implements functionality of the collection of result objects of the quality metrics algori...
Definition: algorithm_quality_metric_set_types.h:129

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