1 #ifndef HLVARIANT__CHESS__SAN_H
2 #define HLVARIANT__CHESS__SAN_H
14 class TAGUA_EXPORT SAN
{
15 friend std::ostream
& operator<<(std::ostream
& os
, const SAN
& move
);
17 static QRegExp pattern
;
18 static QRegExp kingCastlingPattern
;
19 static QRegExp queenCastlingPattern
;
20 static QRegExp nonePattern
;
31 static int getType(const QString
& letter
);
33 void load(const QString
&, int& offset
, int ysize
);
34 void load(const QString
&, int ysize
);
39 CastlingType castling
;
42 inline bool invalid() const { return (to
== Point::invalid()) && (castling
== NoCastling
); }
43 inline bool valid() const { return !invalid(); }
47 } // namespace HLVariant
49 #endif // HLVARIANT__CHESS__SAN_H