/usr/include/osl/checkmate/proofPiecesUtil.h is in libosl-dev 0.6.0-3.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | /* proofPiecesUtil.h
*/
#ifndef OSL_PROOFPIECESUTIL_H
#define OSL_PROOFPIECESUTIL_H
#include "osl/pieceStand.h"
#include "osl/state/simpleState.h"
#include <boost/foreach.hpp>
namespace osl
{
namespace checkmate
{
class CheckMoveList;
/**
* ProofPieces と DisproofPieces に共通の関数
*/
struct ProofPiecesUtil
{
/**
* alt(player) が持っていない種類の持駒を playerが持っていたら
* out に独占分を加算する.
*/
static
void addMonopolizedPieces(const SimpleState& state, Player player,
const PieceStand max, PieceStand& out)
{
const Player opponent = alt(player);
BOOST_FOREACH(Ptype ptype, PieceStand::order)
{
if (! state.hasPieceOnStand(opponent, ptype))
{
const int diff = max.get(ptype) - out.get(ptype);
assert(diff >= 0);
if (diff)
out.add(ptype, diff);
}
}
}
};
} // namespace checkmate
} // osl
#endif /* OSL_PROOFPIECESUTIL_H */
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; End:
|