#define SEARCH_H_INCLUDED
#include <cstring>
+#include <memory>
+#include <stack>
#include <vector>
#include "misc.h"
+#include "position.h"
#include "types.h"
-class Position;
struct SplitPoint;
namespace Search {
bool stopOnPonderhit, firstRootMove, stop, failedLowAtRoot;
};
+typedef std::auto_ptr<std::stack<StateInfo> > StateStackPtr;
+
extern volatile SignalsType Signals;
extern LimitsType Limits;
extern std::vector<RootMove> RootMoves;
extern Position RootPosition;
extern Time SearchTime;
+extern StateStackPtr SetupStates;
extern void init();
-extern int64_t perft(Position& pos, Depth depth);
+extern size_t perft(Position& pos, Depth depth);
extern void think();
} // namespace Search