mirror of
https://github.com/opelly27/Stockfish.git
synced 2026-05-20 07:27:46 +00:00
Import C++11 branch
Import C++11 branch from: https://github.com/mcostalba/Stockfish/tree/c++11 The version imported is teh last one as of today: https://github.com/mcostalba/Stockfish/commit/6670e93e50a7a4e739ac2ac8b6026ffa3a12150a Branch is fully equivalent with master but syzygy tablebases that are missing (but will be added with next commit). bench: 8080602
This commit is contained in:
+5
-6
@@ -50,18 +50,17 @@ ExtMove* generate(const Position& pos, ExtMove* moveList);
|
||||
template<GenType T>
|
||||
struct MoveList {
|
||||
|
||||
explicit MoveList(const Position& pos) : cur(moveList), last(generate<T>(pos, moveList)) { last->move = MOVE_NONE; }
|
||||
void operator++() { ++cur; }
|
||||
Move operator*() const { return cur->move; }
|
||||
explicit MoveList(const Position& pos) : last(generate<T>(pos, moveList)) {}
|
||||
const ExtMove* begin() const { return moveList; }
|
||||
const ExtMove* end() const { return last; }
|
||||
size_t size() const { return last - moveList; }
|
||||
bool contains(Move m) const {
|
||||
for (const ExtMove* it(moveList); it != last; ++it) if (it->move == m) return true;
|
||||
for (const ExtMove& ms : *this) if (ms.move == m) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
private:
|
||||
ExtMove moveList[MAX_MOVES];
|
||||
ExtMove *cur, *last;
|
||||
ExtMove moveList[MAX_MOVES], *last;
|
||||
};
|
||||
|
||||
#endif // #ifndef MOVEGEN_H_INCLUDED
|
||||
|
||||
Reference in New Issue
Block a user