19 : u_bmove{std::move(bm.u_bmove)}
47 u_bmove = std::move(bm.u_bmove);
51bBasicMove::operator std::string()
const
53 return bCase(from()).operator std::string()
54 +
bCase(to()).operator std::string()
55 + getPromotionDecorationStr();
58std::string
const bBasicMove::getPromotionDecorationStr()
const
75 os << m.operator std::string();
90 , m_score{std::move(m.m_score)}
106 m_score = std::move(m.m_score);
126 if (
isEPMove()) str += (str !=
"") ?
" e.p." :
"e.p.";
127 else if (
isCapture()) str += (str !=
"") ?
" x" :
"x";
129 if (str !=
"") str +=
" ";
130 str += belofte::scoreAsStr(m_score);
132 if (str !=
"")
return " {" + str +
"}";
170 throw std::logic_error(
"getWhitePromotionPiece called with tPiece::FIELD_EMPTY");
184 throw std::logic_error(
"getBlackPromotionPiece called with tPiece::FIELD_EMPTY");
This is the main include file, needs to be included before any other include.
bBasicMove(bBasicMove const &bm)
bBasicMove & operator=(bBasicMove &&bm)
position on board, defined as 255 if invalid used primarily to compose a move or a source or destinat...
piece_t getBlackPromotionPiece() const
bool isMajorPromotion() const
test if major promotion or mating promotion (queen, knight) if minor promotion, move is considered as...
std::string getMoveEvalStr() const
piece_t getWhitePromotionPiece() const
bMove & operator=(bMove &&m)
bool operator>(bMove const &r) const
bool isEndOfGame() const
Flag if mated.
constexpr bScore SCORE_MATE
constexpr bScore SCORE_PUNDEFINED
constexpr bScore SCORE_CONVERGE_BYDEPTH
constexpr bScore SCORE_POSITIVE
constexpr bScore SCORE_THEORETIC_DRAW
std::ostream & operator<<(std::ostream &os, bBasicMove const &m)
bScore realScore(bScore const sc)