IClassificationMatrix.hpp
1 #pragma once
2 
3 
4 #include "DM/config.hpp"
5 #include "DM/Handle.hpp"
6 #include "DM/ObjectBase.hpp"
7 #include "DM/Iterator.hpp"
8 
9 DM_NAMESPACE_BEGIN
10 
11 /// \brief Element of a cross classification matrix
12 class DM_API IClassificationElement : public ObjectBase
13 {
14 protected:
15  virtual ~IClassificationElement() {}
16 
17 public:
18  virtual int trueId() const = 0; ///< true class id
19  virtual int estimatedId() const = 0; ///< estimated class id
20  virtual int64_t counter() const = 0; ///< number of elements in this element
21 };
22 
24 
25 /// \brief Object for storing a cross classification matrix
26 class DM_API IClassificationMatrix : public ObjectBase
27 {
28 public:
29  static IClassificationMatrix* New(); //create a new object
30 
32 
33 protected:
34  virtual ~IClassificationMatrix() {}
35 
36 public:
37  virtual bool exist(int trueId, int estimatedId) const = 0;
38  virtual const IClassificationElement& get(int trueId, int estimatedId) const = 0;
39  virtual void increase(int trueId, int estimatedId, int64_t inc = 1) = 0;
40 
41  virtual const_iterator beginIds() const = 0;
42  virtual const_iterator endIds() const = 0;
43 };
44 
46 
47 
48 DM_NAMESPACE_END
Definition: Iterator.hpp:96
Object for storing a cross classification matrix.
Definition: IClassificationMatrix.hpp:26
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
Definition: M/c++_api/inc/DM/ObjectBase.hpp:8
Element of a cross classification matrix.
Definition: IClassificationMatrix.hpp:12