/usr/include/osl/annotate/analyzer.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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | /* analyzer.h
*/
#ifndef OSL_ANNOTATE_ANALYZER_H
#define OSL_ANNOTATE_ANALYZER_H
#include "osl/annotate/analysesResult.h"
#include "osl/state/numEffectState.h"
#include "osl/stl/vector.h"
namespace osl
{
namespace annotate
{
class Analyzer
{
public:
virtual ~Analyzer();
virtual void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move)=0;
static Trivalent isCheckmate(NumEffectState& state, Move& best_move, bool attack=true,
size_t *node_count=0);
};
/** 千日手模様(同一局面)の検知 */
class RepetitionAnalyzer : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
};
/** 指した王手が正解で詰み */
class CheckmateAnalyzer : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
};
/** 手番側が正しく指せば詰み */
class CheckmateWin : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
};
class EscapeFromCheck : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
static bool matchMain(const NumEffectState& src, const vector<Move>& moves,
int last_move);
};
class ThreatmateAnalyzer : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
};
class CheckmateForCapture : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
};
class CheckmateForEscape : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
};
class ThreatmateIfMorePieces : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
static bool suitable(const NumEffectState& state, Piece p);
};
class Vision3 : public Analyzer
{
public:
void match(AnalysesResult&,
const NumEffectState& src, const vector<Move>& moves,
int last_move);
};
}
}
#endif /* OSL_ANNOTATE_ANALYZER_H */
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; coding:utf-8
// ;;; End:
|