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

sorting_types.h
1 /* file: sorting_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 // Definition of common types of sorting.
19 //--
20 */
21 
22 #ifndef __SORTING_TYPES_H__
23 #define __SORTING_TYPES_H__
24 
25 #include "data_management/data/homogen_numeric_table.h"
26 
27 namespace daal
28 {
29 namespace algorithms
30 {
40 namespace sorting
41 {
46 enum Method
47 {
48  defaultDense = 0
49 };
50 
55 enum InputId
56 {
57  data,
58  lastInputId = data
59 };
60 
65 enum ResultId
66 {
67  sortedData,
68  lastResultId = sortedData
69 };
70 
74 namespace interface1
75 {
80 class DAAL_EXPORT Input : public daal::algorithms::Input
81 {
82 public:
83  Input();
84  Input(const Input& other);
85 
86  virtual ~Input() {}
87 
93  data_management::NumericTablePtr get(InputId id) const;
94 
100  void set(InputId id, const data_management::NumericTablePtr &ptr);
101 
107  virtual services::Status check(const Parameter *par, int method) const DAAL_C11_OVERRIDE;
108 };
109 
115 class DAAL_EXPORT Result : public daal::algorithms::Result
116 {
117 public:
118  DECLARE_SERIALIZABLE_CAST(Result);
119  Result();
120 
121  virtual ~Result() {};
122 
128  template <typename algorithmFPType>
129  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const int method);
130 
136  data_management::NumericTablePtr get(ResultId id) const;
137 
143  void set(ResultId id, const data_management::NumericTablePtr &value);
144 
151  virtual services::Status check(const daal::algorithms::Input *in, const Parameter *par, int method) const DAAL_C11_OVERRIDE;
152 
153 protected:
155  template<typename Archive, bool onDeserialize>
156  services::Status serialImpl(Archive *arch)
157  {
158  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
159  }
160 };
161 typedef services::SharedPtr<Result> ResultPtr;
162 
164 } // namespace interface1
165 using interface1::Input;
166 using interface1::Result;
167 using interface1::ResultPtr;
168 
169 } // namespace daal::algorithms::sorting
170 } // namespace daal::algorithms
171 } // namespace daal
172 #endif
daal::algorithms::sorting::Method
Method
Definition: sorting_types.h:46
daal::algorithms::sorting::data
Definition: sorting_types.h:57
daal
Definition: algorithm_base_common.h:31
daal::algorithms::sorting::interface1::Input
Input objects for the sorting algorithm
Definition: sorting_types.h:80
daal::algorithms::sorting::sortedData
Definition: sorting_types.h:67
daal::algorithms::sorting::defaultDense
Definition: sorting_types.h:48
daal::algorithms::sorting::ResultId
ResultId
Definition: sorting_types.h:65
daal::algorithms::sorting::interface1::Result
Provides methods to access final results obtained with the compute() method of the sorting algorithm ...
Definition: sorting_types.h:115
daal::algorithms::sorting::InputId
InputId
Definition: sorting_types.h:55
daal::algorithms::math::abs::value
Definition: abs_types.h:86

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