+/// The LimitsType struct stores information sent by GUI about available time
+/// to search the current move, maximum depth/time, if we are in analysis mode
+/// or if we have to ponder while it's our opponent's turn to move.
+
+struct LimitsType {
+
+ LimitsType() { // Using memset on a std::vector is undefined behavior
+ time[WHITE] = time[BLACK] = inc[WHITE] = inc[BLACK] = movestogo =
+ depth = nodes = movetime = mate = infinite = ponder = 0;
+ }
+ bool use_time_management() const { return !(mate | movetime | depth | nodes | infinite); }
+
+ std::vector<Move> searchmoves;
+ int time[COLOR_NB], inc[COLOR_NB], movestogo, depth, nodes, movetime, mate, infinite, ponder;
+};