X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fposition.cpp;h=5b4dba70abc21fb7ad56c37dd0937ecfd24cbf28;hp=7d01cb60f10a293c78d354b357b9cd3bc6a09be3;hb=3de0bc43a272d1180a1710f5009de8aec450ed02;hpb=9fc602bae74b8e09bd45ace3b42a8ce84d56b23c diff --git a/src/position.cpp b/src/position.cpp index 7d01cb60..5b4dba70 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -87,7 +87,7 @@ Position::Position() {} Position::Position(const Position& pos) { - fast_copy(pos); + memcpy(this, &pos, sizeof(Position)); detach(); // Always detach() in copy c'tor to avoid surprises } @@ -97,19 +97,6 @@ Position::Position(const string& fen) { } -/// Position::fast_copy() creates a partial copy of the given position, -/// only data that changes with a do_move() / undo_move() cycle is copied, -/// in particular for stateInfo are copied only the pointers, so that the -/// actual data remains stored in the parent Position. This is not a problem -/// if the parent Position is known not to be destroyed while we are still alive, -/// as is the common case, see detach() otherwise. - -void Position::fast_copy(const Position& pos) { - - memcpy(this, &pos, sizeof(Position)); -} - - /// Position::detach() copies the content of the current state and castling /// masks inside the position itself. This is needed when the st pointee could /// become stale, as example because the caller is about to going out of scope.