This file is indexed.

/usr/include/osl/effect_util/unblockableCheck.h is in libosl-dev 0.6.0-3.

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
49
/* unblockableCheck.h
 */
#ifndef _UNBLOCKABLECHECK_H
#define _UNBLOCKABLECHECK_H

#include "osl/state/numEffectState.h"
namespace osl
{
  namespace effect_util
  {

    struct UnblockableCheck
    {
      /**
       * target の王に合駒可能でない王手がかかっているかどうか.
       * - 両王手 => 真
       * - unblockable な利きだけ => 真
       * - blockable な利きだけ => 偽
       * - 王手でない => 偽
       */
      static bool isMember(Player target, const NumEffectState& state)
      {
	const Square king_position = state.kingSquare(target);
	Piece attacker_piece;
	if (state.hasEffectAt(alt(target), king_position, attacker_piece))
	{
	  if (attacker_piece == Piece::EMPTY())
	    return true;	// multiple pieces

	  // sigle check
	  const Square from = attacker_piece.square();
	  const EffectContent effect
	    = Ptype_Table.getEffect(attacker_piece.ptypeO(), 
				   from, king_position);
	  return effect.hasUnblockableEffect();
	}
	// no check
	return false;
      }
    };
    
  } // namespace effect_util
} // namespace osl

#endif /* _UNBLOCKABLECHECK_H */
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; End: