00001 /* ratedMoveVector.cc 00002 */ 00003 #include "osl/rating/ratedMoveVector.h" 00004 #include <algorithm> 00005 #include <functional> 00006 #include <iostream> 00007 00008 #ifndef MINIMAL 00009 std::ostream& osl::rating::operator<<(std::ostream& os, RatedMoveVector const& mv) 00010 { 00011 os<< "RatedMoves" << std::endl; 00012 for (const auto& move: mv) { 00013 os << move << std::endl; 00014 } 00015 return os << std::endl; 00016 } 00017 #endif 00018 00019 bool osl::rating::operator==(const RatedMoveVector& l, const RatedMoveVector& r) 00020 { 00021 return l.size() == r.size() 00022 && std::equal(l.begin(), l.end(), r.begin()); 00023 } 00024 00025 void osl::rating::RatedMoveVector::sort() 00026 { 00027 std::sort(begin(), end(), std::greater<RatedMove>()); 00028 } 00029 00030 const osl::rating::RatedMove* osl::rating::RatedMoveVector::find(Move m) const 00031 { 00032 for (const_iterator p=begin(); p!=end(); ++p) 00033 if (p->move() == m) 00034 return &*p; 00035 return 0; 00036 } 00037 00038 /* ------------------------------------------------------------------------- */ 00039 // ;;; Local Variables: 00040 // ;;; mode:c++ 00041 // ;;; c-basic-offset:2 00042 // ;;; End: 00043