MLPACK  1.0.4
edge_pair.hpp
Go to the documentation of this file.
00001 
00024 #ifndef __MLPACK_METHODS_EMST_EDGE_PAIR_HPP
00025 #define __MLPACK_METHODS_EMST_EDGE_PAIR_HPP
00026 
00027 #include <mlpack/core.hpp>
00028 
00029 #include "union_find.hpp"
00030 
00031 namespace mlpack {
00032 namespace emst {
00033 
00038 class EdgePair
00039 {
00040  private:
00042   size_t lesser;
00044   size_t greater;
00046   double distance;
00047 
00048  public:
00055   EdgePair(const size_t lesser, const size_t greater, const double dist) :
00056       lesser(lesser), greater(greater), distance(dist)
00057   {
00058     Log::Assert(lesser != greater,
00059         "EdgePair::EdgePair(): indices cannot be equal.");
00060   }
00061 
00063   size_t Lesser() const { return lesser; }
00065   size_t& Lesser() { return lesser; }
00066 
00068   size_t Greater() const { return greater; }
00070   size_t& Greater() { return greater; }
00071 
00073   double Distance() const { return distance; }
00075   double& Distance() { return distance; }
00076 
00077 }; // class EdgePair
00078 
00079 }; // namespace emst
00080 }; // namespace mlpack
00081 
00082 #endif // __MLPACK_METHODS_EMST_EDGE_PAIR_HPP