クラス 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
SearchPlayer * currentPlayer ()

Private 型

typedef boost::mutex Mutex

Private メソッド

const MoveWithComment testMove (Move)

Private 変数

boost::shared_ptr< GameState > state
boost::shared_ptr< SearchPlayer > player
boost::scoped_ptr< Generator > generator
SpeculativeAllMoves::ResultVector & results
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.h の 91 行で定義されています。


型定義

speculativeAllMoves.h の 108 行で定義されています。


列挙型

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

speculativeAllMoves.h の 94 行で定義されています。


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

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

speculativeAllMoves.cc の 158 行で定義されています。

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

speculativeAllMoves.cc の 165 行で定義されています。


関数

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

speculativeAllMoves.cc の 342 行で定義されています。

参照先 current_move, と mutex.

参照元 stopOtherThan().

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

speculativeAllMoves.h の 131 行で定義されています。

参照先 player.

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

speculativeAllMoves.h の 125 行で定義されています。

参照先 FINISHED, と status.

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

speculativeAllMoves.cc の 322 行で定義されています。

参照先 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.cc の 331 行で定義されています。

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

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

speculativeAllMoves.cc の 295 行で定義されています。

参照先 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.cc の 310 行で定義されています。

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

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


フレンドと関連する関数

friend class Generator [friend]

speculativeAllMoves.h の 97 行で定義されています。

参照元 setUp().

friend class SpeculativeAllMoves [friend]

speculativeAllMoves.h の 99 行で定義されています。


変数

speculativeAllMoves.h の 110 行で定義されています。

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

speculativeAllMoves.h の 105 行で定義されています。

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

speculativeAllMoves.h の 103 行で定義されています。

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

speculativeAllMoves.h の 109 行で定義されています。

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

speculativeAllMoves.h の 104 行で定義されています。

参照元 run().

speculativeAllMoves.h の 107 行で定義されています。

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

speculativeAllMoves.h の 101 行で定義されています。

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

speculativeAllMoves.h の 106 行で定義されています。

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

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

speculativeAllMoves.h の 112 行で定義されています。

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


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