MLPACK  1.0.7
edge_pair.hpp
Go to the documentation of this file.
1 
24 #ifndef __MLPACK_METHODS_EMST_EDGE_PAIR_HPP
25 #define __MLPACK_METHODS_EMST_EDGE_PAIR_HPP
26 
27 #include <mlpack/core.hpp>
28 
29 #include "union_find.hpp"
30 
31 namespace mlpack {
32 namespace emst {
33 
38 class EdgePair
39 {
40  private:
42  size_t lesser;
44  size_t greater;
46  double distance;
47 
48  public:
55  EdgePair(const size_t lesser, const size_t greater, const double dist) :
56  lesser(lesser), greater(greater), distance(dist)
57  {
58  Log::Assert(lesser != greater,
59  "EdgePair::EdgePair(): indices cannot be equal.");
60  }
61 
63  size_t Lesser() const { return lesser; }
65  size_t& Lesser() { return lesser; }
66 
68  size_t Greater() const { return greater; }
70  size_t& Greater() { return greater; }
71 
73  double Distance() const { return distance; }
75  double& Distance() { return distance; }
76 
77 }; // class EdgePair
78 
79 }; // namespace emst
80 }; // namespace mlpack
81 
82 #endif // __MLPACK_METHODS_EMST_EDGE_PAIR_HPP