クラス osl::game_playing::SpeculativeAllMoves::SearchAllMoves

指手を生成し,結果をresultsにためる. run を別threadで動かすことを想定しているが,逐次でもテスト可 [詳細]

#include <speculativeAllMoves.h>

osl::game_playing::SpeculativeAllMoves::SearchAllMovesのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

構成

struct  Generator
struct  StatusLock

Public 型

enum  Status {
  INITIAL, RUNNING, PREDICTION1, PREDICTION2,
  SEARCH1, SEARCH2, FINISHED
}

Public メソッド

 SearchAllMoves (SpeculativeAllMoves::ResultVector &)
 ~SearchAllMoves ()
void setUp (const GameState &, const SearchPlayer &, int standard_seconds, bool has_byoyomi)
void run ()
void stopNow ()
void stopOtherThan (Move)
void waitRunning ()
bool isFinished () const
void setTimeAssign (const search::TimeAssigned &)
const MilliSeconds startTime ()
const Move currentMove () const
SearchPlayercurrentPlayer ()

Private 型

typedef boost::mutex Mutex

Private メソッド

const MoveWithComment testMove (Move)

Private 変数

boost::shared_ptr< GameStatestate
boost::shared_ptr< SearchPlayerplayer
boost::scoped_ptr< Generatorgenerator
SpeculativeAllMoves::ResultVectorresults
Move current_move
volatile Status status
int seconds
Mutex mutex
boost::condition condition
volatile bool stop_flag
 true なら次の予想探索にはいらない

フレンド

class Generator
class SpeculativeAllMoves

説明

指手を生成し,結果をresultsにためる. run を別threadで動かすことを想定しているが,逐次でもテスト可

speculativeAllMoves.h91 行で定義されています。


型定義

speculativeAllMoves.h108 行で定義されています。


列挙型

列挙型の値:
INITIAL 
RUNNING 
PREDICTION1 
PREDICTION2 
SEARCH1 
SEARCH2 
FINISHED 

speculativeAllMoves.h94 行で定義されています。


コンストラクタとデストラクタ

osl::game_playing::SpeculativeAllMoves::SearchAllMoves::SearchAllMoves ( SpeculativeAllMoves::ResultVector r  )  [explicit]

speculativeAllMoves.cc158 行で定義されています。

osl::game_playing::SpeculativeAllMoves::SearchAllMoves::~SearchAllMoves (  ) 

speculativeAllMoves.cc165 行で定義されています。


関数

const osl::Move osl::game_playing::SpeculativeAllMoves::SearchAllMoves::currentMove (  )  const

speculativeAllMoves.cc342 行で定義されています。

参照先 current_move, と mutex.

参照元 stopOtherThan().

SearchPlayer* osl::game_playing::SpeculativeAllMoves::SearchAllMoves::currentPlayer (  )  [inline]

speculativeAllMoves.h131 行で定義されています。

参照先 player.

bool osl::game_playing::SpeculativeAllMoves::SearchAllMoves::isFinished (  )  const [inline]

speculativeAllMoves.h125 行で定義されています。

参照先 FINISHED, と status.

void osl::game_playing::SpeculativeAllMoves::SearchAllMoves::run (  ) 
void osl::game_playing::SpeculativeAllMoves::SearchAllMoves::setTimeAssign ( const search::TimeAssigned new_assign  ) 

speculativeAllMoves.cc322 行で定義されています。

参照先 FINISHED, player, status, と waitRunning().

void osl::game_playing::SpeculativeAllMoves::SearchAllMoves::setUp ( const GameState main_state,
const SearchPlayer main_player,
int  standard_seconds,
bool  has_byoyomi 
)
const osl::MilliSeconds osl::game_playing::SpeculativeAllMoves::SearchAllMoves::startTime (  ) 

speculativeAllMoves.cc331 行で定義されています。

参照先 FINISHED, player, status, と waitRunning().

void osl::game_playing::SpeculativeAllMoves::SearchAllMoves::stopNow (  ) 

speculativeAllMoves.cc295 行で定義されています。

参照先 FINISHED, player, status, stop_flag, と waitRunning().

参照元 stopOtherThan().

void osl::game_playing::SpeculativeAllMoves::SearchAllMoves::stopOtherThan ( Move  the_move  ) 
const osl::search::MoveWithComment osl::game_playing::SpeculativeAllMoves::SearchAllMoves::testMove ( Move  predicted_move  )  [private]
void osl::game_playing::SpeculativeAllMoves::SearchAllMoves::waitRunning (  ) 

speculativeAllMoves.cc310 行で定義されています。

参照先 condition, INITIAL, mutex, player, と status.

参照元 setTimeAssign(), startTime(), と stopNow().


フレンドと関連する関数

friend class Generator [friend]

speculativeAllMoves.h97 行で定義されています。

参照元 setUp().

friend class SpeculativeAllMoves [friend]

speculativeAllMoves.h99 行で定義されています。


変数

speculativeAllMoves.h110 行で定義されています。

参照元 run(), と waitRunning().

speculativeAllMoves.h105 行で定義されています。

参照元 currentMove(), と testMove().

speculativeAllMoves.h103 行で定義されています。

参照元 run(), と setUp().

speculativeAllMoves.h109 行で定義されています。

参照元 currentMove(), run(), testMove(), と waitRunning().

speculativeAllMoves.h104 行で定義されています。

参照元 run().

speculativeAllMoves.h107 行で定義されています。

参照元 setUp(), と testMove().

speculativeAllMoves.h101 行で定義されています。

参照元 setUp(), と testMove().

speculativeAllMoves.h106 行で定義されています。

参照元 isFinished(), run(), setTimeAssign(), startTime(), stopNow(), testMove(), と waitRunning().

true なら次の予想探索にはいらない

speculativeAllMoves.h112 行で定義されています。

参照元 run(), stopNow(), stopOtherThan(), と testMove().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:58:20 2010に生成されました。  doxygen 1.6.3