00001 /* searchMove.h 00002 */ 00003 #ifndef _SEARCHMOVE_H 00004 #define _SEARCHMOVE_H 00005 00006 #include "osl/moveLogProb.h" 00007 00008 namespace osl 00009 { 00010 namespace search 00011 { 00012 class SimpleHashRecord; 00013 struct SearchMove : private MoveLogProb 00014 { 00015 mutable SimpleHashRecord *record; 00016 SearchMove() : record(0) 00017 { 00018 } 00019 explicit SearchMove(const MoveLogProb& move, SimpleHashRecord *r=0) 00020 : MoveLogProb(move), record(r) 00021 { 00022 } 00023 using MoveLogProb::getMove; 00024 using MoveLogProb::getLogProb; 00025 using MoveLogProb::validMove; 00026 using MoveLogProb::setLogProbAtMost; 00027 using MoveLogProb::setLogProbAtLeast; 00028 00029 const MoveLogProb moveLogProb() const { 00030 return static_cast<MoveLogProb>(*this); 00031 } 00032 }; 00033 } // namespace search 00034 } // namespace osl 00035 00036 #endif /* _SEARCHMOVE_H */ 00037 // ;;; Local Variables: 00038 // ;;; mode:c++ 00039 // ;;; c-basic-offset:2 00040 // ;;; End: