+ ss << brd << "\nFen: " << fen() << "\nKey: " << st->key << "\nCheckers: ";
+
+ for (Bitboard b = checkers(); b; )
+ ss << square_to_string(pop_lsb(&b)) << " ";
+
+ ss << "\nLegal moves: ";
+ for (MoveList<LEGAL> ml(*this); !ml.end(); ++ml)
+ ss << move_to_san(*const_cast<Position*>(this), ml.move()) << " ";